aboutsummaryrefslogtreecommitdiffstats
path: root/workflow-bdd
diff options
context:
space:
mode:
Diffstat (limited to 'workflow-bdd')
-rw-r--r--workflow-bdd/.gitignore11
-rw-r--r--workflow-bdd/README.txt4
-rw-r--r--workflow-bdd/config.json28
-rw-r--r--workflow-bdd/cucumber.js3
-rw-r--r--workflow-bdd/features/ActivitySpec.feature61
-rw-r--r--workflow-bdd/features/ActivitySpecStatus.feature21
-rw-r--r--workflow-bdd/features/ArchiveWorkflow.feature68
-rw-r--r--workflow-bdd/features/Version.feature101
-rw-r--r--workflow-bdd/features/VersionState.feature55
-rw-r--r--workflow-bdd/features/Workflow.feature31
-rw-r--r--workflow-bdd/features/WorkflowList.feature97
-rw-r--r--workflow-bdd/features/examples/ResponseDataChecks.feature50
-rw-r--r--workflow-bdd/package.json31
-rw-r--r--workflow-bdd/plugins/README.md23
-rw-r--r--workflow-bdd/plugins/jsdoc_config.json15
-rw-r--r--workflow-bdd/plugins/reporter.js31
-rw-r--r--workflow-bdd/plugins/steps.js65
-rw-r--r--workflow-bdd/pom.xml167
-rw-r--r--workflow-bdd/resources/json/createActivitySpec.json23
-rw-r--r--workflow-bdd/resources/json/createWorkflow.json4
-rw-r--r--workflow-bdd/resources/json/versionWith2Inputs2Outputs1.json27
-rw-r--r--workflow-bdd/resources/json/versionWith2Inputs2Outputs2.json27
-rw-r--r--workflow-bdd/resources/json/versionWithDuplicateInputName.json27
-rw-r--r--workflow-bdd/resources/json/versionWithDuplicateOutputName.json27
-rw-r--r--workflow-bdd/stepDefinitions/ActivitySpec_steps.js47
-rw-r--r--workflow-bdd/stepDefinitions/Collaboration_Steps.js113
-rw-r--r--workflow-bdd/stepDefinitions/General_Steps.js354
-rw-r--r--workflow-bdd/stepDefinitions/InputData_steps.js99
-rw-r--r--workflow-bdd/stepDefinitions/InterfaceOperationSteps.js118
-rw-r--r--workflow-bdd/stepDefinitions/Item_steps.js91
-rw-r--r--workflow-bdd/stepDefinitions/REST_Steps.js80
-rw-r--r--workflow-bdd/stepDefinitions/Utils.js153
-rw-r--r--workflow-bdd/stepDefinitions/Workflow_Steps.js35
-rw-r--r--workflow-bdd/stepDefinitions/world.js87
34 files changed, 0 insertions, 2174 deletions
diff --git a/workflow-bdd/.gitignore b/workflow-bdd/.gitignore
deleted file mode 100644
index 316e3984..00000000
--- a/workflow-bdd/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-.idea
-.vscode
-.history
-debug.log
-dist
-docs
-node_modules
-.npmrc
-npm-debug.log
-devConfig.json
-jenkinsConfig.json
diff --git a/workflow-bdd/README.txt b/workflow-bdd/README.txt
deleted file mode 100644
index 35250ed3..00000000
--- a/workflow-bdd/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-In order to setup the project:
-
-Run "mvn install -DskipTests", this will create the documentation under the "docs".
-Open the index.html under the docs directory and continue from there. \ No newline at end of file
diff --git a/workflow-bdd/config.json b/workflow-bdd/config.json
deleted file mode 100644
index 5d38d099..00000000
--- a/workflow-bdd/config.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "protocol" : "http",
-
- "onboarding" : {
- "port" : 8285,
- "prefix" : "sdc1/feProxy/onboarding-api/v1.0",
- "server" : "onboarding.server",
- "user" : "user"
- },
- "vf" : {
- "port" : 8285,
- "prefix" : "sdc1/feProxy/rest/v1",
- "server" : "vf.server",
- "user" : "user"
- },
- "workflow" : {
- "port" : 8080,
- "prefix" : "wf",
- "server": "wf.server",
- "user" : "user"
- },
- "activity_spec" : {
- "port" : 8080,
- "prefix": "v1.0",
- "server": "wf.server",
- "user" : "user"
- }
-}
diff --git a/workflow-bdd/cucumber.js b/workflow-bdd/cucumber.js
deleted file mode 100644
index 4ade9b1c..00000000
--- a/workflow-bdd/cucumber.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- "default" : "--require stepDefinitions -f summary -r ./features -f json:report/report.json"
-}; \ No newline at end of file
diff --git a/workflow-bdd/features/ActivitySpec.feature b/workflow-bdd/features/ActivitySpec.feature
deleted file mode 100644
index 7d9a754a..00000000
--- a/workflow-bdd/features/ActivitySpec.feature
+++ /dev/null
@@ -1,61 +0,0 @@
-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/workflow-bdd/features/ActivitySpecStatus.feature b/workflow-bdd/features/ActivitySpecStatus.feature
deleted file mode 100644
index c908701b..00000000
--- a/workflow-bdd/features/ActivitySpecStatus.feature
+++ /dev/null
@@ -1,21 +0,0 @@
-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/workflow-bdd/features/ArchiveWorkflow.feature b/workflow-bdd/features/ArchiveWorkflow.feature
deleted file mode 100644
index e63227df..00000000
--- a/workflow-bdd/features/ArchiveWorkflow.feature
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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/workflow-bdd/features/Version.feature b/workflow-bdd/features/Version.feature
deleted file mode 100644
index 3ca68c96..00000000
--- a/workflow-bdd/features/Version.feature
+++ /dev/null
@@ -1,101 +0,0 @@
-# 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/workflow-bdd/features/VersionState.feature b/workflow-bdd/features/VersionState.feature
deleted file mode 100644
index 09e93a75..00000000
--- a/workflow-bdd/features/VersionState.feature
+++ /dev/null
@@ -1,55 +0,0 @@
-# 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/workflow-bdd/features/Workflow.feature b/workflow-bdd/features/Workflow.feature
deleted file mode 100644
index 80969614..00000000
--- a/workflow-bdd/features/Workflow.feature
+++ /dev/null
@@ -1,31 +0,0 @@
-# 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/workflow-bdd/features/WorkflowList.feature b/workflow-bdd/features/WorkflowList.feature
deleted file mode 100644
index 529f8a5c..00000000
--- a/workflow-bdd/features/WorkflowList.feature
+++ /dev/null
@@ -1,97 +0,0 @@
-# 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/workflow-bdd/features/examples/ResponseDataChecks.feature b/workflow-bdd/features/examples/ResponseDataChecks.feature
deleted file mode 100644
index 7956e651..00000000
--- a/workflow-bdd/features/examples/ResponseDataChecks.feature
+++ /dev/null
@@ -1,50 +0,0 @@
-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
diff --git a/workflow-bdd/package.json b/workflow-bdd/package.json
deleted file mode 100644
index 8d4bc114..00000000
--- a/workflow-bdd/package.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name": "sdctests",
- "version": "1.0.0",
- "license": "Apache-2.0",
- "description": "SDC Cucumber testing",
- "main": "reporter.js",
- "directories": {
- "doc": "docs"
- },
- "scripts": {
- "test": "cucumber-js",
- "test-and-report": "npm-run-all -c -s test cucumber-html-report",
- "cucumber-html-report": "node plugins/reporter.js",
- "cucumber-docs": "jsdoc ./stepDefinitions -c plugins/jsdoc_config.json --readme plugins/README.md"
- },
- "author": "",
- "dependencies": {
- "assert": "^1.4.1",
- "cucumber": "^3.2.1",
- "cucumber-html-reporter": "^3.0.4",
- "docdash": "^0.4.0",
- "jsdoc": "^3.5.5",
- "jsdoc-one-page": "0.0.5",
- "lodash": "^4.17.4",
- "node-zip": "^1.1.1",
- "normalize-newline": "^3.0.0",
- "npm-run-all": "^4.1.2",
- "request": "^2.83.0",
- "yamljs": "^0.3.0"
- }
-}
diff --git a/workflow-bdd/plugins/README.md b/workflow-bdd/plugins/README.md
deleted file mode 100644
index 956fe772..00000000
--- a/workflow-bdd/plugins/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-<br>
-<h1>Welcome!</h1>
-This is the documentation for using the BDD testing framework for SDC.<br>
-The Modules on the left contains all steps for particalar aress and/or explanations of what they do.<br>
-<br><br>
-<h3>How to set the server configuration</h3>
-<li> Copy the config.json to devConfig.json
-<li> Replace the server and user values with the correct values
-<h3>How to run with Maven</h3>
-<li>"mvn install" will install npm if needed, download all modules and create the documentation under the "docs" folder
-<li>"mvn test-and-report" will run all tests in the features folder and create an HTML report under the "reports" folder
-<h3>How to develop tests</h3>
-You can open the project in IntelliJ and Webstorm to run and develop scenarios.<br>
-<li><b>You will need to install the Cucumber.Js plugin</b> In order to install, go to "Settings/Plugins". If cucumber.js in not on the list, go to "Browse repositories.." and install .
-<li>First time only: Right click on feature file and try to run. Now go to "Run/edit configurations" and set the "executable path" to the "node_modules\.bin\cucumber-js.cmd" under your current project.
-<li>Now you can run the feature files by right clicking on the file and selecting "Run" from IDEA.<br>
-<li>Add to existing scenarios or create new files under the "features" directory for additional tests
-<br>
-<li>You can also run a specific test from the command line by running "npm run test -- [features/path to file]
-<h3>More Information</h3>
-<li> More on <a href="https://cucumber.io/docs/reference">Cucumber</a>
-<li> More on <a herf="https://github.com/cucumber/cucumber/wiki/Gherkin">Gherkin</a>
-<li> More on <a href="https://github.com/cucumber/cucumber-js">Cucumber-js</a>
diff --git a/workflow-bdd/plugins/jsdoc_config.json b/workflow-bdd/plugins/jsdoc_config.json
deleted file mode 100644
index a5a608e8..00000000
--- a/workflow-bdd/plugins/jsdoc_config.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "tags": {
- "allowUnknownTags": true
- },
- "templates": {
- "default": {
- "outputSourceFiles": false
- }
- },
- "plugins": ["plugins/steps"],
- "opts": {
- "template": "node_modules/jsdoc-one-page",
- "destination": "docs/"
- }
-} \ No newline at end of file
diff --git a/workflow-bdd/plugins/reporter.js b/workflow-bdd/plugins/reporter.js
deleted file mode 100644
index 8913789c..00000000
--- a/workflow-bdd/plugins/reporter.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-var reporter = require('cucumber-html-reporter');
-
-var options = {
- theme: 'bootstrap',
- jsonFile: 'report/report.json',
- output: 'report/report.html',
- reportSuiteAsScenarios: true,
- launchReport: false,
- metadata: {
- "ONAP" : "Some build",
- "Executed": "Local"
- }
-};
-
-reporter.generate(options);
-
diff --git a/workflow-bdd/plugins/steps.js b/workflow-bdd/plugins/steps.js
deleted file mode 100644
index 2faa7efb..00000000
--- a/workflow-bdd/plugins/steps.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2016-2017 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 plugins/steptag
- */
-'use strict';
-
-
-exports.handlers = {
- /**
- * Support @step tag.
- *
- * @step description
- */
- newDoclet: function(e) {
- var tags = e.doclet.tags;
- var tag;
- var value;
-
- // any user-defined tags in this doclet?
- if (typeof tags !== 'undefined') {
-
- tags = tags.filter(function($) {
- return $.title === 'step' || $.title === 'examplefile';
- });
-
- if (tags.length) {
- // take the first one
- tag = tags[0];
- let step = null;
- let exampleFile = null;
- for (tag in tags) {
- if (tags[tag].title === "step") {
- step = "<b>" + tags[tag].value + "</b><br>";
- }
- if (tags[tag].title === "examplefile") {
- exampleFile = "<i> Example Features File: " + tags[tag].value + "</i><br>";
- }
- }
- if (exampleFile !== null) {
- step += exampleFile;
- }
- e.doclet.meta = e.doclet.meta || {};
- if (e.doclet.description !== undefined) {
- e.doclet.description = step + e.doclet.description;
- } else {
- e.doclet.description = step;
- }
- }
- }
- }
-}; \ No newline at end of file
diff --git a/workflow-bdd/pom.xml b/workflow-bdd/pom.xml
deleted file mode 100644
index 39bac8e4..00000000
--- a/workflow-bdd/pom.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.openecomp.sdc</groupId>
- <artifactId>workflow-cucumber</artifactId>
- <name>cucumber-report</name>
- <version>1.6.1-SNAPSHOT</version>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.6.1</version>
- <executions>
- <execution>
- <id>clean.dist.folder</id>
- <phase>clean</phase>
- <goals>
- <goal>clean</goal>
- </goals>
- <configuration>
- <filesets>
- <fileset>
- <directory>${basedir}/report</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </fileset>
- <fileset>
- <directory>${basedir}/resources/downloads</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </fileset>
- <fileset>
- <directory>${basedir}/docs</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </fileset>
- <fileset>
- <directory>${basedir}</directory>
- <includes>
- <include>jenkinsConfig.json</include>
- </includes>
- </fileset>
-
- </filesets>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
-
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>create-reporting-folders</id>
- <phase>generate-sources</phase>
- <configuration>
- <tasks>
- <echo message="Generate reports and downloads folders"/>
- <mkdir dir="${basedir}/report"/>
- <mkdir dir="${basedir}/resources/downloads"/>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!-- ============================================= -->
- <!-- Build the UI module node code -->
- <!-- ============================================= -->
- <plugin>
- <groupId>com.github.eirslett</groupId>
- <artifactId>frontend-maven-plugin</artifactId>
- <version>1.8.0</version>
-
- <configuration>
- <installDirectory>${project.parent.parent.basedir}</installDirectory>
- </configuration>
-
- <executions>
-
- <execution>
- <id>install node and yarn</id>
- <goals>
- <goal>install-node-and-yarn</goal>
- </goals>
- <configuration>
- <nodeVersion>v10.17.0</nodeVersion>
- <yarnVersion>v1.19.1</yarnVersion>
- </configuration>
- </execution>
-
- <execution>
- <id>yarn run install</id>
- <goals>
- <goal>yarn</goal>
- </goals>
- <configuration>
- <arguments>install</arguments>
- </configuration>
- </execution>
- <execution>
- <id>yarn run cucumber docs</id>
- <goals>
- <goal>yarn</goal>
- </goals>
- <configuration>
- <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
- <arguments>run cucumber-docs</arguments>
- </configuration>
- </execution>
-
- <execution>
- <id>yarn run cucumber test</id>
- <goals>
- <goal>yarn</goal>
- </goals>
- <configuration>
- <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
- <arguments>run test-and-report</arguments>
- </configuration>
- <phase>test</phase>
- </execution>
-
-
- </executions>
- </plugin>
-
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <executions>
- <execution>
- <id>copy-config</id>
- <phase>validate</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${basedir}</outputDirectory>
- <resources>
- <resource>
- <directory>${basedir}/resources</directory>
- <includes>
- <include>jenkinsConfig.json</include>
- </includes>
- <filtering>true</filtering>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
-
-</project>
diff --git a/workflow-bdd/resources/json/createActivitySpec.json b/workflow-bdd/resources/json/createActivitySpec.json
deleted file mode 100644
index bf1b6012..00000000
--- a/workflow-bdd/resources/json/createActivitySpec.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "RANDOM",
- "description": "Start Server",
- "categoryList": [
- "Server"
- ],
- "inputs": [
- {
- "name": "host",
- "type": "string",
- "value": "10.1.2.3"
- }
- ],
- "outputs": [
- {
- "name": "status",
- "type": "string",
- "value": "started"
- }
- ],
- "type": "string",
- "content": "test"
-} \ No newline at end of file
diff --git a/workflow-bdd/resources/json/createWorkflow.json b/workflow-bdd/resources/json/createWorkflow.json
deleted file mode 100644
index cc200efb..00000000
--- a/workflow-bdd/resources/json/createWorkflow.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "RANDOM",
- "description": "Workflow Description"
-} \ No newline at end of file
diff --git a/workflow-bdd/resources/json/versionWith2Inputs2Outputs1.json b/workflow-bdd/resources/json/versionWith2Inputs2Outputs1.json
deleted file mode 100644
index cc0a38ef..00000000
--- a/workflow-bdd/resources/json/versionWith2Inputs2Outputs1.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "description": "version with 2 inputs and 2 outputs",
- "inputs": [
- {
- "mandatory": true,
- "name": "in1",
- "type": "STRING"
- },
- {
- "mandatory": true,
- "name": "in2",
- "type": "INTEGER"
- }
- ],
- "outputs": [
- {
- "mandatory": true,
- "name": "out1",
- "type": "TIMESTAMP"
- },
- {
- "mandatory": true,
- "name": "out2",
- "type": "BOOLEAN"
- }
- ]
-} \ No newline at end of file
diff --git a/workflow-bdd/resources/json/versionWith2Inputs2Outputs2.json b/workflow-bdd/resources/json/versionWith2Inputs2Outputs2.json
deleted file mode 100644
index 58f9b2b8..00000000
--- a/workflow-bdd/resources/json/versionWith2Inputs2Outputs2.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "description": "version with 2 inputs and 2 outputs",
- "inputs": [
- {
- "mandatory": false,
- "name": "in1",
- "type": "STRING"
- },
- {
- "mandatory": true,
- "name": "in3",
- "type": "INTEGER"
- }
- ],
- "outputs": [
- {
- "mandatory": false,
- "name": "out1",
- "type": "TIMESTAMP"
- },
- {
- "mandatory": true,
- "name": "out3",
- "type": "BOOLEAN"
- }
- ]
-} \ No newline at end of file
diff --git a/workflow-bdd/resources/json/versionWithDuplicateInputName.json b/workflow-bdd/resources/json/versionWithDuplicateInputName.json
deleted file mode 100644
index 978d9c09..00000000
--- a/workflow-bdd/resources/json/versionWithDuplicateInputName.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "description": "version with with duplicate input name",
- "inputs": [
- {
- "mandatory": true,
- "name": "in1",
- "type": "STRING"
- },
- {
- "mandatory": true,
- "name": "in1",
- "type": "INTEGER"
- }
- ],
- "outputs": [
- {
- "mandatory": true,
- "name": "out1",
- "type": "TIMESTAMP"
- },
- {
- "mandatory": true,
- "name": "out2",
- "type": "BOOLEAN"
- }
- ]
-} \ No newline at end of file
diff --git a/workflow-bdd/resources/json/versionWithDuplicateOutputName.json b/workflow-bdd/resources/json/versionWithDuplicateOutputName.json
deleted file mode 100644
index 4810ebe9..00000000
--- a/workflow-bdd/resources/json/versionWithDuplicateOutputName.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "description": "version with duplicate output name",
- "inputs": [
- {
- "mandatory": true,
- "name": "in1",
- "type": "STRING"
- },
- {
- "mandatory": true,
- "name": "in2",
- "type": "INTEGER"
- }
- ],
- "outputs": [
- {
- "mandatory": true,
- "name": "out1",
- "type": "TIMESTAMP"
- },
- {
- "mandatory": true,
- "name": "out1",
- "type": "BOOLEAN"
- }
- ]
-} \ No newline at end of file
diff --git a/workflow-bdd/stepDefinitions/ActivitySpec_steps.js b/workflow-bdd/stepDefinitions/ActivitySpec_steps.js
deleted file mode 100644
index 7fe8ddf2..00000000
--- a/workflow-bdd/stepDefinitions/ActivitySpec_steps.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2016-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.
- */
-
-const {Then, When} = require('cucumber');
-const assert = require('assert');
-const util = require('./Utils.js');
-const _ = require('lodash');
-
-When('I want to create an ActivitySpec', function () {
- let path = '/activity-spec';
- return util.request(this.context, 'POST', path, this.context.inputData, false, 'activity_spec').then((result)=> {
- this.context.item = {id : result.data.id, versionId: result.data.versionId};
- this.context.activityspec = {id : result.data.id, versionId: result.data.versionId};
- });
-});
-
-When('I want to list ActivitySpecs with status {string}', function (string) {
- let path = '/activity-spec?status='+string;
- return util.request(this.context, 'GET', path, null, false, 'activity_spec').then((result)=> {
- this.context.listCount = result.data.listCount;
- });
-});
-
-When('I want to get the ActivitySpec for the current item', function () {
- let path = '/activity-spec/'+ this.context.item.id+'/versions/'+this.context.item.versionId ;
- return util.request(this.context, 'GET', path, null, false, 'activity_spec').then((result)=> {
- });
-});
-
-Then('I want to call action {string} on this ActivitySpec item', function(string) {
- let path = '/activity-spec/'+ this.context.item.id+'/versions/'+this.context.item.versionId+'/actions' ;
- let inputData = JSON.parse('{"action" : "' +string+ '"}');
- return util.request(this.context, 'PUT', path, inputData, false, 'activity_spec')
-}); \ No newline at end of file
diff --git a/workflow-bdd/stepDefinitions/Collaboration_Steps.js b/workflow-bdd/stepDefinitions/Collaboration_Steps.js
deleted file mode 100644
index c4de7583..00000000
--- a/workflow-bdd/stepDefinitions/Collaboration_Steps.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-const {Then, When, Given} = require('cucumber');
-const assert = require('assert');
-const util = require('./Utils.js');
-
-/**
- * @module Collaboration
- * @description Adds the user with the given user ID as a contributor on the item
- * @exampleFile Example_Collaboration.feature
- * @step I want to add user {string} as a contributor to this Item
- **/
-When('I want to add user {string} as a contributor to this Item', function(string) {
- let path = '/items/' + this.context.item.id + '/permissions/Contributor';
- let inputData = {removedUsersIds:[],addedUsersIds:[string]};
- return util.request(this.context, 'PUT', path, inputData);
-});
-
-/**
- * @module Collaboration
- * @description Adds the user with the given user ID as a contributor on the item
- * @exampleFile Example_Collaboration.feature
- * @step I want to remove user {string} as a contributor to this Item
- **/
-When('I want to remove user {string} as a contributor to this Item', function(string) {
- let path = '/items/' + this.context.item.id + '/permissions/Contributor';
- let inputData = {removedUsersIds:[string],addedUsersIds:[]};
- return util.request(this.context, 'PUT', path, inputData);
-});
-
-/**
- * @module Collaboration
- * @description Changes the owner to the given User ID
- * @exampleFile Example_Collaboration.feature
- * @step I want to change the owner to user {string} on this Item
- **/
-When('I want to change the owner to user {string} on this Item', function(string) {
- let path = '/items/' + this.context.item.id + '/permissions/Owner';
- let inputData = {removedUsersIds:[],addedUsersIds:[string]};
- return util.request(this.context, 'PUT', path, inputData);
-});
-
-
-/**
- * @module Collaboration
- * @description Checks the role for a user on the item by User id and Role can be either: Contributor/Owner
- * @exampleFile Example_Collaboration.feature
- * @step I want check user {string} has role {string} on this Item
- **/
-When('I want to check user {string} has role {string} on this Item', function(string, string2) {
- let path = '/items/' + this.context.item.id + '/permissions';
- return util.request(this.context, 'GET', path).then(results => {
- for (i in results.data.results) {
- if (results.data.results[i].userId === string) {
- assert.equal(string2.toLowerCase(), results.data.results[i].permission.toLowerCase());
- return;
- }
- }
- assert.fail('User not found');
- });
-});
-
-/**
- * @module Collaboration
- * @description Checks the user wth this Id has no permissions on this item
- * @exampleFile Example_Collaboration.feature
- * @step I want check user {string} has rno permissions on this Item
- **/
-When('I want to check user {string} has no permissions on this Item', function(string) {
- let path = '/items/' + this.context.item.id + '/permissions';
- return util.request(this.context, 'GET', path).then(results => {
- for (i in results.data.results) {
- if (results.data.results[i].userId === string) {
- assert.fail('Found', null, 'User should not have permissions');
- return;
- }
- }
- });
-});
-
-/**
- * @module Collaboration
- * @description Gets the permissions for the Item
- * @exampleFile Example_Collaboration.feature
- * @step I want to get the permissions for this Item
- **/
-When('I want to get the permissions for this Item', function() {
- let path = '/items/' + this.context.item.id + '/permissions';
- return util.request(this.context, 'GET', path);
-});
-
-/**
- * @module Collaboration
- * @description Changes the user for the Rest calls
- * @exampleFile Example_Collaboration.feature
- * @step I want to set the user to {string}
- **/
-When('I want to set the user to {string}', function(string) {
- this.context.headers['onboarding'].USER_ID = string;
-});
diff --git a/workflow-bdd/stepDefinitions/General_Steps.js b/workflow-bdd/stepDefinitions/General_Steps.js
deleted file mode 100644
index 1ceea647..00000000
--- a/workflow-bdd/stepDefinitions/General_Steps.js
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-const {Then, When, Given} = require('cucumber');
-const assert = require('assert');
-const _ = require('lodash');
-const normalizeNewline = require('normalize-newline');
-require('node-zip');
-YAML = require('yamljs');
-const fs = require('fs');
-const util = require('./Utils.js');
-
-function getPath(path, context) {
- let compiled = _.template(path);
- return compiled(context);
-}
-
-/**
- * @module ContextData
- * @description Use with "Given". Use ONLY for local testing when you know the value of the Item you want to use
- * instead of creating a new one.
- * @step Item {string} and version Id {string}
- **/
-Given('Item {string} and version Id {string}', function (string, string2) {
- this.context.item.id = string;
- this.context.item.versionId = string2;
-});
-/**
- * @module ContextData
- * @exampleFile ResponseDataChecks.feature
- * @description Response Data::<br>
- * """<br>
- * {jsonObject}<br>
- * """<br>
- * @step Use with "Given". Use ONLY for local testing, creates a response data object
- **/
-Given('Response Data:', function (docString) {
- this.context.responseData = JSON.parse(docString);
-});
-
-/**
- * @module ContextData
- * @description Copy a property from the response data to context Item data, example: item.componentId
- * @step I want to save on the context for {string} property {string} with value {string}
- **/
-Then('I want to save on the context for {string} property {string} with value {string}', function(string, string1, string2) {
- assert.equal(_.includes(['Item'], string), true);
- let val = _.get(this.context.responseData, string2);
- _.set(this.context, string1, val);
-});
-/**
- * @module ContextData
- * @description Copy a property from the response data to saved data on the context. Example: save newly generated IDs. Response data value can be from a path, xample: results[0].id
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to save to property {string} from response data path {string}
- **/
-Then('I want to copy to property {string} from response data path {string}', function(string, string2) {
- let val = _.get(this.context.responseData, string2);
- _.set(this.context, string, val);
-});
-/**
- * @module ContextData
- * @description This will set the value of a saved property on the context
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to set property {string} to value {string}
- **/
-Then('I want to set property {string} to value {string}', function(string, string2) {
- _.set(this.context, string, string2);
-});
-
-/**
- * @module ContextData
- * @description sets context property to a random value
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to update the input property {string} with a random value
- **/
-Then('I want to set property {string} with a random value', function (string) {
- _.set(this.context, string, util.random());
-});
-
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a value. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} for value {string}
- **/
-Then('I want to check property {string} for value {string}', function(string, string2) {
- assert.equal(_.get(this.context.responseData, string), string2);
-});
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a value. property can be a path
- * (example: results[0].id). Supports comparison to a long String by allowing a line break
- * @exampleFile VirtualMachineInterfaceValidationHeatResourceMissingProperties.feature
- * @step I want to check property {string} for value {string}
- **/
-
-Then('I want to check property {string} for value:', function(string, docString) {
- assert.equal(_.get(this.context.responseData, string), docString.trim());
-});
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a integer. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} for value {int}
- **/
-Then('I want to check property {string} for value {int}', function(string, int) {
- assert.equal(_.get(this.context.responseData, string), int);
-});
-
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a boolean. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} to be "True/False"
- **/
-Then('I want to check property {string} to be {word}', function(string, string2) {
- assert.equal(_.get(this.context.responseData, string), string2.toLowerCase() == "true");
-});
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a boolean. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} to have length {int}
- **/
-Then('I want to check property {string} to have length {int}', function(string, intLength) {
- let arrayProp = _.get(this.context.responseData, string);
- assert.equal(arrayProp.length, intLength);
-});
-/**
- * @module ResponseData
- * @description Will check the output data for a property and make sure it exists
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} exists
- **/
-Then('I want to check property {string} exists', function(string) {
- assert.equal(_.has(this.context.responseData, string), true);
-});
-/**
- * @module ResponseData
- * @description Will check the output data for a property and make sure it does not exist
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} does not exist
- **/
-Then('I want to check property {string} does not exist', function(string) {
- assert.equal(_.has(this.context.responseData, string), false);
-});
-
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a value. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} for value {string}
- **/
-Then('I want to check in the list {string} property {string} with value {string} exists', function(listPath, propertyPath, value) {
- var list = _.get(this.context.responseData, listPath);
- let valueCheck = getPath(value, this.context);
- assert.notEqual(list.find(element => _.get(element, propertyPath) === valueCheck), undefined);
-});
-
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a value. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} for value {string}
- **/
-Then('I want to check in the list {string} property {string} with value {string} does not exist', function(listPath, propertyPath, value) {
- var list = _.get(this.context.responseData, listPath);
- assert.equal(list.find(element => _.get(element, propertyPath) === value), undefined);
-});
-
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a value. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} for value {string}
- **/
-Then('I want to check in the list {string} property {string} with value of saved property {string} exists', function(listPath, propertyPath, valueProperty) {
- var list = _.get(this.context.responseData, listPath);
- var value = _.get(this.context, valueProperty);
- assert.notEqual(list.find(element => _.get(element, propertyPath) === value), undefined);
-});
-
-/**
- * @module ResponseData
- * @description Will check the output data for a property and a value. property can be a path (example: results[0].id)
- * @exampleFile ResponseDataChecks.feature
- * @step I want to check property {string} for value {string}
- **/
-Then('I want to check in the list {string} property {string} with value of saved property {string} does not exist', function(listPath, propertyPath, valueProperty) {
- var list = _.get(this.context.responseData, listPath);
- var value = _.get(this.context, valueProperty);
- assert.equal(list.find(element => _.get(element, propertyPath) === value), undefined);
-});
-
-/**
-* @module ContextData
-* @description Use during development to see what is on the context
- * @exampleFile ResponseDataChecks.feature
-* @step I want to print the context data
-**/
-Then('I want to print the context data', function() {
- console.log('------------ context ---------------');
- console.log(JSON.stringify(this.context, null, 2));
- console.log('--------------------------------------');
-});
-/**
- * @module ContextData
- * @description Set this in order to check that the following Rest call will not have response code 200
- * @exampleFile Example_Rest_Calls.feature
- * @step I want the following to fail
- **/
-Then('I want the following to fail', function() {
- this.context.shouldFail = true;
-});
-
-/**
- * @module ContextData
- * @description Set this in order to check that the following Rest call will not have response code 200
- * @exampleFile Example_Rest_Calls.feature
- * @step I want the following to fail
- **/
-Then('I want the following to fail with response status code {int}', function(int) {
- this.context.shouldFail = true;
- this.context.responseStatusCode = int;
-});
-
-/**
- * @module ContextData
- * @description Set this in order to check that the following Rest call will have the error code on the return data
- * @exampleFile Example_VSP.feature
- * @step I want the following to fail with error code {string}
- **/
-Then('I want the following to fail with error code {string}', function(string) {
- this.context.shouldFail = true;
- this.context.errorCode = string;
-});
-
-
-/**
- * @module ContextData
- * @description Set this in order to check that the following Rest call will have the error message on the return data
- * @exampleFile DeleteVLMCertified.feature
- * @step I want the following to fail with error message {string}
- **/
-Then('I want the following to fail with error message {string}', function(string) {
- this.context.shouldFail = true;
- let errorMessage = getPath(string, this.context);
- this.context.errorMessage = errorMessage;
-});
-
-/**
- * @module ZipData
- * @description Use this in order to extract a file from a zip file and to compare it to a local file (string comparison).
- * @exampleFile Example_VSP.feature
- * @step I want to compare the content of the entry {string} in the zip {string} with file {string}
- **/
-Then ('I want to compare the content of the entry {string} in the zip {string} with file {string}', function (string, string2, string3) {
- let zipFile = fs.readFileSync(string2, 'binary');
- let zip = new JSZip(zipFile, {base64: false, checkCRC32: true});
- let fileData = zip.files[string]._data;
- let compareFileData = fs.readFileSync(string3, {encoding: 'ascii'});
- assert.equal(normalizeNewline(compareFileData), normalizeNewline(fileData));
-});
-
-/**
- * @module ZipData
- * @description Loads the yaml from zip file onto the context responseData as JSON for running checks on the output
- * @exampleFile Example_VSP.feature
- * @step I want to load the yaml content of the entry {string} in the zip {string} to context
- **/
-Then ('I want to load the yaml content of the entry {string} in the zip {string} to context', function (string, string2, callback) {
- let zipFile = fs.readFileSync(string2, 'binary');
- let zip = new JSZip(zipFile, {base64: false, checkCRC32: true});
- let fileData = zip.files[string]._data;
- let nativeObject = YAML.parse(fileData);
- this.context.responseData = nativeObject;
- callback();
-});
-
-
-/**
- * @module ZipData
- * @description Loads the json from zip file onto the context responseData for running check son the output
- * @exampleFile Example_VSP.feature
- * @step I want to load the json content of the entry {string} in the zip {string} to context
- **/
-When('I want to load the json content of the entry {string} in the zip {string} to context', function (string, string2, callback) {
- let zipFile = fs.readFileSync(string2, 'binary');
- let zip = new JSZip(zipFile, {base64: false, checkCRC32: true});
- let str = zip.files[string]._data;
- this.context.responseData = JSON.parse(str);
- callback();
-});
-
-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], _.get(this.context, valueProperty));
-});
-
-/**
- * @module ResponseData
- * @description Check that the itemId from context exits in result of responseData
- * exampleFile ArchiveItem.feature
- * step I want to check that item exits in response
- **/
-Then('I want to check that item exits in response', function() {
-
- const id = this.context.item.id;
- const results = this.context.responseData.results;
- var testResult = false;
-
- for(var i=0; i< results.length; i++){
- if ( id == results[i].id){
- testResult = true;
- }
- }
-
- assert.equal(testResult,true);
-});
-
-
-/**
- * @module ResponseData
- * @description Check that the itemId from context does NOT exits in result of responseData
- * exampleFile ArchiveItem.feature
- * step I want to check that item does not exits in response
- **/
-Then('I want to check that item does not exits in response', function() {
-
- const id = this.context.item.id;
- const results = this.context.responseData.results;
- var testResult = false;
-
- for(var i=0; i< results.length; i++){
- if ( id == results[i].id){
- testResult = true;
- }
- }
-
- assert.equal(testResult,false);
-}); \ No newline at end of file
diff --git a/workflow-bdd/stepDefinitions/InputData_steps.js b/workflow-bdd/stepDefinitions/InputData_steps.js
deleted file mode 100644
index 7fee19a2..00000000
--- a/workflow-bdd/stepDefinitions/InputData_steps.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-const {Then, When, Given} = require('cucumber');
-const assert = require('assert');
-const _ = require('lodash');
-const fs = require('fs');
-const util = require('./Utils.js');
-
-function getPath(path, context) {
- let compiled = _.template(path);
- return compiled(context);
-}
-
-/**
- * @module InputData
- * @description creates an ampty input data object
- * @exampleFile Example_Rest_Calls.feature, Example_VLM.feature
- * @step I want to create input data
- **/
-When('I want to create input data', function () {
- this.context.inputData = {};
-});
-
-/**
- * @module InputData
- * @exampleFile Example_Heat.feature
- * @description I want to set the input data to:<br>
- * """<br>
- * {jsonObject}<br>
- * """<br>
- * @step creates an input data element with the given json object
- **/
-When('I want to set the input data to:', function (docString) {
- this.context.inputData = JSON.parse(docString);
-});
-
-/**
- * @module InputData
- * @description creates an input data object from the json in the given file
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to set the input data to file {string}
- **/
-When('I want to set the input data to file {string}', function (string) {
- this.context.inputData = util.getJSONFromFile(string);
-});
-
-/**
- * @module InputData
- * @description sets the property on the input data to the given value
- * @exampleFile Example_Rest_Calls.feature, Example_VLM.feature
- * @step I want to update the input property {string} with value {string}
- **/
-Then('I want to update the input property {string} with value {string}', function(string, string2) {
- let value = getPath(string2, this.context);
- _.set(this.context.inputData, string, value);
-});
-
-/**
- * @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
- **/
-Then('I want to remove {string} from the input data', function(string) {
- delete this.context.inputData[string];
-});
-
-/**
- * @module InputData
- * @description sets the input data property to a random value
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to update the input property {string} with a random value
- **/
-Then('I want to update the input property {string} with a random value', function(string) {
- _.set(this.context.inputData, string, util.random());
-});
diff --git a/workflow-bdd/stepDefinitions/InterfaceOperationSteps.js b/workflow-bdd/stepDefinitions/InterfaceOperationSteps.js
deleted file mode 100644
index 4c00debc..00000000
--- a/workflow-bdd/stepDefinitions/InterfaceOperationSteps.js
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-const {Then, When} = require('cucumber');
-const assert = require('assert');
-const util = require('./Utils.js');
-
-
-When('I want to create a VF', function() {
- let inputData = util.getJSONFromFile('resources/json/operation/createVF_From_Catalog.json');
-
- inputData.name = util.random();
- inputData.tags[0] = util.random();
-
- let path = '/catalog/resources';
- return util.request(this.context, 'POST', path, inputData, false, 'vf').then(result => {
- this.context.item = {uniqueId : result.data.uniqueId, id : result.data.inputs[0].uniqueId, name : result.data.inputs[0].name};
- this.context.vf = {uniqueId : result.data.uniqueId, id : result.data.inputs[0].uniqueId, name : result.data.inputs[0].name};
-});
-});
-
-function makeType() {
- var text = "";
- var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-
- for (var i = 0; i < 5; i++)
- text += possible.charAt(Math.floor(Math.random() * possible.length));
-
- return text;
-}
-
-When('I want to create an Operation', function() {
- let inputData = util.getJSONFromFile('resources/json/operation/createOperation.json');
- //let path = '/catalog/resources/f3dc81bb-85e9-4dfd-bd1b-37f5dc5e5534/interfaceOperations';
- let path = '/catalog/resources/' + this.context.vf.uniqueId +'/interfaceOperations';
-
- inputData.interfaceOperations.create.operationType = makeType();
- inputData.interfaceOperations.create.inputParams.listToscaDataDefinition[0].paramName = util.random();
- inputData.interfaceOperations.create.inputParams.listToscaDataDefinition[0].paramId = this.context.vf.id;
-
- return util.request(this.context, 'POST', path, inputData, false, 'vf').then(result => {
- this.context.item = {uniqueId : result.data.uniqueId, operationType : result.data.operationType};
- this.context.operation = {uniqueId : result.data.uniqueId, operationType : result.data.operationType};
-});
-});
-
-
-
-When('I want to list Operations', function () {
- let path = '/catalog/resources/' + this.context.vf.uniqueId + '/filteredDataByParams?include=interfaces';
- return util.request(this.context, 'GET', path, null, false, 'vf').then((result)=> {
-});
-});
-
-
-When('I want to get an Operation by Id', function () {
- let path = '/catalog/resources/' + this.context.vf.uniqueId + '/interfaceOperations/' + this.context.operation.uniqueId;
- return util.request(this.context, 'GET', path, null, false, 'vf').then((result)=> {
- this.context.item ={uniqueId : result.data.uniqueId, operationType: result.data.operationType};
- this.context.operation = {uniqueId : result.data.uniqueId, operationType : result.data.operationType};
-});
-});
-
-
-When('I want to update an Operation', function () {
- let inputData = util.getJSONFromFile('resources/json/operation/updateOperation.json');
- let path = '/catalog/resources/' + this.context.vf.uniqueId + '/interfaceOperations/';
- inputData.interfaceOperations.create.uniqueId = this.context.operation.uniqueId;
- inputData.interfaceOperations.create.operationType = this.context.operation.operationType;
- inputData.interfaceOperations.create.inputParams.listToscaDataDefinition[0].paramName = util.random();
- inputData.interfaceOperations.create.inputParams.listToscaDataDefinition[0].paramId = this.context.vf.id;
- return util.request(this.context, 'PUT', path, inputData, false, 'vf').then((result)=> {
- this.context.item ={uniqueId : result.data.uniqueId, operationType: result.data.operationType};
- this.context.operation = {uniqueId : result.data.uniqueId, operationType : result.data.operationType};
-});
-});
-
-
-When('I want to delete an Operation', function() {
- let path = '/catalog/resources/' + this.context.vf.uniqueId + '/interfaceOperations/' + this.context.operation.uniqueId;
- return util.request(this.context, 'DELETE', path, null, false, 'vf');
-});
-
-
-When('I want to checkin this VF', function () {
- let path = '/catalog/resources/' + this.context.vf.uniqueId + '/lifecycleState/CHECKIN' ;
- let inputData = {userRemarks: 'checkin'};
- return util.request(this.context, 'POST', path, inputData, false, 'vf').then((result)=> {
- this.context.item ={uniqueId : result.data.uniqueId};
- this.context.vf = {uniqueId : result.data.uniqueId};
-});
-});
-
-
-Then('I want to submit this VF', function () {
- let path = '/catalog/resources/' + this.context.vf.uniqueId + '/lifecycleState/certificationRequest' ;
- let inputData = {userRemarks: 'submit'};
- return util.request(this.context, 'POST', path, inputData, false, 'vf').then((result)=> {
- this.context.item ={uniqueId : result.data.uniqueId};
- this.context.vf = {uniqueId : result.data.uniqueId};
-});
-});
-
-
-
-
diff --git a/workflow-bdd/stepDefinitions/Item_steps.js b/workflow-bdd/stepDefinitions/Item_steps.js
deleted file mode 100644
index 3ff7f20f..00000000
--- a/workflow-bdd/stepDefinitions/Item_steps.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-const {Then, When} = require('cucumber');
-const assert = require('assert');
-const util = require('./Utils.js');
-/**
- * @module Item
- * @description uses item id and version id from context
- * @exampleFile Example_VSP.feature, Example_VLM.feature
- * @step I want to make sure this Item has status {string}
- **/
-Then('I want to make sure this Item has status {string}', function (string) {
- let path = '/items/' + this.context.item.id + '/versions';
- return util.request(this.context, 'GET', path).then(result => {
- assert.equal(result.data.results[0].id, this.context.item.versionId);
- assert.equal(result.data.results[0].status, string);
- });
-});
-/**
- * @module Item
- * @description uses item id and version id from context
- * @exampleFile Example_VSP.feature, Example_VLM.feature
- * @step I want to commit this Item
- **/
-Then('I want to commit this Item', function () {
- let path = '/items/' + this.context.item.id + '/versions/' + this.context.item.versionId + '/actions';
- let inputData = {action: 'Commit', commitRequest: {message: '00Behave'}};
- return util.request(this.context, 'PUT', path, inputData);
-});
-/**
- * @module Item
- * @description creates a new major version. item id and version id from context
- * @exampleFile Example_VLM.feature
- * @step I want to create a new version for this Item
- **/
-Then('I want to create a new version for this Item', function () {
- let path = '/items/' + this.context.item.id + '/versions/' + this.context.item.versionId;
- let inputData = {description: 'Behave Version', creationMethod: 'major'};
- return util.request(this.context, 'POST', path, inputData).then(result => {
- assert.equal(result.data.status, 'Draft');
- });
-});
-/**
- * @module Item
- * @description reverts to a revision with a given saved property. Should be set from the revision list first
- * @exampleFile Example_VLM.feature
- * @step I want to commit this Item
- **/
-Then('I want to revert this Item to the revision with the value from saved property {string}', function (string) {
- let path = '/items/' + this.context.item.id + '/versions/' + this.context.item.versionId + '/actions';
- let inputData = {action: 'Revert', revisionRequest: {revisionId: this.context[string]}};
- return util.request(this.context, 'PUT', path, inputData);
-});
-
-
-/**
- * @module Item
- * @exampleFile ArchiveItem.feature
- * @step I want to archive this item
- **/
-Then('I want to archive this item', function() {
- let path = '/items/' + this.context.item.id + '/actions'
- let inputData = {action: 'ARCHIVE'};
- return util.request(this.context, 'PUT', path, inputData);
-});
-
-
-/**
- * @module Item
- * @exampleFile ArchiveItem.feature
- * @step I want to restore this item
- **/
-Then('I want to restore this item', function() {
- let path = '/items/' + this.context.item.id + '/actions'
- let inputData = {action: 'RESTORE'};
- return util.request(this.context, 'PUT', path, inputData);
-});
-
diff --git a/workflow-bdd/stepDefinitions/REST_Steps.js b/workflow-bdd/stepDefinitions/REST_Steps.js
deleted file mode 100644
index c3844124..00000000
--- a/workflow-bdd/stepDefinitions/REST_Steps.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright © 2016-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.
- */
-const {When} = require('cucumber');
-const _ = require('lodash');
-const util = require('./Utils.js');
-_.templateSettings.interpolate = /{([\s\S]+?)}/g;
-
-function getPath(path, context) {
- let compiled = _.template(path);
- return compiled(context);
-}
-/**
- * @module Rest_Calls
- * @description makes a GET request to the given path (path is appended after the "onboarding-api/v1.0" prefix)<br>
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to get path {string}
- **/
-When('I want to get path {string}', function(string) {
- let path = getPath(string, this.context);
- return util.request(this.context, 'GET', path);
-});
-
-/**
- * @module Rest_Calls
- * @description makes a DELETE request to the given path and appends the saved property (path is appended after the "onboarding-api/v1.0" prefix)<br>
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to delete for path {string} with the value from saved property {string}
- **/
-When('I want to delete for path {string} with the value from saved property {string}', function(string, string2) {
- let path = getPath(string, this.context);
- path += '/' + this.context[string2];
- return util.request(this.context, 'DELETE', path);
-});
-
-/**
- * @module Rest_Calls
- * @description makes a DELETE request to the given path and appends the saved property (path is appended after the "onboarding-api/v1.0" prefix)<br>
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to delete for path {string} with the value from saved property {string}
- **/
-When('I want to delete for path {string}', function (string) {
- let path = getPath(string, this.context);
- //path += '/' + this.context[string2];
- return util.request(this.context, 'DELETE', path);
-});
-
-/**
- * @module Rest_Calls
- * @description makes a PUT request to the given path and sends the input data from the context (path is appended after the "onboarding-api/v1.0" prefix)<br>
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to update for path {string} with the input data from the context
- **/
-When('I want to update for path {string} with the input data from the context', function(string) {
- let path = getPath(string, this.context);
- return util.request(this.context, 'PUT', path, this.context.inputData);
-});
-
-/**
- * @module Rest_Calls
- * @description makes a POST request to the given path and sends the input data from the context (path is appended after the "onboarding-api/v1.0" prefix)<br>
- * @exampleFile Example_Rest_Calls.feature
- * @step I want to create for path {string} with the input data from the context
- **/
-When('I want to create for path {string} with the input data from the context', function(string) {
- let path = getPath(string, this.context);
- return util.request(this.context, 'POST', path, this.context.inputData);
-});
diff --git a/workflow-bdd/stepDefinitions/Utils.js b/workflow-bdd/stepDefinitions/Utils.js
deleted file mode 100644
index 9f398169..00000000
--- a/workflow-bdd/stepDefinitions/Utils.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-const request = require('request');
-const fs = require('fs');
-require('node-zip');
-
-function _request(context, method, path, data, isBinary=false, type='workflow') {
- let server = context.getUrlForType(type);
-
- let options = {
- method: method,
- url: server + path,
- headers: context.headers[type]
- };
- console.log('--> Calling REST ' + options.method +' url: ' + options.url);
-
- return new Promise(function (resolve, reject) {
- if (method === 'POST' || method === 'PUT') {
- if (isBinary) {
- var formData = {
- upload: fs.createReadStream(data),
- };
- options.formData = formData;
- } else {
- options.json = data;
- }
- }
- request(options, function (err, result, data) {
- context.inputData = null;
- if (err) {
- console.error('Request URL: ' + result.request.uri.href);
- console.error('Request Method: ' + result.request.method);
- console.error('Response Status Code: ' +result.statusCode);
- console.log(err);
- reject(err);
- } else {
- let isExpected = (context.shouldFail) ? (result.statusCode != 200 && result.statusCode != 201) : (result.statusCode == 200 || result.statusCode == 201);
- if (!isExpected) {
- console.error('Request URL: ' + result.request.uri.href);
- console.error('Request Method: ' + result.request.method);
- console.error('Response Status Code: ' +result.statusCode);
- console.error(result.body);
- reject('Status Code was ' + result.statusCode);
- }
- if (context.shouldFail && context.responseStatusCode) {
- if (result.statusCode !== context.responseStatusCode) {
- reject('Response Status Code was ' + result.statusCode + ' instead of ' + context.responseStatusCode);
- }
- }
- if (context.shouldFail && context.errorCode) {
- if (typeof data === 'string' && data) {
- data = JSON.parse(data);
- }
- let errorCode = data.errorCode;
- let contextErrorCode = context.errorCode;
- context.errorCode = null;
- if (errorCode !== contextErrorCode) {
- reject('Error Code was ' + errorCode + ' instead of ' + contextErrorCode);
- }
- }
- if (context.shouldFail && context.errorMessage) {
- if (typeof data === 'string' && data) {
- data = JSON.parse(data);
- }
- let errorMessage = data.message;
- let contextErrorMessage = context.errorMessage;
- context.errorMessage = null;
- if (errorMessage !== contextErrorMessage) {
- reject('Error Message was ' + errorMessage + ' instead of ' + contextErrorMessage);
- }
- }
- if (context.shouldFail) {
- context.shouldFail = false;
- resolve({statusCode: result.statusCode, data: {}});
- return;
- }
- if (method === 'GET' && isBinary) {
- // downloading (NetworkPackage) files
- return ({
- blob: blobUtil.createBlob([data], {type: 'text/plain'}),
- headers: result.headers
- });
- } else {
- if (typeof data === 'string' && data) {
- data = JSON.parse(data);
- }
- context.responseData = data;
- context.inputData = data;
- resolve({statusCode: result.statusCode, data: data});
- }
- }
- });
- });
-}
-
-function download(context, path, filePath, callback, type='workflow') {
- let server = context.getUrlForType(type);
- let options = {
- method: 'GET',
- url: server + path,
- headers: context.headers[type]
- };
- console.log('--> Calling REST download url: ' + options.url);
-
- var file = fs.createWriteStream(filePath);
- var r = request(options).pipe(file);
- r.on('error', function (err) {
- console.log(err);
- callback(err);
- });
- r.on('finish', function () {
- file.close();
- let zipFile = fs.readFileSync(filePath, 'binary');
- let zip = new JSZip(zipFile, {base64: false, checkCRC32: true});
- if (zip.files['MANIFEST.json']) {
- let manifestData = zip.files['MANIFEST.json']._data;
- manifestData = manifestData.replace(/\\n/g, '');
- context.responseData = JSON.parse(manifestData);
- }
- callback();
- });
-
-};
-
-function _random() {
- let d = new Date();
- return d.getTime().toString().split('').reverse().join('');
-}
-
-function _getJSONFromFile(file) {
- return JSON.parse(fs.readFileSync(file, 'utf8'));
-}
-
-
-module.exports = {
- request: _request,
- random : _random,
- getJSONFromFile: _getJSONFromFile,
- download: download
-};
diff --git a/workflow-bdd/stepDefinitions/Workflow_Steps.js b/workflow-bdd/stepDefinitions/Workflow_Steps.js
deleted file mode 100644
index abeacab2..00000000
--- a/workflow-bdd/stepDefinitions/Workflow_Steps.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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<br>
- * Input data will be taken from the 'resources/json/createWorkflow.json' file.
- * @step I want to create a Workflow
- **/
-
-const {Then, When, Given} = require('cucumber');
-const assert = require('assert');
-const util = require('./Utils.js');
-
-When('I want to create a Workflow', function() {
- let inputData = util.getJSONFromFile('resources/json/createWorkflow.json');
- inputData.name = util.random();
- let path = '/workflows';
- return util.request(this.context, 'POST', path, inputData).then(result => {
- this.context.item ={id : result.data.id};
-});
-}); \ No newline at end of file
diff --git a/workflow-bdd/stepDefinitions/world.js b/workflow-bdd/stepDefinitions/world.js
deleted file mode 100644
index 4c50b0c9..00000000
--- a/workflow-bdd/stepDefinitions/world.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2016-2017 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.
- */
-const { setWorldConstructor } = require('cucumber');
-const _ = require('lodash');
-
-let config = require('../config.json');
-let localConfig = {};
-try {
- localConfig = require('../devConfig.json');
-} catch (e) {
- try {
- localConfig = require('../jenkinsConfig.json');
- } catch (e) {
- console.error("no env configuration was found!");
- }
-}
-
-config = _.merge(config, localConfig);
-var {setDefaultTimeout} = require('cucumber');
-
-
-/**
- * @module Context
- * @description Context that is used per feature file and can be accessed as 'this.context' in all steps.<Br>
- *<Br>
- * Contains the following items:<br>
- * <li>this.context.server <ul>REST server and onboarding prefix including version. set either in configuration file or from the command line or SERVER environment variable</ul>
- * <li>this.context <ul>Object with properties that were saved in the steps.</ul>
- * <li>this.context.inputdata <ul><b>Automatically updated with the last responseData from the Rest call</b><br>Object with properties that were prepares in the steps.</ul>
- * <li>this.context.responseData <ul>Response from the last REST call.</ul>
- **/
-class CustomWorld {
- constructor(options) {
- this.context = {};
- this.context.headers = {};
- let typeName;
- for (typeName in config) {
- this.context.headers[typeName] = {};
- if (config[typeName].user) {
- this.context.headers[typeName]['USER_ID'] = config[typeName].user;
- }
- }
-
- this.context.item = {id: null, versionId: null, componentId: null};
-
- this.context.shouldFail = false;
- this.context.errorCode = null;
- this.context.inputData = null;
- this.context.responseData = null;
-
- this.context.defaultServerType = 'workflow';
-
- this.config = config;
-
- let context = this.context;
- this.context.getUrlForType = (function(type) {
- var _server = context.server;
- var _config = config;
- return function(type) {
- let typeData = _config[type];
- let _url = _config.protocol + '://' +
- typeData.server + ':' +
- typeData.port + '/' +
- typeData.prefix;
- return _url;
- }
- })();
-
- setDefaultTimeout(60 * 1000);
- }
-}
-
-
-setWorldConstructor(CustomWorld);