diff options
Diffstat (limited to 'workflow/workflow-bdd')
-rw-r--r-- | workflow/workflow-bdd/features/VersionState.feature (renamed from workflow/workflow-bdd/features/Version_State.feature) | 14 | ||||
-rw-r--r-- | workflow/workflow-bdd/features/Version_Create_Update.feature | 53 | ||||
-rw-r--r-- | workflow/workflow-bdd/features/Workflow.feature | 25 | ||||
-rw-r--r-- | workflow/workflow-bdd/features/WorkflowList.feature | 79 | ||||
-rw-r--r-- | workflow/workflow-bdd/features/Workflow_Create_Update.feature | 27 | ||||
-rw-r--r-- | workflow/workflow-bdd/pom.xml | 6 | ||||
-rw-r--r-- | workflow/workflow-bdd/resources/json/createWorkflow.json | 5 | ||||
-rw-r--r-- | workflow/workflow-bdd/stepDefinitions/General_Steps.js | 6 | ||||
-rw-r--r-- | workflow/workflow-bdd/stepDefinitions/InputData_steps.js | 10 | ||||
-rw-r--r-- | workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js | 16 |
10 files changed, 185 insertions, 56 deletions
diff --git a/workflow/workflow-bdd/features/Version_State.feature b/workflow/workflow-bdd/features/VersionState.feature index 8c1e13fd..c869d146 100644 --- a/workflow/workflow-bdd/features/Version_State.feature +++ b/workflow/workflow-bdd/features/VersionState.feature @@ -1,3 +1,17 @@ +# Copyright © 2018 European Support Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + Feature: Workflow Version State Background: Create workflow and first version diff --git a/workflow/workflow-bdd/features/Version_Create_Update.feature b/workflow/workflow-bdd/features/Version_Create_Update.feature index 2cb05804..d2a9ec9d 100644 --- a/workflow/workflow-bdd/features/Version_Create_Update.feature +++ b/workflow/workflow-bdd/features/Version_Create_Update.feature @@ -1,28 +1,43 @@ +# Copyright © 2018 European Support Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + Feature: Workflow Versions Background: Init Given I want to create a Workflow - Scenario: Create and get version + Scenario: Create first empty version When I want to create input data - Then I want to update the input property "description" with value "workflow version description" - Then I want to create for path "/workflows/{item.id}/versions" with the input data from the context - Then I want to copy to property "versionId" from response data path "id" - Then I want to get path "/workflows/{item.id}/versions/{versionId}" - Then I want to check that property "id" in the response equals to value of saved property "versionId" - - When I want to get path "/workflows/{item.id}/versions" - Then I want to check that element in the response list with "id" equals to value of saved property "versionId" exists + And I want to update the input property "description" with value "first empty version" + And I want to create for path "/workflows/{item.id}/versions" with the input data from the context + And I want to copy to property "item.versionId" from response data path "id" + Then I want to get path "/workflows/{item.id}/versions/{item.versionId}" + And I want to check that property "id" in the response equals to value of saved property "item.versionId" + And I want to get path "/workflows/{item.id}/versions" + And I want to check that element in the response list with "id" equals to value of saved property "item.versionId" exists Scenario: Update version - When I want to create input data - Then I want to update the input property "description" with value "workflow version description" - Then I want to create for path "/workflows/{item.id}/versions" with the input data from the context - Then I want to copy to property "versionId" from response data path "id" - - Then I want to update the input property "description" with value "workflow version description updated" - Then I want to set property "desc" to value "workflow version description updated" - Then I want to update for path "/workflows/{item.id}/versions/{versionId}" with the input data from the context - Then I want to get path "/workflows/{item.id}/versions/{versionId}" - Then I want to check that property "description" in the response equals to value of saved property "desc"
\ No newline at end of file + And I want to create input data + And I want to update the input property "description" with value "workflow version description" + And I want to create for path "/workflows/{item.id}/versions" with the input data from the context + And I want to copy to property "item.versionId" from response data path "id" + + When I want to set property "updatedDesc" to value "workflow version description updated" + And I want to update the input property "description" with value of property "updatedDesc" + And I want to update for path "/workflows/{item.id}/versions/{item.versionId}" with the input data from the context + + Then I want to get path "/workflows/{item.id}/versions/{item.versionId}" + And I want to check that property "description" in the response equals to value of saved property "updatedDesc"
\ No newline at end of file diff --git a/workflow/workflow-bdd/features/Workflow.feature b/workflow/workflow-bdd/features/Workflow.feature new file mode 100644 index 00000000..b234fdb7 --- /dev/null +++ b/workflow/workflow-bdd/features/Workflow.feature @@ -0,0 +1,25 @@ +# Copyright © 2018 European Support Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +Feature: Workflow + + Scenario: Create valid + When I want to create a Workflow + + Scenario: Update and Get workflow + When I want to create a Workflow + Then I want to update the input property "description" with value "workflow desc updated" + Then I want to update for path "/workflows/{item.id}" with the input data from the context + Then I want to get path "/workflows/{item.id}" + Then I want to check that property "description" in the response equals to value of saved property "inputData.description" diff --git a/workflow/workflow-bdd/features/WorkflowList.feature b/workflow/workflow-bdd/features/WorkflowList.feature new file mode 100644 index 00000000..85261f5c --- /dev/null +++ b/workflow/workflow-bdd/features/WorkflowList.feature @@ -0,0 +1,79 @@ +# Copyright © 2018 European Support Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +Feature: List Workflows + + Background: Init - create various workflows in order to test list filter + Given I want to create a Workflow + And I want to copy to property "noVersionsWorkflowId" from response data path "id" + + Given I want to create a Workflow + And I want to copy to property "draftVersionWorkflowId" from response data path "id" + And I want to update the input property "description" with value "first version" + And I want to create for path "/workflows/{item.id}/versions" with the input data from the context + + Given I want to create a Workflow + And I want to copy to property "certifiedVersionWorkflowId" from response data path "id" + And I want to update the input property "description" with value "first version" + And I want to create for path "/workflows/{item.id}/versions" with the input data from the context + And I want to update the input property "name" with value "CERTIFIED" + And I want to create for path "/workflows/{item.id}/versions/{responseData.id}/state" with the input data from the context + + Given I want to create a Workflow + And I want to copy to property "draftAndCertifiedVersionWorkflowId" from response data path "id" + And I want to update the input property "description" with value "first version" + And I want to create for path "/workflows/{item.id}/versions" with the input data from the context + And I want to copy to property "item.versionId" from response data path "id" + And I want to update the input property "name" with value "CERTIFIED" + And I want to create for path "/workflows/{item.id}/versions/{item.versionId}/state" with the input data from the context + And I want to update the input property "description" with value "second version" + And I want to update the input property "baseVersionId" with value of property "item.versionId" + And I want to create for path "/workflows/{item.id}/versions" with the input data from the context + #And I want to print the context data + + Scenario: List all + When I want to get path "/workflows" + Then I want to check that element in the response list with "id" equals to value of saved property "noVersionsWorkflowId" exists + And I want to check that element in the response list with "id" equals to value of saved property "draftVersionWorkflowId" exists + And I want to check that element in the response list with "id" equals to value of saved property "certifiedVersionWorkflowId" exists + And I want to check that element in the response list with "id" equals to value of saved property "draftAndCertifiedVersionWorkflowId" exists + + Scenario: List ones with DRAFT version(s) + When I want to get path "/workflows?versionState=DRAFT" + Then I want to check that element in the response list with "id" equals to value of saved property "noVersionsWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "draftVersionWorkflowId" exists + Then I want to check that element in the response list with "id" equals to value of saved property "certifiedVersionWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "draftAndCertifiedVersionWorkflowId" exists + + Scenario: List ones with CERTIFIED version(s) + When I want to get path "/workflows?versionState=CERTIFIED" + Then I want to check that element in the response list with "id" equals to value of saved property "noVersionsWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "draftVersionWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "certifiedVersionWorkflowId" exists + Then I want to check that element in the response list with "id" equals to value of saved property "draftAndCertifiedVersionWorkflowId" exists + + Scenario: List ones with DRAFT/CERTIFIED version(s) + When I want to get path "/workflows?versionState=DRAFT,CERTIFIED" + Then I want to check that element in the response list with "id" equals to value of saved property "noVersionsWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "draftVersionWorkflowId" exists + Then I want to check that element in the response list with "id" equals to value of saved property "certifiedVersionWorkflowId" exists + Then I want to check that element in the response list with "id" equals to value of saved property "draftAndCertifiedVersionWorkflowId" exists + + Scenario: List ones with gibberish version(s) = none + When I want to get path "/workflows?versionState=gibberish" + Then I want to check that element in the response list with "id" equals to value of saved property "noVersionsWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "draftVersionWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "certifiedVersionWorkflowId" does not exist + Then I want to check that element in the response list with "id" equals to value of saved property "draftAndCertifiedVersionWorkflowId" does not exist
\ No newline at end of file diff --git a/workflow/workflow-bdd/features/Workflow_Create_Update.feature b/workflow/workflow-bdd/features/Workflow_Create_Update.feature deleted file mode 100644 index 04a64bf8..00000000 --- a/workflow/workflow-bdd/features/Workflow_Create_Update.feature +++ /dev/null @@ -1,27 +0,0 @@ -Feature: Workflow Example File - - Scenario: Create and get workflow - When I want to create input data - Then I want to update the input property "name" with a random value - Then I want to update the input property "description" with value "workflow desc" - Then I want to update the input property "category" with value "workflow category" - - Then I want to create for path "/workflows" with the input data from the context - Then I want to copy to property "workflowId" from response data path "id" - When I want to get path "/workflows" - Then I want to check that element in the response list with "id" equals to value of saved property "workflowId" exists - - - Scenario: Update workflow - When I want to create input data - Then I want to update the input property "name" with a random value - Then I want to update the input property "description" with value "workflow desc" - Then I want to update the input property "category" with value "workflow category" - Then I want to create for path "/workflows" with the input data from the context - Then I want to copy to property "workflowId" from response data path "id" - - Then I want to update the input property "description" with value "workflow desc updated" - Then I want to set property "desc" to value "workflow desc updated" - Then I want to update for path "/workflows/{workflowId}" with the input data from the context - Then I want to get path "/workflows/{workflowId}" - Then I want to check that property "description" in the response equals to value of saved property "desc" diff --git a/workflow/workflow-bdd/pom.xml b/workflow/workflow-bdd/pom.xml index 3502451c..8ad0584d 100644 --- a/workflow/workflow-bdd/pom.xml +++ b/workflow/workflow-bdd/pom.xml @@ -8,12 +8,6 @@ <name>cucumber-report</name> <version>1.2.0-SNAPSHOT</version> -<!-- <parent> - <groupId>org.onap.sdc.sdc-workflow-designer</groupId> - <artifactId>sdc-workflow-designer</artifactId> - <version>1.2.0-SNAPSHOT</version> - </parent>--> - <build> <plugins> <plugin> diff --git a/workflow/workflow-bdd/resources/json/createWorkflow.json b/workflow/workflow-bdd/resources/json/createWorkflow.json index 074899e9..cc200efb 100644 --- a/workflow/workflow-bdd/resources/json/createWorkflow.json +++ b/workflow/workflow-bdd/resources/json/createWorkflow.json @@ -1 +1,4 @@ -{"name":"RANDOM","description":"Workflow Description","category":"category"}
\ No newline at end of file +{ + "name": "RANDOM", + "description": "Workflow Description" +}
\ No newline at end of file diff --git a/workflow/workflow-bdd/stepDefinitions/General_Steps.js b/workflow/workflow-bdd/stepDefinitions/General_Steps.js index 0550e415..2e74c6ee 100644 --- a/workflow/workflow-bdd/stepDefinitions/General_Steps.js +++ b/workflow/workflow-bdd/stepDefinitions/General_Steps.js @@ -151,7 +151,7 @@ Then('I want to check property {string} does not exist', function(string) { * @module ContextData * @description Use during development to see what is on the context * @exampleFile Example_ResponseData_CheckAndManipulation.feature -* @step I want to print context data +* @step I want to print the context data **/ Then('I want to print the context data', function() { console.log('------------ context ---------------'); @@ -268,13 +268,13 @@ Then('I want to check that element in the response list with {string} equals to **/ Then('I want to check that element in the response list with {string} equals to value of saved property {string} exists', function(propertyPath, valueProperty) { const results = this.context.responseData.results; - assert.notEqual(results.find(result => this.context[valueProperty] === _.get(result, propertyPath)), undefined); + assert.notEqual(results.find(result => _.get(this.context, valueProperty) === _.get(result, propertyPath)), undefined); }); Then('I want to check that property {string} in the response equals to value of saved property {string}', function(propertyPath, valueProperty) { const results = this.context.responseData; - assert.equal(results[propertyPath],this.context[valueProperty]); + assert.equal(results[propertyPath], _.get(this.context, valueProperty)); }); /** diff --git a/workflow/workflow-bdd/stepDefinitions/InputData_steps.js b/workflow/workflow-bdd/stepDefinitions/InputData_steps.js index 73695d0e..6263bb73 100644 --- a/workflow/workflow-bdd/stepDefinitions/InputData_steps.js +++ b/workflow/workflow-bdd/stepDefinitions/InputData_steps.js @@ -64,6 +64,16 @@ Then('I want to update the input property {string} with value {string}', functio /** * @module InputData + * @description sets the property on the input data to the value of the given property + * @exampleFile WorkflowList.feature + * @step I want to update the input property {string} with value of property {string} + **/ +Then('I want to update the input property {string} with value of property {string}', function(string, string2) { + _.set(this.context.inputData, string, _.get(this.context, string2)); +}); + +/** + * @module InputData * @description removes a property from the input data object * @exampleFile Example_Rest_Calls.feature * @step I want to remove {string} from the input data diff --git a/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js b/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js index 59c95d89..aeca5ebb 100644 --- a/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js +++ b/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js @@ -1,3 +1,19 @@ +/* + * Copyright © 2018 European Support Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * @module WORKFLOW * @description Creates a new WORKFLOW with a random name and saves the id and versionId on the context item object and the context vlm object<br> |