aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortalig <talig@amdocs.com>2018-07-24 10:30:55 +0300
committertalig <talig@amdocs.com>2018-07-24 10:30:55 +0300
commitf96e244d1764e0dfb5f574b73eb4d248840447c6 (patch)
tree8a9e3d26846d38192c76c6f8b61fc963bf15ad48
parentc25c8557c370e683fc97e27364b71f3468ec8354 (diff)
Add/Fix workflow/version flow tests
Change-Id: I63d432333d5038ff5178742fb3b2347d1b551879 Issue-ID: SDC-1503 Signed-off-by: talig <talig@amdocs.com>
-rw-r--r--workflow/workflow-bdd/features/Version.feature (renamed from workflow/workflow-bdd/features/Version_Create_Update.feature)34
-rw-r--r--workflow/workflow-bdd/features/VersionState.feature17
-rw-r--r--workflow/workflow-bdd/features/Workflow.feature18
-rw-r--r--workflow/workflow-bdd/features/WorkflowList.feature39
-rw-r--r--workflow/workflow-bdd/resources/json/createVersionWithInputsOutputs.json17
-rw-r--r--workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js2
6 files changed, 90 insertions, 37 deletions
diff --git a/workflow/workflow-bdd/features/Version_Create_Update.feature b/workflow/workflow-bdd/features/Version.feature
index d2a9ec9d..e43971cb 100644
--- a/workflow/workflow-bdd/features/Version_Create_Update.feature
+++ b/workflow/workflow-bdd/features/Version.feature
@@ -12,16 +12,39 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
Feature: Workflow Versions
- Background: Init
+ Background: Init - Create workflow
Given I want to create a Workflow
Scenario: Create first empty version
- When I want to create input data
+ When 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: Create first version with inputs/outputs
+ When I want to set the input data to file "resources/json/createVersionWithInputsOutputs.json"
+ 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 check property "inputs[0].name" for value "in1"
+ And I want to check property "outputs[0].name" for value "out1"
+
+ Scenario: Create second version
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.firstVersionId" 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.firstVersionId}/state" with the input data from the context
+
+ When I want to create input data
+ And I want to update the input property "description" with value "second empty version"
+ And I want to create for path "/workflows/{item.id}/versions?baseVersionId={item.firstVersionId}" 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}"
@@ -35,9 +58,8 @@ Feature: Workflow Versions
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"
+ When I want to update the input property "description" with value "workflow version description updated"
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
+ And I want to check property "description" for value "workflow version description updated" \ No newline at end of file
diff --git a/workflow/workflow-bdd/features/VersionState.feature b/workflow/workflow-bdd/features/VersionState.feature
index c869d146..1bb72ab8 100644
--- a/workflow/workflow-bdd/features/VersionState.feature
+++ b/workflow/workflow-bdd/features/VersionState.feature
@@ -25,7 +25,7 @@ Feature: Workflow Version State
Then I want to check property "name" for value "DRAFT"
And I want to check property "nextStates[0]" for value "CERTIFIED"
- Scenario: Update state to current state
+ Scenario: Update state to current state - invalid
Then I want the following to fail with response status code 422
When I want to update the input property "name" with value "DRAFT"
And I want to create for path "/workflows/{item.id}/versions/{item.versionId}/state" with the input data from the context
@@ -37,8 +37,19 @@ Feature: Workflow Version State
And I want to check property "name" for value "CERTIFIED"
And I want to check property "nextStates" to have length 0
- Scenario: Update state when CERTIFIED
+ Scenario: Update state when CERTIFIED - invalid
When 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
When I want the following to fail with response status code 422
- Then I want to create for path "/workflows/{item.id}/versions/{item.versionId}/state" with the input data from the context \ No newline at end of file
+ Then I want to create for path "/workflows/{item.id}/versions/{item.versionId}/state" with the input data from the context
+
+ Scenario: Update when CERTIFIED - invalid
+ When 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 "workflow version description updated"
+ Then I want the following to fail with response status code 422
+ When I want to update for path "/workflows/{item.id}/versions/{item.versionId}" with the input data from the context
+
+ Scenario: Create second version based on non CERTIFIED one - invalid
+ Then I want the following to fail with response status code 403
+ When I want to create for path "/workflows/{item.id}/versions?baseVersionId={item.versionId}" with the input data from the context \ No newline at end of file
diff --git a/workflow/workflow-bdd/features/Workflow.feature b/workflow/workflow-bdd/features/Workflow.feature
index b234fdb7..dffcc55d 100644
--- a/workflow/workflow-bdd/features/Workflow.feature
+++ b/workflow/workflow-bdd/features/Workflow.feature
@@ -14,12 +14,18 @@
Feature: Workflow
- Scenario: Create valid
- When I want to create a Workflow
+ Scenario: Create invalid - without name
+ Given I want to create input data
+ When I want the following to fail with response status code 400
+ Then I want to create for path "/workflows" with the input data from the context
- Scenario: Update and Get workflow
+ Scenario: Create
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 check property "description" for value "Workflow Description"
+
+ Scenario: Update and Get
+ Given I want to create a Workflow
+ And I want to update the input property "description" with value "workflow description updated"
+ When 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"
+ And I want to check property "description" for value "workflow description updated"
diff --git a/workflow/workflow-bdd/features/WorkflowList.feature b/workflow/workflow-bdd/features/WorkflowList.feature
index 85261f5c..5b6941ec 100644
--- a/workflow/workflow-bdd/features/WorkflowList.feature
+++ b/workflow/workflow-bdd/features/WorkflowList.feature
@@ -12,7 +12,6 @@
# 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
@@ -39,41 +38,39 @@ Feature: List Workflows
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
+ And I want to create for path "/workflows/{item.id}/versions?baseVersionId={item.versionId}" with the input data from the context
Scenario: List all
- When I want to get path "/workflows"
+ When I want to get path "/workflows?size=2000"
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"
+ When I want to get path "/workflows?versionState=DRAFT&size=2000"
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
+ 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" does not exist
+ 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 CERTIFIED version(s)
- When I want to get path "/workflows?versionState=CERTIFIED"
+ When I want to get path "/workflows?versionState=CERTIFIED&size=2000"
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
+ And I want to check that element in the response list with "id" equals to value of saved property "draftVersionWorkflowId" does not exist
+ 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/CERTIFIED version(s)
- When I want to get path "/workflows?versionState=DRAFT,CERTIFIED"
+ When I want to get path "/workflows?versionState=DRAFT,CERTIFIED&size=2000"
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
+ 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 gibberish version(s) = none
- When I want to get path "/workflows?versionState=gibberish"
+ When I want to get path "/workflows?versionState=gibberish&size=2000"
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
+ And I want to check that element in the response list with "id" equals to value of saved property "draftVersionWorkflowId" does not exist
+ And I want to check that element in the response list with "id" equals to value of saved property "certifiedVersionWorkflowId" does not exist
+ And 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/resources/json/createVersionWithInputsOutputs.json b/workflow/workflow-bdd/resources/json/createVersionWithInputsOutputs.json
new file mode 100644
index 00000000..a9b6c3de
--- /dev/null
+++ b/workflow/workflow-bdd/resources/json/createVersionWithInputsOutputs.json
@@ -0,0 +1,17 @@
+{
+ "description": "first version - with inputs and outputs",
+ "inputs": [
+ {
+ "mandatory": true,
+ "name": "in1",
+ "type": "STRING"
+ }
+ ],
+ "outputs": [
+ {
+ "mandatory": true,
+ "name": "out1",
+ "type": "TIMESTAMP"
+ }
+ ]
+} \ No newline at end of file
diff --git a/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js b/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js
index aeca5ebb..abeacab2 100644
--- a/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js
+++ b/workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js
@@ -16,7 +16,7 @@
/**
* @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>
+ * @description Creates a new WORKFLOW with a random name and saves the id and versionId on the context item object<br>
* Input data will be taken from the 'resources/json/createWorkflow.json' file.
* @step I want to create a Workflow
**/