From 6dc58fd625279f8ffe1060170418686034db0af4 Mon Sep 17 00:00:00 2001 From: vasraz Date: Wed, 2 Oct 2019 12:08:49 +0100 Subject: Fix name convention issue Rename modules: workflow-designer-init to sdc-workflow-designer-init workflow-designer-be to sdc-workflow-designer-be workflow-designer-ui to sdc-workflow-designer-ui Rename docker images: onap/workflow-init to onap/sdc-workflow-init onap/workflow-backend to onap/sdc-workflow-backend onap/workflow-frontend to onap/sdc-workflow-frontend List of changed files: modified: README.md modified: docker-compose/debug.yml modified: docker-compose/docker-compose.yml modified: pom.xml modified: sdc-workflow-bdd/pom.xml modified: sdc-workflow-designer-be/pom.xml modified: sdc-workflow-designer-init/pom.xml modified: sdc-workflow-designer-ui/pom.xml modified: sdc-workflow-designer-ui/src/main/frontend/yarn.lock modified: version.properties All others changes are relaited to rename/move. Change-Id: Ic989b6347b815f85e77e23fc8d7884c05b650a27 Issue-ID: SDC-2334 Issue-ID: SDC-2335 Signed-off-by: Vasyl Razinkov --- sdc-workflow-bdd/features/ActivitySpec.feature | 61 +++++++++++++ .../features/ActivitySpecStatus.feature | 21 +++++ sdc-workflow-bdd/features/ArchiveWorkflow.feature | 68 ++++++++++++++ sdc-workflow-bdd/features/Version.feature | 101 +++++++++++++++++++++ sdc-workflow-bdd/features/VersionState.feature | 55 +++++++++++ sdc-workflow-bdd/features/Workflow.feature | 31 +++++++ sdc-workflow-bdd/features/WorkflowList.feature | 97 ++++++++++++++++++++ .../features/examples/ResponseDataChecks.feature | 50 ++++++++++ 8 files changed, 484 insertions(+) create mode 100644 sdc-workflow-bdd/features/ActivitySpec.feature create mode 100644 sdc-workflow-bdd/features/ActivitySpecStatus.feature create mode 100644 sdc-workflow-bdd/features/ArchiveWorkflow.feature create mode 100644 sdc-workflow-bdd/features/Version.feature create mode 100644 sdc-workflow-bdd/features/VersionState.feature create mode 100644 sdc-workflow-bdd/features/Workflow.feature create mode 100644 sdc-workflow-bdd/features/WorkflowList.feature create mode 100644 sdc-workflow-bdd/features/examples/ResponseDataChecks.feature (limited to 'sdc-workflow-bdd/features') 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 -- cgit 1.2.3-korg