aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-workflow-bdd/features
diff options
context:
space:
mode:
Diffstat (limited to 'sdc-workflow-bdd/features')
-rw-r--r--sdc-workflow-bdd/features/ActivitySpec.feature61
-rw-r--r--sdc-workflow-bdd/features/ActivitySpecStatus.feature21
-rw-r--r--sdc-workflow-bdd/features/ArchiveWorkflow.feature68
-rw-r--r--sdc-workflow-bdd/features/Version.feature101
-rw-r--r--sdc-workflow-bdd/features/VersionState.feature55
-rw-r--r--sdc-workflow-bdd/features/Workflow.feature31
-rw-r--r--sdc-workflow-bdd/features/WorkflowList.feature97
-rw-r--r--sdc-workflow-bdd/features/examples/ResponseDataChecks.feature50
8 files changed, 484 insertions, 0 deletions
diff --git a/sdc-workflow-bdd/features/ActivitySpec.feature b/sdc-workflow-bdd/features/ActivitySpec.feature
new file mode 100644
index 00000000..7d9a754a
--- /dev/null
+++ b/sdc-workflow-bdd/features/ActivitySpec.feature
@@ -0,0 +1,61 @@
+Feature: Activity Spec
+
+ #SDC-6350
+ Scenario: Create
+ When I want to set the input data to file "resources/json/createActivitySpec.json"
+ Then I want to update the input property "name" with a random value
+ When I want to create an ActivitySpec
+
+ Then I want to check property "id" exists
+ And I want to check property "versionId" exists
+
+ And I want to list ActivitySpecs with status "Draft"
+ And I want to check property "total" exists
+
+ And I want to get the ActivitySpec for the current item
+ And I want to check property "status" for value "Draft"
+
+ And I want to call action "CERTIFY" on this ActivitySpec item
+ And I want to get the ActivitySpec for the current item
+ And I want to check property "status" for value "Certified"
+
+ And I want to call action "DEPRECATE" on this ActivitySpec item
+ And I want to get the ActivitySpec for the current item
+ And I want to check property "status" for value "Deprecated"
+
+ And I want to call action "DELETE" on this ActivitySpec item
+ And I want to get the ActivitySpec for the current item
+ And I want to check property "status" for value "Deleted"
+
+ Scenario: Get with invalid Id
+ Then I want to set property "item.id" to value "invalidId"
+ Then I want the following to fail with error message "No Activity Spec found for the given identifiers"
+ And I want to get the ActivitySpec for the current item
+
+ #SDC-6353
+ Scenario: Create with duplicate name - invalid
+ Given I want to set property "duplicateName" with a random value
+ And I want to set the input data to file "resources/json/createActivitySpec.json"
+ And I want to update the input property "name" with value of property "duplicateName"
+ And I want to create an ActivitySpec
+ And I want to check property "id" exists
+ And I want to check property "versionId" exists
+
+ When I want to set the input data to file "resources/json/createActivitySpec.json"
+ And I want to update the input property "name" with value of property "duplicateName"
+ Then I want the following to fail with response status code 422
+ And I want to create an ActivitySpec
+
+ #SDC-6354
+ Scenario: Create with invalid name - invalid
+ Given I want to set the input data to file "resources/json/createActivitySpec.json"
+ And I want to update the input property "name" with value "test!@"
+ Then I want the following to fail with response status code 400
+ When I want to create an ActivitySpec
+
+ #SDC-6355
+ Scenario: Create with null/blank name - invalid
+ Given I want to set the input data to file "resources/json/createActivitySpec.json"
+ And I want to update the input property "name" with value ""
+ Then I want the following to fail with response status code 400
+ When I want to create an ActivitySpec \ No newline at end of file
diff --git a/sdc-workflow-bdd/features/ActivitySpecStatus.feature b/sdc-workflow-bdd/features/ActivitySpecStatus.feature
new file mode 100644
index 00000000..c908701b
--- /dev/null
+++ b/sdc-workflow-bdd/features/ActivitySpecStatus.feature
@@ -0,0 +1,21 @@
+Feature: Activity Spec Status
+
+ Scenario: Invalid Status Transition
+ When I want to set the input data to file "resources/json/createActivitySpec.json"
+ Then I want to update the input property "name" with a random value
+ When I want to create an ActivitySpec
+ Then I want to check property "id" exists
+ And I want to check property "versionId" exists
+
+ When I want to get the ActivitySpec for the current item
+ Then I want to check property "status" for value "Draft"
+
+ Then I want the following to fail with response status code 422
+ When I want to call action "DEPRECATE" on this ActivitySpec item
+
+ Then I want the following to fail with response status code 422
+ When I want to call action "DELETE" on this ActivitySpec item
+
+ When I want to call action "CERTIFY" on this ActivitySpec item
+ Then I want the following to fail with response status code 422
+ When I want to call action "CERTIFY" on this ActivitySpec item \ No newline at end of file
diff --git a/sdc-workflow-bdd/features/ArchiveWorkflow.feature b/sdc-workflow-bdd/features/ArchiveWorkflow.feature
new file mode 100644
index 00000000..e63227df
--- /dev/null
+++ b/sdc-workflow-bdd/features/ArchiveWorkflow.feature
@@ -0,0 +1,68 @@
+# 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: Archive Workflow
+
+ Scenario: Archive workflow
+ Given I want to create a Workflow
+ When I want to create input data
+ And I want to update the input property "status" with value "ARCHIVED"
+ And I want to create for path "/workflows/{item.id}/archiving" with the input data from the context
+ Then I want to get path "/workflows/{item.id}"
+ And I want to check property "status" for value "ARCHIVED"
+ When I want to get path "/workflows?limit=2000&statusFilter=ARCHIVED"
+ Then I want to check in the list "items" property "id" with value "{item.id}" exists
+ When I want to get path "/workflows?limit=2000&"
+ Then I want to check in the list "items" property "id" with value "{item.id}" does not exist
+
+
+ Scenario: Archive and then Restore workflow
+ Given I want to create a Workflow
+ When I want to create input data
+ And I want to update the input property "status" with value "ARCHIVED"
+ And I want to create for path "/workflows/{item.id}/archiving" with the input data from the context
+ Then I want to get path "/workflows/{item.id}"
+ And I want to check property "status" for value "ARCHIVED"
+ When I want to get path "/workflows?limit=2000&statusFilter=ARCHIVED"
+ Then I want to check in the list "items" property "id" with value "{item.id}" exists
+ When I want to get path "/workflows?limit=2000&"
+ Then I want to check in the list "items" property "id" with value "{item.id}" does not exist
+ And I want to update the input property "status" with value "ACTIVE"
+ And I want to create for path "/workflows/{item.id}/archiving" with the input data from the context
+ Then I want to get path "/workflows/{item.id}"
+ And I want to check property "status" for value "ACTIVE"
+ When I want to get path "/workflows?limit=2000&statusFilter=ARCHIVED"
+ Then I want to check in the list "items" property "id" with value "{item.id}" does not exist
+ When I want to get path "/workflows?limit=2000&"
+ Then I want to check in the list "items" property "id" with value "{item.id}" exists
+
+ Scenario: Archive already archived workflow
+ Given I want to create a Workflow
+ When I want to create input data
+ And I want to update the input property "status" with value "ARCHIVED"
+ And I want to create for path "/workflows/{item.id}/archiving" with the input data from the context
+ When I want to create input data
+ And I want to update the input property "status" with value "ARCHIVED"
+ Then I want the following to fail with response status code 422
+ And I want to create for path "/workflows/{item.id}/archiving" with the input data from the context
+
+ Scenario: Restore already active workflow
+ Given I want to create a Workflow
+ When I want to create input data
+ And I want to update the input property "status" with value "ACTIVE"
+ Then I want the following to fail with response status code 422
+ And I want to create for path "/workflows/{item.id}/archiving" with the input data from the context
+
+
+
diff --git a/sdc-workflow-bdd/features/Version.feature b/sdc-workflow-bdd/features/Version.feature
new file mode 100644
index 00000000..3ca68c96
--- /dev/null
+++ b/sdc-workflow-bdd/features/Version.feature
@@ -0,0 +1,101 @@
+# 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 - Create workflow
+ Given I want to create a Workflow
+
+ Scenario: Create first empty version
+ 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 in the list "items" property "id" with 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/versionWith2Inputs2Outputs1.json"
+ And I want to create for path "/workflows/{item.id}/versions" with the input data from the context
+
+ Then I want to check in the list "inputs" property "name" with value "in1" exists
+ And I want to check in the list "inputs" property "name" with value "in2" exists
+ And I want to check in the list "outputs" property "name" with value "out1" exists
+ And I want to check in the list "outputs" property "name" with value "out2" exists
+
+ 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}"
+ 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 in the list "items" property "id" with value of saved property "item.versionId" exists
+
+ Scenario: Update version
+ 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 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 property "description" for value "workflow version description updated"
+
+ Scenario: Update version with duplicate input name - invalid
+ And I want to update the input property "description" with value "version with with duplicate input name"
+ 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 set the input data to file "resources/json/versionWithDuplicateInputName.json"
+ Then I want the following to fail with response status code 400
+ When I want to update for path "/workflows/{item.id}/versions/{item.versionId}" with the input data from the context
+
+ Scenario: Update version with duplicate output name - invalid
+ And I want to update the input property "description" with value "version with with duplicate output name"
+ 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 set the input data to file "resources/json/versionWithDuplicateOutputName.json"
+ Then I want the following to fail with response status code 400
+ When I want to update for path "/workflows/{item.id}/versions/{item.versionId}" with the input data from the context
+
+ Scenario: Update version with inputs/outputs (create/update/delete parameters)
+ And I want to set the input data to file "resources/json/versionWith2Inputs2Outputs1.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"
+
+ When I want to set the input data to file "resources/json/versionWith2Inputs2Outputs2.json"
+ 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 in the list "inputs" property "name" with value "in1" exists
+ And I want to check in the list "inputs" property "name" with value "in2" does not exist
+ And I want to check in the list "inputs" property "name" with value "in3" exists
+ And I want to check in the list "outputs" property "name" with value "out1" exists
+ And I want to check in the list "outputs" property "name" with value "out2" does not exist
+ And I want to check in the list "outputs" property "name" with value "out3" exists
+
diff --git a/sdc-workflow-bdd/features/VersionState.feature b/sdc-workflow-bdd/features/VersionState.feature
new file mode 100644
index 00000000..09e93a75
--- /dev/null
+++ b/sdc-workflow-bdd/features/VersionState.feature
@@ -0,0 +1,55 @@
+# 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
+ Given I want to create a Workflow
+ 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"
+
+ Scenario: Get state after creation
+ When I want to get path "/workflows/{item.id}/versions/{item.versionId}/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 - 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
+
+ Scenario: Update state - DRAFT to CERTIFIED
+ 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
+ Then I want to get path "/workflows/{item.id}/versions/{item.versionId}/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 - 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
+
+ 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 422
+ 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/sdc-workflow-bdd/features/Workflow.feature b/sdc-workflow-bdd/features/Workflow.feature
new file mode 100644
index 00000000..80969614
--- /dev/null
+++ b/sdc-workflow-bdd/features/Workflow.feature
@@ -0,0 +1,31 @@
+# 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 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: Create
+ When I want to create a Workflow
+ 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}"
+# And I want to check property "description" for value "workflow description updated"
diff --git a/sdc-workflow-bdd/features/WorkflowList.feature b/sdc-workflow-bdd/features/WorkflowList.feature
new file mode 100644
index 00000000..529f8a5c
--- /dev/null
+++ b/sdc-workflow-bdd/features/WorkflowList.feature
@@ -0,0 +1,97 @@
+# 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: Workflows list
+
+ 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 create for path "/workflows/{item.id}/versions?baseVersionId={item.versionId}" with the input data from the context
+
+ Given I want to create a Workflow
+ And I want to copy to property "rand1" from response data path "name"
+ And I want to update the input property "name" with value "workflow_ss_1_{rand1}"
+ And I want to update for path "/workflows/{item.id}" with the input data from the context
+
+ Given I want to create a Workflow
+ And I want to copy to property "rand2" from response data path "name"
+ And I want to update the input property "name" with value "workflow_ss_2_{rand2}"
+ And I want to update for path "/workflows/{item.id}" with the input data from the context
+
+ Given I want to create a Workflow
+ And I want to copy to property "rand3" from response data path "name"
+ And I want to update the input property "name" with value "workflow_ss_3_{rand3}"
+ And I want to update for path "/workflows/{item.id}" with the input data from the context
+
+ Scenario: List all
+ When I want to get path "/workflows?limit=2000"
+ Then I want to check in the list "items" property "id" with value of saved property "noVersionsWorkflowId" exists
+ And I want to check in the list "items" property "id" with value of saved property "draftVersionWorkflowId" exists
+ And I want to check in the list "items" property "id" with value of saved property "certifiedVersionWorkflowId" exists
+ And I want to check in the list "items" property "id" with value of saved property "draftAndCertifiedVersionWorkflowId" exists
+
+ Scenario: List ones with DRAFT version(s)
+ When I want to get path "/workflows?versionState=DRAFT&limit=2000"
+ Then I want to check in the list "items" property "id" with value of saved property "noVersionsWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "draftVersionWorkflowId" exists
+ And I want to check in the list "items" property "id" with value of saved property "certifiedVersionWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "draftAndCertifiedVersionWorkflowId" exists
+
+ Scenario: List ones with CERTIFIED version(s)
+ When I want to get path "/workflows?versionState=CERTIFIED&limit=2000"
+ Then I want to check in the list "items" property "id" with value of saved property "noVersionsWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "draftVersionWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "certifiedVersionWorkflowId" exists
+ And I want to check in the list "items" property "id" with value of saved property "draftAndCertifiedVersionWorkflowId" exists
+
+ Scenario: List ones with DRAFT/CERTIFIED version(s)
+ When I want to get path "/workflows?versionState=DRAFT,CERTIFIED&limit=2000"
+ Then I want to check in the list "items" property "id" with value of saved property "noVersionsWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "draftVersionWorkflowId" exists
+ And I want to check in the list "items" property "id" with value of saved property "certifiedVersionWorkflowId" exists
+ And I want to check in the list "items" property "id" with value of saved property "draftAndCertifiedVersionWorkflowId" exists
+
+ Scenario: List ones with gibberish version(s) = none
+ When I want to get path "/workflows?versionState=gibberish&limit=2000"
+ Then I want to check in the list "items" property "id" with value of saved property "noVersionsWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "draftVersionWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "certifiedVersionWorkflowId" does not exist
+ And I want to check in the list "items" property "id" with value of saved property "draftAndCertifiedVersionWorkflowId" does not exist
+
+ Scenario: List ones that contain 'workflow_ss' in name
+ When I want to get path "/workflows?searchNameFilter=workflow_ss&limit=2000"
+ And I want to check in the list "items" property "name" with value "workflow_ss_1_{rand1}" exists
+ And I want to check in the list "items" property "name" with value "workflow_ss_2_{rand2}" exists
+ And I want to check in the list "items" property "name" with value "workflow_ss_3_{rand3}" exists \ No newline at end of file
diff --git a/sdc-workflow-bdd/features/examples/ResponseDataChecks.feature b/sdc-workflow-bdd/features/examples/ResponseDataChecks.feature
new file mode 100644
index 00000000..7956e651
--- /dev/null
+++ b/sdc-workflow-bdd/features/examples/ResponseDataChecks.feature
@@ -0,0 +1,50 @@
+Feature: Example for checking response data
+ Scenario: Example Checks
+ # setting some data just for testing purposes
+ Given Response Data:
+ """
+ {
+ "field1" : "string field",
+ "field2" : true,
+ "field3": "5",
+ "field4" : [{"entry1":"a"},{"entry2":"b"},{"entry3":"c"}],
+ "inputs": [
+ {
+ "mandatory": true,
+ "name": "in1",
+ "type": "STRING"
+ },
+ {
+ "mandatory": true,
+ "name": "in2",
+ "type": "INTEGER"
+ }
+ ],
+ "outputs": [
+ {
+ "mandatory": true,
+ "name": "workflow",
+ "type": "TIMESTAMP"
+ },
+ {
+ "mandatory": true,
+ "name": "out2",
+ "type": "BOOLEAN"
+ }
+ ]
+ }
+ """
+ # printing out for test purposes
+ #Then I want to print the context data
+
+ # running the different options of checking the respone data
+ Then I want to check property "field1" for value "string field"
+ Then I want to check property "field2" to be true
+ Then I want to check property "field3" for value 5
+ Then I want to check property "field4" to have length 3
+ Then I want to check property "field4[0].entry1" exists
+ Then I want to check property "field4[0].no_exist" does not exist
+ Then I want to check property "outputs[0].name" exists
+ Then I want to check property "outputs[0].name" for value "workflow"
+ Then I want to check in the list "outputs" property "name" with value "out2" exists
+ Then I want to check in the list "outputs" property "name" with value "out3" does not exist