From 866418030975f2ee09a27d144de4e880218e84e8 Mon Sep 17 00:00:00 2001 From: ilanap Date: Tue, 1 Jan 2019 17:22:07 +0200 Subject: docker for cucumber BDD Issue-ID: SDC-2028 Change-Id: I7c1376c449ba7650c3bbc1838726cfd178d2ca40 Signed-off-by: ilanap --- .../TestAbort_ForInvalidHeatFile.feature | 45 +++ .../TestAbort_ForValidHeatFile.feature | 30 ++ .../AbortFunctionality/TestProperties.feature | 32 ++ .../AbortFunctionality/TestRollback.feature | 41 +++ .../features/AbortFunctionality/TestSubmit.feature | 35 ++ .../features/ActivitySpec/TestCreate.feature | 70 ++++ .../TestInvalidStatusTransition.feature | 29 ++ .../features/ComponentData.feature | 52 +++ .../features/Example_Collaboration.feature | 26 ++ .../features/Example_HEAT.feature | 30 ++ ...ample_ResponseData_CheckAndManipulation.feature | 22 ++ .../features/Example_Rest_Calls.feature | 36 ++ .../features/Example_Toggle.feature | 8 + .../features/Example_ToscaTranslationFlow.feature | 48 +++ .../features/Example_VLM.feature | 46 +++ .../features/Example_VSP.feature | 60 ++++ .../TestInterfaceLifecycleTypes.feature | 8 + .../TestResourceInterfaceOperation.feature | 98 ++++++ .../TestServiceInterfaceOperation.feature | 37 ++ .../Onboarding/ArchiveItem/ArchiveVlm.feature | 42 +++ .../Onboarding/ArchiveItem/ArchiveVsp.feature | 58 ++++ .../ArchiveItem/FilterArchivedVSPpackage.feature | 40 +++ .../DeleteItem/DeleteVLMCertified.feature | 24 ++ .../Onboarding/DeleteItem/DeleteVLMDraft.feature | 24 ++ .../DeleteItem/DeleteVSPCertified.feature | 29 ++ .../Onboarding/DeleteItem/DeleteVSPDraft.feature | 22 ++ .../Onboarding/ListItems/ListItemsFilters.feature | 86 +++++ .../ListItems/ListItemsFiltersFailures.feature | 24 ++ .../features/Onboarding/UniqueValue.feature | 33 ++ .../features/TOSCA/CapabilityDataType.feature | 20 ++ .../features/TOSCA/HeatToToscaTranslation.feature | 194 +++++++++++ .../features/TOSCA/HeatValidation.feature | 15 + ...tualMachineInterfaceValidation-positive.feature | 14 + ...InterfaceValidationGuideline3violations.feature | 31 ++ ...ValidationHeatResourceMissingProperties.feature | 31 ++ ...ceValidationHeatResourceMultipleParents.feature | 18 + .../features/TOSCA/VlanTagging.feature | 372 +++++++++++++++++++++ .../features/UserFeedback/TestMD5.feature | 68 ++++ .../features/UserFeedback/TestMRN.feature | 50 +++ 39 files changed, 1948 insertions(+) create mode 100644 cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForInvalidHeatFile.feature create mode 100644 cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForValidHeatFile.feature create mode 100644 cucumber-js-test-apis-ci/features/AbortFunctionality/TestProperties.feature create mode 100644 cucumber-js-test-apis-ci/features/AbortFunctionality/TestRollback.feature create mode 100644 cucumber-js-test-apis-ci/features/AbortFunctionality/TestSubmit.feature create mode 100644 cucumber-js-test-apis-ci/features/ActivitySpec/TestCreate.feature create mode 100644 cucumber-js-test-apis-ci/features/ActivitySpec/TestInvalidStatusTransition.feature create mode 100644 cucumber-js-test-apis-ci/features/ComponentData.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_Collaboration.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_HEAT.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_ResponseData_CheckAndManipulation.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_Rest_Calls.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_Toggle.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_ToscaTranslationFlow.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_VLM.feature create mode 100644 cucumber-js-test-apis-ci/features/Example_VSP.feature create mode 100644 cucumber-js-test-apis-ci/features/GlobalTypes/TestInterfaceLifecycleTypes.feature create mode 100644 cucumber-js-test-apis-ci/features/InterfaceOperation/TestResourceInterfaceOperation.feature create mode 100644 cucumber-js-test-apis-ci/features/InterfaceOperation/TestServiceInterfaceOperation.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVlm.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVsp.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMCertified.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMDraft.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPCertified.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPDraft.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFilters.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFiltersFailures.feature create mode 100644 cucumber-js-test-apis-ci/features/Onboarding/UniqueValue.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/CapabilityDataType.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/HeatToToscaTranslation.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/HeatValidation.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidation-positive.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationGuideline3violations.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMissingProperties.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMultipleParents.feature create mode 100644 cucumber-js-test-apis-ci/features/TOSCA/VlanTagging.feature create mode 100644 cucumber-js-test-apis-ci/features/UserFeedback/TestMD5.feature create mode 100644 cucumber-js-test-apis-ci/features/UserFeedback/TestMRN.feature (limited to 'cucumber-js-test-apis-ci/features') diff --git a/cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForInvalidHeatFile.feature b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForInvalidHeatFile.feature new file mode 100644 index 0000000000..1c501d6599 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForInvalidHeatFile.feature @@ -0,0 +1,45 @@ +# 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. + +Feature: Abort Flow - Test validation data + + Background: Init + Given I want to create a VLM + + Scenario: Test abort functionality , Check validation data for invalid heat + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/errorHeat.zip" + # abort + When I want to delete for path "/vendor-software-products/{item.id}/versions/{item.versionId}/orchestration-template-candidate" + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "onboardingOrigin" does not exist + Then I want to check property "candidateOnboardingOrigin" does not exist + Then I want to check property "validationData" does not exist + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/errorHeat.zip" + When I want to process the NetworkPackage file for this VSP + # validation data should have been updated as heat is invalid + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "validationData" exists + + # abort - processed invalid file and check validation data + When I want to delete for path "/vendor-software-products/{item.id}/versions/{item.versionId}/orchestration-template-candidate" + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "onboardingOrigin" does not exist + Then I want to check property "candidateOnboardingOrigin" does not exist + Then I want to check property "validationData" does not exist diff --git a/cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForValidHeatFile.feature b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForValidHeatFile.feature new file mode 100644 index 0000000000..c3ee8a5e6c --- /dev/null +++ b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestAbort_ForValidHeatFile.feature @@ -0,0 +1,30 @@ +# 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. + +Feature: Abort Flow - Test for valid heat + + Background: Init + Given I want to create a VLM + + Scenario: Test abort functionality for valid heat + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + Then I want to process the NetworkPackage file for this VSP + + When I want to delete for path "/vendor-software-products/{item.id}/versions/{item.versionId}/orchestration-template-candidate" + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "candidateOnboardingOrigin" does not exist + Then I want to check property "onboardingOrigin" for value "zip" \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/AbortFunctionality/TestProperties.feature b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestProperties.feature new file mode 100644 index 0000000000..e9e9acdbe1 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestProperties.feature @@ -0,0 +1,32 @@ +# 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. + +Feature: Abort Flow - Test Properties + + Background: Init + Given I want to create a VLM + + Scenario: Create VSP , Upload Network Pacakage and check properties candidateOnboardingOrigin,onboardingOrigin + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "onboardingOrigin" does not exist + Then I want to check property "candidateOnboardingOrigin" does not exist + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/errorHeat.zip" + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "candidateOnboardingOrigin" exists + Then I want to check property "candidateOnboardingOrigin" for value "zip" + Then I want to check property "onboardingOrigin" does not exist \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/AbortFunctionality/TestRollback.feature b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestRollback.feature new file mode 100644 index 0000000000..d61a1cc773 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestRollback.feature @@ -0,0 +1,41 @@ +# 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. + +Feature: Abort Flow - Test rollback + + Background: Init + Given I want to create a VLM + + Scenario: Test rollback. In case abort it should successfully rollback to previously processed service model + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + Then I want to process the NetworkPackage file for this VSP + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "onboardingOrigin" for value "zip" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/errorHeat.zip" + Then I want to process the NetworkPackage file for this VSP + Then I want to check property "status" for value "Failure" + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "candidateOnboardingOrigin" for value "zip" + + When I want to delete for path "/vendor-software-products/{item.id}/versions/{item.versionId}/orchestration-template-candidate" + # rollback - check whether it rolled back to previous processed file + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + Then I want to check property "onboardingOrigin" for value "zip" + Then I want to check property "candidateOnboardingOrigin" does not exist diff --git a/cucumber-js-test-apis-ci/features/AbortFunctionality/TestSubmit.feature b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestSubmit.feature new file mode 100644 index 0000000000..3153022396 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/AbortFunctionality/TestSubmit.feature @@ -0,0 +1,35 @@ +# 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. + +Feature: Abort Flow - Test Submit + + Background: Init + Given I want to create a VLM + + Scenario: Test submit if file is just uploaded + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + Then I want the following to fail + When I want to submit this VSP + + Scenario: Test submit if invalid file is uploaded and procced for validation + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/errorHeat.zip" + Then I want to process the NetworkPackage file for this VSP + Then I want the following to fail + When I want to submit this VSP \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/ActivitySpec/TestCreate.feature b/cucumber-js-test-apis-ci/features/ActivitySpec/TestCreate.feature new file mode 100644 index 0000000000..c4e77a7c1b --- /dev/null +++ b/cucumber-js-test-apis-ci/features/ActivitySpec/TestCreate.feature @@ -0,0 +1,70 @@ +#Feature: ActivitySpec Flow - Test Create Activity Spec +# +#Given Default prefix "activity_spec" +# +# # SDC-6350 +# Scenario: Test Create Activity Spec functionality +# #Create ActivitySpec +# 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 +# #Check id and versionId returned in response +# Then I want to check property "id" exists +# And I want to check property "versionId" exists +# +# #List ActivitySpec +# And I want to list ActivitySpecs with status "Draft" +# And I want to check property "listCount" exists +# +# #Get ActivitySpec and verify its status +# And I want to get the ActivitySpec for the current item +# And I want to check property "status" for value "Draft" +# +# #Certify and Get ActivitySpec and verify its status +# 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" +# +# #Deprecate and Get ActivitySpec and verify its status +# 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" +# +# #Delete and Get ActivitySpec and verify its status +# 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" +# +# #Pass Invalid Id to Get and verify error message +# 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: Test Create Activity Spec With Duplicate Name +# #Create ActivitySpec with name "test" +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "test" +# When I want to create an ActivitySpec +# Then I want to check property "id" exists +# And I want to check property "versionId" exists +# +# #Again Create ActivitySpec with name "test" and verify error message +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "test" +# Then I want the following to fail with error message "name already in use" +# When I want to create an ActivitySpec +# +# # SDC-6354 +# Scenario: Test Create Activity Spec With Invalid Name Format +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "test!@" +# Then I want the following to fail with error message "name should match with \"^[a-zA-Z0-9-]*$\" pattern" +# When I want to create an ActivitySpec +# +# # SDC-6355 +# Scenario: Test Create Activity Spec With Null/Blank Name +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "" +# Then I want the following to fail with error message "Mandatory name field is missing/null" +# When I want to create an ActivitySpec \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/ActivitySpec/TestInvalidStatusTransition.feature b/cucumber-js-test-apis-ci/features/ActivitySpec/TestInvalidStatusTransition.feature new file mode 100644 index 0000000000..452570e421 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/ActivitySpec/TestInvalidStatusTransition.feature @@ -0,0 +1,29 @@ +#Feature: ActivitySpec Flow +# +#Given Default prefix "activity_spec" +# +# Scenario: Test Invalid Status Transition for Activity Spec +# #Create Activity Spec +# 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 +# +# #Get Activity Spec and verify status +# When I want to get the ActivitySpec for the current item +# Then I want to check property "status" for value "Draft" +# +# #Deprecate "Draft" activity status and verify error message +# Then I want the following to fail with error message "Activity Spec is in an invalid state" +# When I want to call action "DEPRECATE" on this ActivitySpec item +# +# #Delete "Draft" activity spec and verify error code +# Then I want the following to fail with error message "Activity Spec is in an invalid state" +# When I want to call action "DELETE" on this ActivitySpec item +# +# #Certify activity spec +# When I want to call action "CERTIFY" on this ActivitySpec item +# #Certify "certified" activity spec and verify error code +# Then I want the following to fail with error message "Activity Spec is in an invalid state" +# When I want to call action "CERTIFY" on this ActivitySpec item \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/ComponentData.feature b/cucumber-js-test-apis-ci/features/ComponentData.feature new file mode 100644 index 0000000000..62f09a357f --- /dev/null +++ b/cucumber-js-test-apis-ci/features/ComponentData.feature @@ -0,0 +1,52 @@ +Feature: Component - Test Component Composition and Questionnaire Data + + Background: Init + Given I want to create a VLM + + Scenario: Test Component Composition and Questionnaire Data After Same Heat Reupload + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/vMME_Ericsson_small_v2.zip" + And I want to process the NetworkPackage file for this VSP + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}/components" + Then I want to copy to property "componentId" from response data path "results[0].id" + Then I want to check property "listCount" for value 4 + Then I want to check property "results[0].id" exists + + #Verify composition data for first component + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}/components/{componentId}" + Then I want to check property "data.name" exists + Then I want to check property "data.displayName" exists + Then I want to copy to property "firstCompDisplayName" from response data path "data.displayName" + #Ensure composition data does not have vfcCode and nfcFunction since they are moved to questionnaire + Then I want to check property "data.vfcCode" does not exist + Then I want to check property "data.nfcFunction" does not exist + + When I want to get the questionnaire for this component + #Ensure questionnaire data has nfcNamingCode in "general" and populated with value of component displayName + Then I want to check value of "general.nfcNamingCode" in the questionnaire data with value of property "firstCompDisplayName" + + #Update questionnaire nfcNamingCode and nfcFunction in "general" + And I want to update this questionnaire with value "general/nfcNamingCode" for property "test_update_naming_code" + And I want to update this questionnaire with value "general/nfcFunction" for property "test_function" + And I want to update this questionnaire + + #Retrive questionnaire and verify nfcNamingCode and nfcFunction in "general" has updated value + When I want to get the questionnaire for this component + Then I want to check this questionnaire has value "general/nfcNamingCode" for property "test_update_naming_code" + Then I want to check this questionnaire has value "general/nfcFunction" for property "test_function" + + #Reupload the same Heat + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/vMME_Ericsson_small_v2.zip" + And I want to process the NetworkPackage file for this VSP + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}/components" + #Find component id for which nfcNamingCode and nfcFunction were set in previous HEAT based on component display name + Then I want to set componentId for component name in property "firstCompDisplayName" + + #Retrive questionnaire and verify nfcNamingCode and nfcFunction in "general" has retained values that were before heat upload + When I want to get the questionnaire for this component + Then I want to check this questionnaire has value "general/nfcNamingCode" for property "test_update_naming_code" + Then I want to check this questionnaire has value "general/nfcFunction" for property "test_function" \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/Example_Collaboration.feature b/cucumber-js-test-apis-ci/features/Example_Collaboration.feature new file mode 100644 index 0000000000..c799efda12 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_Collaboration.feature @@ -0,0 +1,26 @@ +Feature: Collaboration Example File + + Background: Init + Given I want to create a VLM + Scenario: Testing permissions for contributors and Owners + Then I want to check user "mb033001" has no permissions on this Item + + When I want to add user "mb0001" as a contributor to this Item + Then I want to get the permissions for this Item + Then I want to check property "listCount" for value 2 + Then I want to check user "cs0008" has role "owner" on this Item + Then I want to check user "mb0001" has role "contributor" on this Item + + When I want to set the user to "aaaa" + Then I want the following to fail + When I want to get the permissions for this Item + + When I want to set the user to "mb0001" + Then I want the following to fail + When I want to change the owner to user "mb0001" on this Item + + When I want to set the user to "cs0008" + When I want to change the owner to user "mb0001" on this Item + Then I want to get the permissions for this Item + Then I want to check user "cs0008" has role "contributor" on this Item + Then I want to check user "mb0001" has role "owner" on this Item \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/Example_HEAT.feature b/cucumber-js-test-apis-ci/features/Example_HEAT.feature new file mode 100644 index 0000000000..778fd96616 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_HEAT.feature @@ -0,0 +1,30 @@ +# 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. + +Feature: Heat Example File + Scenario: Test with update for heat file and check for validation warning + Given I want to create a VLM + + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + When I want to download the NetworkPackage for this VSP to path "resources/downloads/base_mux.zip" + Then I want to check property "data[0].file" for value "CB_BASE.yaml" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX_with_no_base.zip" + Then I want to process the NetworkPackage file for this VSP + Then I want to check property "errors['CB_MUX.yaml'][0].level" for value "WARNING" \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/Example_ResponseData_CheckAndManipulation.feature b/cucumber-js-test-apis-ci/features/Example_ResponseData_CheckAndManipulation.feature new file mode 100644 index 0000000000..ffc74f19bb --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_ResponseData_CheckAndManipulation.feature @@ -0,0 +1,22 @@ +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"}] + } + """ + # 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 diff --git a/cucumber-js-test-apis-ci/features/Example_Rest_Calls.feature b/cucumber-js-test-apis-ci/features/Example_Rest_Calls.feature new file mode 100644 index 0000000000..e650fede66 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_Rest_Calls.feature @@ -0,0 +1,36 @@ +Feature: Example Rest Calls + Scenario: Call Rest CRUD + +# Following will override the server set in the config.json. Use ONLY during development +# Given Server host "localhost" + Given I want to create a VLM + Given I want to create a VSP with onboarding type "Manual" + + # do an update + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + + # dealing with getting to the correct input data from the request + Then I want to remove "id" from the input data + Then I want to remove "version" from the input data + Then I want to remove "candidateOnboardingOrigin" from the input data + Then I want to remove "onboardingOrigin" from the input data + Then I want to remove "onboardingMethod" from the input data + Then I want to update the input property "description" with value "updated" + Then I want to update for path "/vendor-software-products/{item.id}/versions/{item.versionId}" with the input data from the context + + # do a create + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to create for path "/vendor-software-products/{item.id}/versions/{item.versionId}/processes" with the input data from the context + Then I want to copy to property "lastProcessId" from response data path "value" + # do a delete + Then I want to delete for path "/vendor-software-products/{item.id}/versions/{item.versionId}/processes" with the value from saved property "lastProcessId" + + When I want to set property "lastProcessId" to value "NotExisting" + Then I want the following to fail + When I want to delete for path "/vendor-software-products/{item.id}/versions/{item.versionId}/processes" with the value from saved property "lastProcessId" + + Scenario: Create VLM through commands + When I want to set the input data to file "resources/json/createVLM.json" + Then I want to update the input property "vendorName" with a random value + Then I want to create for path "/vendor-license-models" with the input data from the context diff --git a/cucumber-js-test-apis-ci/features/Example_Toggle.feature b/cucumber-js-test-apis-ci/features/Example_Toggle.feature new file mode 100644 index 0000000000..2d930773bd --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_Toggle.feature @@ -0,0 +1,8 @@ +Feature: Enable all toggls + +Scenario: Enable/Disable all toggls + When I want to list Togglz + Then I want to set all Togglz to be "true" + Then I want to list Togglz + Then I want to set all Togglz to be "false" + Then I want to list Togglz \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/Example_ToscaTranslationFlow.feature b/cucumber-js-test-apis-ci/features/Example_ToscaTranslationFlow.feature new file mode 100644 index 0000000000..5ec35f9a45 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_ToscaTranslationFlow.feature @@ -0,0 +1,48 @@ +Feature: Example Tosca Validation Flow + + Background: Init + Given I want to create a VLM + + Scenario: Full - Create and submit VSP Network Package and Create VF + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + And I want to compare the content of the entry "Artifacts/CB_BASE.yaml" in the zip "resources/downloads/VSPPackage.zip" with file "resources/yaml/CB_BASE.yaml" + + Then I want to create a VF for this Item + + Scenario: Full - Same flow for different HEAT file + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/NEW_NC_with_manifest.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + Then I want to create a VF for this Item + + Scenario: Test Validation Error + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/errorHeat.zip" + And I want to process the NetworkPackage file for this VSP + And I want to print the context data + + Then I want to check property "errors['first.env'][0].level" for value "ERROR" + Then I want to check property "errors['first.env'][0].message" for value "ERROR: [YML1]: Invalid YAML format Problem - [empty yaml]" + + Scenario: yaml to json + When I want to load the yaml content of the entry "CB_BASE.yaml" in the zip "resources/uploads/BASE_MUX.zip" to context + Then I want to check property "parameters.vnf_name.description" for value "Unique name for this VF instance" \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/Example_VLM.feature b/cucumber-js-test-apis-ci/features/Example_VLM.feature new file mode 100644 index 0000000000..f4093ff07e --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_VLM.feature @@ -0,0 +1,46 @@ +Feature: VLM Example File + Scenario: VLM Defaults + + When I want to create a VLM + Then I want to make sure this Item has status "Draft" + When I want to submit this VLM + Then I want to make sure this Item has status "Certified" + Then I want to create a new version for this Item + + Scenario: Testing revisions with VLM + When I want to create a VLM + + When I want to get path "/items/{item.id}/versions/{item.versionId}/revisions" + Then I want to check property "listCount" for value 1 + + # example creating input data + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to update the input property "type" with value "Universal" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the input data from the context + Then I want to copy to property "lastProcessId" from response data path "value" + Then I want to commit this Item + + Then I want to get path "/items/{item.id}/versions/{item.versionId}/revisions" + Then I want to check property "listCount" for value 2 + Then I want to copy to property "setRevision" from response data path "results[1].id" + + When I want to revert this Item to the revision with the value from saved property "setRevision" + Then I want to get path "/items/{item.id}/versions/{item.versionId}/revisions" + Then I want to check property "listCount" for value 2 + + When I want to get path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" + Then I want to check property "listCount" for value 0 + + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to update the input property "type" with value "Universal" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the input data from the context + Then I want to copy to property "newLKG" from response data path "value" + Then I want to delete for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the value from saved property "newLKG" + + When I want to set property "NotExisting" to value "NotExisting" + Then I want the following to fail with error code "GENERAL_ERROR_REST_ID" + Then I want to revert this Item to the revision with the value from saved property "NotExisting" + Then I want to revert this Item to the revision with the value from saved property "setRevision" + diff --git a/cucumber-js-test-apis-ci/features/Example_VSP.feature b/cucumber-js-test-apis-ci/features/Example_VSP.feature new file mode 100644 index 0000000000..5cffa585c5 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Example_VSP.feature @@ -0,0 +1,60 @@ +Feature: VSP Example File + + Background: Init + Given I want to create a VLM + + Scenario: Create and submit VSP Network Package + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + When I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + Then I want to compare the content of the entry "Artifacts/CB_BASE.yaml" in the zip "resources/downloads/VSPPackage.zip" with file "resources/yaml/CB_BASE.yaml" + When I want to load the yaml content of the entry "Artifacts/CB_BASE.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "parameters.vnf_name.description" for value "Unique name for this VF instance" + When I want to load the json content of the entry "Artifacts/MANIFEST.json" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "description" for value "for testing" + Scenario: Create VSP Manual + When I want to create a VSP with onboarding type "Manual" + Then I want to make sure this Item has status "Draft" + + When I want to create a VSP with onboarding type "Manual" + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + + When I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}/components" + Then I want to check property "listCount" for value 0 + + When I want to add a component + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}/components" + Then I want to check property "listCount" for value 1 + + Then I want the following to fail with error code "VSP_VFC_COUNT_EXCEED" + When I want to add a component + + Then I want to commit this Item + Then I want the following to fail + When I want to submit this VSP + + + Scenario: VSP Questionnaire Examples + Given I want to create a VSP with onboarding type "Manual" + + When I want to get the questionnaire for this item + + When I want to add a component + Then I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}/components" + Then I want to check property "listCount" for value 1 + + Then I want to get the questionnaire for this item + And I want to update this questionnaire with value "15" for property "general/storageDataReplication/storageReplicationSize" + And I want to update this questionnaire + + When I want to get the questionnaire for this item + Then I want to check this questionnaire has value "15" for property "general/storageDataReplication/storageReplicationSize" \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/GlobalTypes/TestInterfaceLifecycleTypes.feature b/cucumber-js-test-apis-ci/features/GlobalTypes/TestInterfaceLifecycleTypes.feature new file mode 100644 index 0000000000..ef98fa5b42 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/GlobalTypes/TestInterfaceLifecycleTypes.feature @@ -0,0 +1,8 @@ +Feature: Interface Lifecycle Types + +Scenario: Test Interface Lifecycle Types + + When I want to get interface lifecycle types + Then I want to check property "tosca.interfaces.node.lifecycle.standard" exists + Then I want to check property "tosca.interfaces.nfv.vnf.lifecycle.nfv" exists + diff --git a/cucumber-js-test-apis-ci/features/InterfaceOperation/TestResourceInterfaceOperation.feature b/cucumber-js-test-apis-ci/features/InterfaceOperation/TestResourceInterfaceOperation.feature new file mode 100644 index 0000000000..ed09f2fb20 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/InterfaceOperation/TestResourceInterfaceOperation.feature @@ -0,0 +1,98 @@ +Feature: Interface Operation Feature + + Background: Init + Given I want to create a VF + + Scenario: Test InterfaceOperation CRUD + #Create Operations + When I want to create an Operation + Then I want to check property "uniqueId" exists + And I want to create an Operation with workflow + Then I want to check property "uniqueId" exists + And I want to create an Operation + Then I want to check property "uniqueId" exists + When I want to create an Operation with input output + Then I want to check property "uniqueId" exists + + #List All Operations + When I want to list Operations + + #Get Operation By OperationId + When I want to get an Operation by Id + Then I want to check property "uniqueId" exists + #Update Operation + When I want to update an Operation + Then I want to check property "uniqueId" exists + + #Delete Operation + When I want to delete an Operation + + #Checkin + When I want to checkin this component + Then I want to check property "lifecycleState" for value "NOT_CERTIFIED_CHECKIN" + + #Certify + Then I want to certify this component + And I want to check property "lifecycleState" for value "CERTIFIED" + + Scenario: Test InterfaceOperation CREATE + #Create Operations + When I want to create an Operation + Then I want to check property "uniqueId" exists + And I want to create an Operation + Then I want to check property "uniqueId" exists + And I want to create an Operation + Then I want to check property "uniqueId" exists + + #List All Operations + When I want to list Operations + +#Checkin + When I want to checkin this component + Then I want to check property "lifecycleState" for value "NOT_CERTIFIED_CHECKIN" + +#Certify + Then I want to certify this component + And I want to check property "lifecycleState" for value "CERTIFIED" + + + Scenario: Test InterfaceOperation UPDATE + #Create Operation + When I want to create an Operation + Then I want to check property "uniqueId" exists + + #Get Operation By OperationId + When I want to get an Operation by Id + Then I want to check property "uniqueId" exists + #Update Operation + When I want to update an Operation + Then I want to check property "uniqueId" exists + + #Checkin + When I want to checkin this component + Then I want to check property "lifecycleState" for value "NOT_CERTIFIED_CHECKIN" + + #Certify + Then I want to certify this component + And I want to check property "lifecycleState" for value "CERTIFIED" + + + Scenario: Test InterfaceOperation DELETE + #Create Operation + When I want to create an Operation + Then I want to check property "uniqueId" exists + + #Get Operation By OperationId + When I want to get an Operation by Id + Then I want to check property "uniqueId" exists + + #Delete Operation + When I want to delete an Operation + + #Checkin + When I want to checkin this component + Then I want to check property "lifecycleState" for value "NOT_CERTIFIED_CHECKIN" + + #certify + Then I want to certify this component + And I want to check property "lifecycleState" for value "CERTIFIED" \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/InterfaceOperation/TestServiceInterfaceOperation.feature b/cucumber-js-test-apis-ci/features/InterfaceOperation/TestServiceInterfaceOperation.feature new file mode 100644 index 0000000000..1ff0ba3f1b --- /dev/null +++ b/cucumber-js-test-apis-ci/features/InterfaceOperation/TestServiceInterfaceOperation.feature @@ -0,0 +1,37 @@ +Feature: Interface Operation Feature + + Background: Init + Given I want to create a Service + + Scenario: Test InterfaceOperation CRUD + #Create Operations + When I want to create an Operation + Then I want to check property "uniqueId" exists + And I want to create an Operation with workflow + Then I want to check property "uniqueId" exists + And I want to create an Operation + Then I want to check property "uniqueId" exists + When I want to create an Operation with input output + Then I want to check property "uniqueId" exists + + #List All Operations + When I want to list Operations + + #Get Operation By OperationId + When I want to get an Operation by Id + Then I want to check property "uniqueId" exists + + #Update Operation + When I want to update an Operation + Then I want to check property "uniqueId" exists + + #Delete Operation + When I want to delete an Operation + + #Checkin + When I want to checkin this component + Then I want to check property "lifecycleState" for value "NOT_CERTIFIED_CHECKIN" + + #Submit + Then I want to submit this component + And I want to check property "lifecycleState" for value "READY_FOR_CERTIFICATION" diff --git a/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVlm.feature b/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVlm.feature new file mode 100644 index 0000000000..f4b524b372 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVlm.feature @@ -0,0 +1,42 @@ +Feature: Archive and Restore VLM + + Scenario: Archive VLM with Draft + When I want to create a VLM + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to update the input property "type" with value "Universal" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the input data from the context + Then I want to commit this Item + + Then I want to archive this item + Then I want to list Archived VLMs + Then I want to check that item exits in response + + Scenario: Archive Already Archived VLM - Negative + When I want to create a VLM + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to update the input property "type" with value "Universal" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the input data from the context + Then I want to submit this VLM + + Then I want to archive this item + Then I want to list Archived VLMs + Then I want to check that item exits in response + Then I want the following to fail with error message "Archive item failed, item {item.id} is already Archived" + Then I want to archive this item + + + Scenario: Archive Certified VLM + When I want to create a VLM + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to update the input property "type" with value "Universal" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the input data from the context + Then I want to submit this VLM + + Then I want to archive this item + Then I want to list Archived VLMs + Then I want to check that item exits in response + Then I want to list Active VLMs + Then I want to check that item does not exits in response diff --git a/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVsp.feature b/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVsp.feature new file mode 100644 index 0000000000..2cc057469f --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVsp.feature @@ -0,0 +1,58 @@ +Feature: Archive and Restore VSP + + Background: Init + Given I want to create a VLM + + Scenario: Archive VSP with Draft + When I want to create a VSP with onboarding type "NetworkPackage" + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + Then I want to make sure this Item has status "Draft" + + Then I want to archive this item + Then I want to list Archived VSPs + Then I want to check that item exits in response + Then I want to list Active VSPs + Then I want to check that item does not exits in response + + Scenario: Archive Already Archived VSP - Negative + When I want to create a VSP with onboarding type "NetworkPackage" + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + Then I want to commit this Item + + Then I want to archive this item + Then I want to list Archived VSPs + Then I want to check that item exits in response + Then I want to list Active VSPs + Then I want to check that item does not exits in response + + Then I want the following to fail with error message "Archive item failed, item {item.id} is already Archived" + Then I want to archive this item + + + Scenario: Archive Certified VSP + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + Then I want to make sure this Item has status "Draft" + + When I want to submit this VSP + Then I want to make sure this Item has status "Certified" + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + + Then I want to archive this item + Then I want to list Archived VSPs + Then I want to check that item exits in response + Then I want to list Active VSPs + Then I want to check that item does not exits in response \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature b/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature new file mode 100644 index 0000000000..f68eece6a8 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature @@ -0,0 +1,40 @@ +Feature: Filter Archived VSP Package Details + + Background: Init + Given I want to create a VLM + + Scenario: Active VSP Package + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + Then I want to commit this Item + Then I want to submit this VSP + Then I want to package this VSP + Then I want to make sure this Item has status "Certified" + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + + Then I want to list Active VSPs packages + Then I want to check that VSP package exits in response + + + Scenario: Archived VSP Package + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + Then I want to commit this Item + Then I want to submit this VSP + Then I want to package this VSP + Then I want to make sure this Item has status "Certified" + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + Then I want to archive this item + + Then I want to list Archived VSPs packages + Then I want to check that VSP package exits in response + + diff --git a/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMCertified.feature b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMCertified.feature new file mode 100644 index 0000000000..4eb31aeafe --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMCertified.feature @@ -0,0 +1,24 @@ +Feature: Delete VLM Certified + + Scenario: Delete VLM that was certified - negative + When I want to create a VLM + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to update the input property "type" with value "Universal" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the input data from the context + Then I want to copy to property "lastProcessId" from response data path "value" + Then I want to commit this Item + + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + Then I want to make sure this Item has status "Draft" + When I want to submit this VLM + Then I want to make sure this Item has status "Certified" + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + + Then I want the following to fail with error message "VLM has been certified and cannot be deleted." + Then I want to delete this VLM + + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 diff --git a/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMDraft.feature b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMDraft.feature new file mode 100644 index 0000000000..ad8bec50d3 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMDraft.feature @@ -0,0 +1,24 @@ +Feature: Delete VLM + +Scenario: Delete VLM with only draft + When I want to create a VLM + Then I want to create input data + Then I want to update the input property "name" with a random value + Then I want to update the input property "type" with value "Universal" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-key-groups" with the input data from the context + Then I want to copy to property "lastProcessId" from response data path "value" + Then I want to commit this Item + + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + Then I want to make sure this Item has status "Draft" + + Then I want to delete this VLM + + Then I want the following to fail with error code "ENTITY_NOT_FOUND" + Then I want to get path "/items/{item.id}/versions" + + + + + diff --git a/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPCertified.feature b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPCertified.feature new file mode 100644 index 0000000000..35a506a010 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPCertified.feature @@ -0,0 +1,29 @@ +Feature: Delete VSP Draft + + Background: Init + Given I want to create a VLM + + Scenario: Delete VSP with only draft + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + Then I want to make sure this Item has status "Draft" + + When I want to submit this VSP + Then I want to make sure this Item has status "Certified" + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + + Then I want the following to fail with error message "VSP has been certified and cannot be deleted." + Then I want to delete this VSP + + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + diff --git a/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPDraft.feature b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPDraft.feature new file mode 100644 index 0000000000..5248131618 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPDraft.feature @@ -0,0 +1,22 @@ +Feature: Delete VSP Certified + + Background: Init + Given I want to create a VLM + + Scenario: Delete VSP with certified - negative + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to make sure this Item has status "Draft" + + When I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + + Then I want to get path "/items/{item.id}/versions" + Then I want to check property "listCount" for value 1 + Then I want to make sure this Item has status "Draft" + + Then I want to delete this VSP + + Then I want the following to fail with error code "ENTITY_NOT_FOUND" + Then I want to get path "/items/{item.id}/versions" diff --git a/cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFilters.feature b/cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFilters.feature new file mode 100644 index 0000000000..8b0a23213d --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFilters.feature @@ -0,0 +1,86 @@ +Feature: List items with various filters + + Background: Init - create various items in order to test list items filters + Given I want to set the user to "cs0008" + Given I want to create a VLM + Then I want to copy to property "noPermissionDraftVlmId" from response data path "itemId" + + Given I want to create a VLM + Then I want to copy to property "noPermissionCertifiedVlmId" from response data path "itemId" + And I want to submit this VLM + + Given I want to set the user to "mb1001" + + Given I want to create a VLM + Then I want to copy to property "draftVlmId" from response data path "itemId" + + Given I want to create a VLM + Then I want to copy to property "certifiedVlmId" from response data path "itemId" + And I want to submit this VLM + + Given I want to create a VLM + Then I want to copy to property "archivedDraftVlmId" from response data path "itemId" + And I want to archive this item + + Given I want to create a VLM + Then I want to copy to property "archivedCertifiedVlmId" from response data path "itemId" + And I want to submit this VLM + And I want to archive this item + + Given I want to create a VSP with onboarding type "NetworkPackage" + Then I want to copy to property "npDraftVspId" from response data path "itemId" + + Given I want to create a VSP with onboarding type "Manual" + Then I want to copy to property "manualDraftVspId" from response data path "itemId" + + Scenario: List workspace items - active, draft, editable by the user + When I want to get path "/items?itemStatus=ACTIVE&versionStatus=Draft&permission=Owner,Contributor" + + Then I want to check that element in the response list with "id" equals to value of saved property "draftVlmId" exists + And I want to check that element in the response list with "id" equals to value of saved property "npDraftVspId" exists + And I want to check that element in the response list with "id" equals to value of saved property "manualDraftVspId" exists + + But I want to check that element in the response list with "id" equals to value of saved property "noPermissionDraftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "noPermissionCertifiedVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "certifiedVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "archivedDraftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "archivedCertifiedVlmId" does not exist + + Scenario: List catalog items - active, certified + When I want to get path "/items?itemStatus=ACTIVE&versionStatus=Certified" + + Then I want to check that element in the response list with "id" equals to value of saved property "noPermissionCertifiedVlmId" exists + And I want to check that element in the response list with "id" equals to value of saved property "certifiedVlmId" exists + + But I want to check that element in the response list with "id" equals to value of saved property "draftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "npDraftVspId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "manualDraftVspId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "noPermissionDraftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "archivedDraftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "archivedCertifiedVlmId" does not exist + + Scenario: List archived certified items + When I want to get path "/items?itemStatus=ARCHIVED&versionStatus=Certified" + + Then I want to check that element in the response list with "id" equals to value of saved property "archivedCertifiedVlmId" exists + + But I want to check that element in the response list with "id" equals to value of saved property "archivedDraftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "noPermissionCertifiedVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "certifiedVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "draftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "npDraftVspId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "manualDraftVspId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "noPermissionDraftVlmId" does not exist + + Scenario: List only active draft manual vsps + vlms owned by the user + When I want to get path "/items?itemStatus=ACTIVE&versionStatus=Draft&onboardingMethod=Manual&permission=Owner" + + Then I want to check that element in the response list with "id" equals to value of saved property "draftVlmId" exists + And I want to check that element in the response list with "id" equals to value of saved property "manualDraftVspId" exists + + But I want to check that element in the response list with "id" equals to value of saved property "npDraftVspId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "noPermissionDraftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "noPermissionCertifiedVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "certifiedVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "archivedDraftVlmId" does not exist + And I want to check that element in the response list with "id" equals to value of saved property "archivedCertifiedVlmId" does not exist diff --git a/cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFiltersFailures.feature b/cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFiltersFailures.feature new file mode 100644 index 0000000000..53807af47a --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFiltersFailures.feature @@ -0,0 +1,24 @@ +Feature: List items with incorrect filter values + + Scenario: Filter by incorrect item type - negative + When I want the following to fail with error code "GENERAL_ERROR_REST_ID" + Then I want to get path "/items?itemType=bsp" + + Scenario: Filter by incorrect permission - negative + When I want the following to fail with error code "GENERAL_ERROR_REST_ID" + Then I want to get path "/items?permission=Contributer" + + Scenario: Filter by incorrect version status - negative + When I want the following to fail with error code "GENERAL_ERROR_REST_ID" + Then I want to get path "/items?versionStatus=Draftt" + + Scenario: Filter by incorrect item status - negative + When I want the following to fail with error code "GENERAL_ERROR_REST_ID" + Then I want to get path "/items?itemStatus=active" + + Scenario: Filter by incorrect onboarding method - negative + When I want the following to fail with error code "GENERAL_ERROR_REST_ID" + Then I want to get path "/items?onboardingMethod=heat" + + Then I want to print the context data + diff --git a/cucumber-js-test-apis-ci/features/Onboarding/UniqueValue.feature b/cucumber-js-test-apis-ci/features/Onboarding/UniqueValue.feature new file mode 100644 index 0000000000..31e41b9931 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/Onboarding/UniqueValue.feature @@ -0,0 +1,33 @@ +Feature: Unique value + + Scenario: List unique types + When I want to get path "/unique-types" + Then I want to check property "listCount" for value 2 + And I want to check property "results[0]" for value "VspName" + And I want to check property "results[1]" for value "VlmName" + + Scenario: Get unique value - non existing type (negative) + Given I want the following to fail with error code "UNIQUE_TYPE_NOT_FOUND" + When I want to get path "/unique-types/nonExistingType/values/someValue" + + Scenario: Get unique value - non existing VLM name + When I want to get path "/unique-types/VlmName/values/nonExistingName" + Then I want to check property "occupied" to be false + + Scenario: Get unique value - non existing VSP name + When I want to get path "/unique-types/VspName/values/nonExistingName" + Then I want to check property "occupied" to be false + + Scenario: Get unique value - existing VLM name + Given I want to create a VLM + + When I want to get path "/unique-types/VlmName/values/{vlm.name}" + Then I want to check property "occupied" to be true + + Scenario: Get unique value - existing VSP name + Given I want to create a VLM + And I want to create a VSP with onboarding type "NetworkPackage" + And I want to get path "/vendor-software-products/{item.id}/versions/{item.versionId}" + + When I want to get path "/unique-types/VspName/values/{responseData.name}" + Then I want to check property "occupied" to be true \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/TOSCA/CapabilityDataType.feature b/cucumber-js-test-apis-ci/features/TOSCA/CapabilityDataType.feature new file mode 100644 index 0000000000..ef240e33a3 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/CapabilityDataType.feature @@ -0,0 +1,20 @@ +Feature: Tosca Capability Refactor Flow + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario: Test Capability type in service template + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/zipWithExternalPort.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + And I want to compare the content of the entry "Definitions/Nested_FSB1ServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" with file "resources/yaml/Nested_FSB1ServiceTemplate.yaml" + + Then I want to create a VF for this Item \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/TOSCA/HeatToToscaTranslation.feature b/cucumber-js-test-apis-ci/features/TOSCA/HeatToToscaTranslation.feature new file mode 100644 index 0000000000..ae0803687f --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/HeatToToscaTranslation.feature @@ -0,0 +1,194 @@ +Feature: Tosca Validation Flow + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario: Full - Create and submit VSP Network Package and Create VF + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/BASE_MUX.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Validate Input parameter - annotation was added + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/inputsForNestedHeat.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + When I want to load the yaml content of the entry "Definitions/MainServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + + Then I want to check property "topology_template.inputs.pcm_flavor_name.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.pcm_flavor_name.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.pcm_flavor_name.annotations.source.properties.vf_module_label" to have length 2 + Then I want to check property "topology_template.inputs.pcm_flavor_name.annotations.source.properties.vf_module_label[0]" for value "main-heat2" + Then I want to check property "topology_template.inputs.pcm_flavor_name.annotations.source.properties.vf_module_label[1]" for value "main-heat1" + Then I want to check property "topology_template.inputs.pcm_flavor_name.annotations.source.properties.param_name" for value "pcm_flavor_name" + + Then I want to check property "topology_template.inputs.sm_server_names.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.sm_server_names.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.sm_server_names.annotations.source.properties.vf_module_label" to have length 1 + Then I want to check property "topology_template.inputs.sm_server_names.annotations.source.properties.vf_module_label[0]" for value "main-heat1" + Then I want to check property "topology_template.inputs.sm_server_names.annotations.source.properties.param_name" for value "sm_server_names" + + Then I want to check property "topology_template.inputs.dummy_net_netmask_1.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.dummy_net_netmask_1.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.dummy_net_netmask_1.annotations.source.properties.vf_module_label" to have length 1 + Then I want to check property "topology_template.inputs.dummy_net_netmask_1.annotations.source.properties.vf_module_label[0]" for value "main-heat2" + Then I want to check property "topology_template.inputs.dummy_net_netmask_1.annotations.source.properties.param_name" for value "dummy_net_netmask_1" + + Then I want to create a VF for this Item + + Scenario: Validate Input parameter for volume HEAT file + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/annotationMultVolume.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + When I want to load the yaml content of the entry "Definitions/MainServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + + Then I want to check property "topology_template.inputs.pcrf_oam_vol_size.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.pcrf_oam_vol_size.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.pcrf_oam_vol_size.annotations.source.properties.vf_module_label" to have length 1 + Then I want to check property "topology_template.inputs.pcrf_oam_vol_size.annotations.source.properties.vf_module_label[0]" for value "hot-nimbus-oam_v1.0" + Then I want to check property "topology_template.inputs.pcrf_oam_vol_size.annotations.source.properties.param_name" for value "pcrf_oam_vol_size" + + Then I want to check property "topology_template.inputs.pcrf_pcm_vol_size.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.pcrf_pcm_vol_size.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.pcrf_pcm_vol_size.annotations.source.properties.vf_module_label" to have length 1 + Then I want to check property "topology_template.inputs.pcrf_pcm_vol_size.annotations.source.properties.vf_module_label[0]" for value "hot-nimbus-pcm_v1.0" + Then I want to check property "topology_template.inputs.pcrf_pcm_vol_size.annotations.source.properties.param_name" for value "pcrf_pcm_vol_size" + + + Then I want to check property "topology_template.inputs.pcm-volumes_and_pcm_main_param.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.pcm-volumes_and_pcm_main_param.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.pcm-volumes_and_pcm_main_param.annotations.source.properties.vf_module_label" to have length 1 + Then I want to check property "topology_template.inputs.pcm-volumes_and_pcm_main_param.annotations.source.properties.vf_module_label[0]" for value "hot-nimbus-pcm_v1.0" + Then I want to check property "topology_template.inputs.pcm-volumes_and_pcm_main_param.annotations.source.properties.param_name" for value "pcm-volumes_and_pcm_main_param" + + Then I want to check property "topology_template.inputs.oam-volumes_pcm_main_param.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.oam-volumes_pcm_main_param.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.oam-volumes_pcm_main_param.annotations.source.properties.vf_module_label" to have length 2 + Then I want to check property "topology_template.inputs.oam-volumes_pcm_main_param.annotations.source.properties.vf_module_label[0]" for value "hot-nimbus-pcm_v1.0" + Then I want to check property "topology_template.inputs.oam-volumes_pcm_main_param.annotations.source.properties.vf_module_label[1]" for value "hot-nimbus-oam_v1.0" + Then I want to check property "topology_template.inputs.oam-volumes_pcm_main_param.annotations.source.properties.param_name" for value "oam-volumes_pcm_main_param" + + Then I want to check property "topology_template.inputs.oam-volumes_pcm-volumes_and_oam_main_param.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.oam-volumes_pcm-volumes_and_oam_main_param.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.oam-volumes_pcm-volumes_and_oam_main_param.annotations.source.properties.vf_module_label" to have length 2 + Then I want to check property "topology_template.inputs.oam-volumes_pcm-volumes_and_oam_main_param.annotations.source.properties.vf_module_label[0]" for value "hot-nimbus-pcm_v1.0" + Then I want to check property "topology_template.inputs.oam-volumes_pcm-volumes_and_oam_main_param.annotations.source.properties.vf_module_label[1]" for value "hot-nimbus-oam_v1.0" + Then I want to check property "topology_template.inputs.oam-volumes_pcm-volumes_and_oam_main_param.annotations.source.properties.param_name" for value "oam-volumes_pcm-volumes_and_oam_main_param" + + Then I want to create a VF for this Item + + Scenario: Validate Input parameter - annotation was no added for Volume associated to Nested + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/volumeUnderNested.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + When I want to load the yaml content of the entry "Definitions/nestedServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "topology_template.inputs.CMAUI_volume_type.annotations" does not exist + + Then I want to create a VF for this Item + + Scenario: Validate Input parameter - annotation was not added + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/inputsForNestedHeat.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + When I want to load the yaml content of the entry "Definitions/MainServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "topology_template.inputs.OS::stack_name" exists + Then I want to check property "topology_template.inputs.OS::stack_name.annotations" does not exist + + When I want to load the yaml content of the entry "Definitions/nested-pcm_v0.1ServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "topology_template.inputs.port_pcm_port_0_network_role.annotations" does not exist + Then I want to check property "topology_template.inputs.availabilityzone_name.annotations" does not exist + Then I want to check property "topology_template.inputs.pcm_server_name.annotations" does not exist + Then I want to check property "topology_template.inputs.sm_server_names.annotations" does not exist + + When I want to load the yaml content of the entry "Definitions/nested-pcm_v0.2ServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "topology_template.inputs.port_pcm_port_13_mac_requirements.annotations" does not exist + Then I want to check property "topology_template.inputs.availabilityzone_name.annotations" does not exist + Then I want to check property "topology_template.inputs.pcm_server_name.annotations" does not exist + + When I want to load the yaml content of the entry "Definitions/Nested_computeServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "topology_template.inputs.compute_compute_user_data_format.annotations" does not exist + Then I want to check property "topology_template.inputs.vm_image_name.annotations" does not exist + Then I want to check property "topology_template.inputs.compute_compute_name.annotations" does not exist + + Then I want to create a VF for this Item + + Scenario: Validate Input parameter for nested HEAT belongs to volume HEAT + when volume heat is associated to main HEAT + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/nested-belongs-to-volume.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + When I want to load the yaml content of the entry "Definitions/ocgmgr_nested_volumeServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + Then I want to check property "topology_template.inputs.volume_type.annotations" does not exist + Then I want to check property "topology_template.inputs.vnf_name.annotations" does not exist + Then I want to check property "topology_template.inputs.index.annotations" does not exist + Then I want to check property "topology_template.inputs.size.annotations" does not exist + + When I want to load the yaml content of the entry "Definitions/MainServiceTemplate.yaml" in the zip "resources/downloads/VSPPackage.zip" to context + + Then I want to check property "topology_template.inputs.index" does not exist + Then I want to check property "topology_template.inputs.size" does not exist + Then I want to check property "topology_template.inputs.volume_type" does not exist + + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.type" for value "org.openecomp.annotations.Source" + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.source_type" for value "HEAT" + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.vf_module_label" to have length 6 + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.vf_module_label[0]" for value "ocgapp_03" + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.vf_module_label[1]" for value "ocgapp_02" + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.vf_module_label[2]" for value "ocgmgr" + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.vf_module_label[3]" for value "ocgapp_01" + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.vf_module_label[4]" for value "ocgapp_04" + Then I want to check property "topology_template.inputs.vnf_name.annotations.source.properties.vf_module_label[5]" for value "base_ocg" + + Then I want to create a VF for this Item diff --git a/cucumber-js-test-apis-ci/features/TOSCA/HeatValidation.feature b/cucumber-js-test-apis-ci/features/TOSCA/HeatValidation.feature new file mode 100644 index 0000000000..dba54ff9ff --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/HeatValidation.feature @@ -0,0 +1,15 @@ +Feature: Heat Validation Flow + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario: Test Validation Error + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/errorHeat.zip" + And I want to process the NetworkPackage file for this VSP + And I want to print the context data + + Then I want to check property "errors['first.env'][0].level" for value "ERROR" + Then I want to check property "errors['first.env'][0].message" for value "ERROR: [YML1]: Invalid YAML format Problem - [empty yaml]" \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidation-positive.feature b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidation-positive.feature new file mode 100644 index 0000000000..280ec8b791 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidation-positive.feature @@ -0,0 +1,14 @@ +Feature: Tosca VMI Positive Flow + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario: VirtualMachineInterface Validation Flow - No Validations Errors + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlan-tagging-positive.zip" + And I want to process the NetworkPackage file for this VSP + And I want to print the context data + + Then I want to check property "errors['nested.yml'][0].level" does not exist diff --git a/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationGuideline3violations.feature b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationGuideline3violations.feature new file mode 100644 index 0000000000..b0e5b4494a --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationGuideline3violations.feature @@ -0,0 +1,31 @@ +Feature: Tosca VMI Flow + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario:VirtualMachineInterface Validation Flow - Guideline Validation issues present + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/all-violations.zip" + And I want to process the NetworkPackage file for this VSP + And I want to print the context data + + Then I want to check property "errors['nested.yml'][3].level" for value "WARNING" + Then I want to check property "errors['nested.yml'][3].message" for value: + """ + WARNING: [VlANG1]: VLAN Resource will not be translated as the VLAN Sub-interface [template_Vlan_2] is not modeled as resource group + """ + + + Then I want to check property "errors['nested.yml'][1].level" for value "ERROR" + Then I want to check property "errors['nested.yml'][1].message" for value: + """ + ERROR: [VlANG2]: There should not be any Compute Server Node, Port, Parent Port in nested file [nested.yml] +""" + + Then I want to check property "errors['main.yml'][6].level" for value "WARNING" + Then I want to check property "errors['main.yml'][6].message" for value: + """ + WARNING: [VlANG3]: Network role associated with VLAN Sub-interface id[test_Vlan1] is not following the naming convention + """ \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMissingProperties.feature b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMissingProperties.feature new file mode 100644 index 0000000000..3cf52f6527 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMissingProperties.feature @@ -0,0 +1,31 @@ +Feature: Tosca VMI Flow + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario: VirtualMachineInterface Validation Flow - Missing Refs Element Validation Error + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/refs_missing.zip" + And I want to process the NetworkPackage file for this VSP + And I want to print the context data + + Then I want to check property "errors['nested.yml'][0].level" for value "WARNING" + Then I want to check property "errors['nested.yml'][0].message" for value: + """ + WARNING: [VLAN2]: Parent port property virtual_machine_interface_refs is missing in VLAN Resource ID [template_Vlan_2] + """ + + Scenario: VirtualMachineInterface Validation Flow - Missing Tag Validation Error + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/tag_missing.zip" + And I want to process the NetworkPackage file for this VSP + And I want to print the context data + + Then I want to check property "errors['nested.yml'][0].level" for value "WARNING" + Then I want to check property "errors['nested.yml'][0].message" for value: + """ + WARNING: [VLAN2]: VLAN Tag property virtual_machine_interface_properties_sub_interface_vlan_tag is missing in VLAN Resource ID [template_Vlan_2] + """ \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMultipleParents.feature b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMultipleParents.feature new file mode 100644 index 0000000000..0b9e092875 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/VirtualMachineInterfaceValidationHeatResourceMultipleParents.feature @@ -0,0 +1,18 @@ +Feature: Tosca VMI Flow + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario: VirtualMachineInterface Validation Flow - Multiple Parent Port Validation Error + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/multiple-parents.zip" + And I want to process the NetworkPackage file for this VSP + And I want to print the context data + + Then I want to check property "errors['nested.yml'][0].level" for value "ERROR" + Then I want to check property "errors['nested.yml'][0].message" for value: + """ + ERROR: [VLAN1]: More than one parent port found, there should be only one parent port for a VLAN sub-interface ID [template_Vlan_2] + """ \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/TOSCA/VlanTagging.feature b/cucumber-js-test-apis-ci/features/TOSCA/VlanTagging.feature new file mode 100644 index 0000000000..7adf99fae2 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/TOSCA/VlanTagging.feature @@ -0,0 +1,372 @@ +Feature: Vlan Tagging - Full Flow tests + + Background: Init + Given I want to create a VLM + Given I want to set all Togglz to be "true" + + Scenario: Pattern 1A Full - Create and submit VSP Network Package containing one compute, one + port and one subinterface connected to that port. Both port and subinterface are connected to + different internal networks. + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1a/subInterfaceGetAttrInOut.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1A Full - Create and submit VSP Network Package containing one compute, one + port and one regular nested resource subinterface connected to that port. Only port is connected + to an internal network. + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1a/regularNestedSubinterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1A Negative - Create and submit VSP Network Package containing one compute, one + port and multiple subinterface resource groups which are not bound to parent port. Only port is + connected to an internal network. + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1a/negativeNotBoundToParentPort.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1B Full - Create and submit VSP Network Package containing Sub Interface and different compute type and Create VF + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1b/diffCompute_SubInterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1B Full - Create and submit VSP Network Package containing Sub Interface and same Compute type and different Port type and Create VF + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1b/diffPort_SubInterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1B Full - Create and submit VSP Network Package containing Sub Interface and same Compute type same Port type and different Sub interface file and Create VF + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1b/diffSubInterfaceFile.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1B Full - Create and submit VSP Network Package containing Sub Interface and same Compute type different Port type and same Sub interface file and Create VF + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1b/regularNestedSubInterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1C1 Full - Create and submit VSP Network Package containing two computes of different type, four ports of two types + each and four subinterface resource groups of two types each and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1c1/multiplePortsMultipleVlans.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1C1 Full - Create and submit VSP Network Package containing two computes, two ports of same type + connected to network and two subinterface resource represented through a regular nested resource and not using a + resource group not connected to network and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1c1/regularNestedSubInterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1C2 Full - Create and submit VSP Network Package containing two computes of the same type, + each one has one port with one sub interface (same type) resource group have a different count and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1c2/differentResourceGroupCount.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 1C2 Full - Create and submit VSP Network Package containing two computes of the same type, + each one has one port with one sub interface each (same type, different network connectivity) and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern1c2/differentNetwork.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 4 Full - Create and submit VSP Network Package containing one computes, one + port represented through a nested resource having one subinterface nested resource and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern4/Pattern_4_SinglePort_SingleSubInterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 4 Full - Create and submit VSP Network Package containing one computes, two + ports represented through a nested resource both port connected to different nested subinterface + resource and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern4/Pattern_4_MultiplePort_MultipleSubInterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 4 Full - Create and submit VSP Network Package containing one computes, one + port represented through a regular nested resource and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern4/regularNestedSubInterface.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 5 Full - Create and submit VSP Network Package containing one nested + component which is having two VFCs of different type both connected with two port and one port + is connected with sub interface resource and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern5/Pattern_5_NestedResourceWithMultipleComputeAndPort.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: Pattern 5 Full - Create and submit VSP Network Package containing different + subinterface connectivity scenario and Create VF + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/pattern5/Pattern_5ComplexVSPWithDiffSubInfConn.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: VFC Instance Group per Network Role - Create and submit VSP Network Package of pattern 1A heat + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/vfcinstancegroup/groupPattern1aHeat.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: VFC Instance Group per Network Role - Create and submit VSP Network Package of pattern 1B heat + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/vfcinstancegroup/groupPattern1bHeat.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: VFC Instance Group per Network Role - Create and submit VSP Network Package of pattern 1C1 heat + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/vfcinstancegroup/groupPattern1c1Heat.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: VFC Instance Group per Network Role - Create and submit VSP Network Package of pattern 1C2 heat + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/vfcinstancegroup/groupPattern1c2Heat.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item + + Scenario: VFC Instance Group per Network Role - Create and submit VSP Network Package of pattern 4 heat + + When I want to create a VSP with onboarding type "NetworkPackage" + + Then I want to upload a NetworkPackage for this VSP from path "resources/uploads/vlantagging/vfcinstancegroup/groupPattern4Heat.zip" + And I want to process the NetworkPackage file for this VSP + + Then I want to commit this Item + And I want to submit this VSP + And I want to package this VSP + + Then I want to make sure this Item has status "Certified" + + Then I want to get the package for this Item to path "resources/downloads/VSPPackage.zip" + + Then I want to create a VF for this Item \ No newline at end of file diff --git a/cucumber-js-test-apis-ci/features/UserFeedback/TestMD5.feature b/cucumber-js-test-apis-ci/features/UserFeedback/TestMD5.feature new file mode 100644 index 0000000000..bb80c92d06 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/UserFeedback/TestMD5.feature @@ -0,0 +1,68 @@ +# Copyright © 2018 European Support Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +Feature: User Feedback - Test MD5 + + Scenario: Test MD5 + + When I want to create a VLM + Then I want to copy to property "licensingVersion" from response data path "version.id" + + #create feature group + When I want to create input data + Then I want to update the input property "name" with value "FG1" + Then I want to update the input property "partNumber" with value "999" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/feature-groups" with the input data from the context + Then I want to copy to property "featureGroupId" from response data path "value" + + #create license agreements + When I want to create input data + Then I want to update the input property "name" with value "LA" + Then I want to update the input property "licenseTerm.choice" with value "Unlimited" + Then I want to update the input property "addedFeatureGroupsIds[0]" from property "featureGroupId" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/license-agreements" with the input data from the context + Then I want to copy to property "licenseAgreement" from response data path "value" + + When I want to create a VSP with onboarding type Manual + Then I want to make sure this Item has status "Draft" + + When I want to add a component + + #create image + When I want to create input data + Then I want to update the input property "fileName" with value "Image_1" + Then I want to create for path "/vendor-software-products/{vsp.id}/versions/{vsp.versionId}/components/{componentId}/images" with the input data from the context + + #update image questionnaire + Then I want to get the questionnaire for this path "/vendor-software-products/{vsp.id}/versions/{vsp.versionId}/components/{componentId}/images/{responseData.id}/questionnaire" + And I want to update this questionnaire with value "md5" for property "5555555555555555555555555555555555555555555555555555555555555" + And I want to update this questionnaire with value "version" for property "1" + And I want to update this questionnaire + + #create compute flavor + When I want to create input data + Then I want to update the input property "name" with value "ComputeFlavor1" + When I want to create for path "/vendor-software-products/{vsp.id}/versions/{vsp.versionId}/components/{componentId}/compute-flavors" with the input data from the context + Then I want to copy to property "computeFlavorId" from response data path "id" + + #create deployment flavor with Component , compute flavor associations + When I want to create input data + Then I want to update the input property "model" with value "DeploymentFlavorModel" + Then I want to update the input property "componentComputeAssociations[0].componentId" from property "componentId" + Then I want to update the input property "componentComputeAssociations[0].computeFlavorId" from property "computeFlavorId" + Then I want to update the input property "featureGroupId" from property "featureGroupId" + Then I want to create for path "/vendor-software-products/{vsp.id}/versions/{vsp.versionId}/deployment-flavors" with the input data from the context + + Then I want the following to fail + When I want to submit this VSP diff --git a/cucumber-js-test-apis-ci/features/UserFeedback/TestMRN.feature b/cucumber-js-test-apis-ci/features/UserFeedback/TestMRN.feature new file mode 100644 index 0000000000..161ea57341 --- /dev/null +++ b/cucumber-js-test-apis-ci/features/UserFeedback/TestMRN.feature @@ -0,0 +1,50 @@ +# 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: User Feedback - Enhance EP & LKG to include MRN + + Scenario: Test Feature Group and Entitlement Pool + + Then I want to create a VLM + Then I want to make sure this Item has status "Draft" + + When I want to get path "/items/{item.id}/versions/{item.versionId}/revisions" + Then I want to check property "listCount" for value 1 + + Then I want to create input data + Then I want to update the input property "name" with value "FG_01" + Then I want to update the input property "description" with value "FG without MRN" + Then I want to update the input property "partNumber" with value "999" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/feature-groups" with the input data from the context + + When I want to create input data + Then I want to update the input property "name" with value "EP_01" + Then I want to update the input property "description" with value "EP without MRN" + Then I want the following to fail + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/entitlement-pools" with the input data from the context + + + When I want to create input data + Then I want to update the input property "name" with value "EP_02" + Then I want to update the input property "description" with value "EP with MRN" + Then I want to update the input property "manufacturerReferenceNumber" with value "12345" + Then I want to create for path "/vendor-license-models/{item.id}/versions/{item.versionId}/entitlement-pools" with the input data from the context + Then I want to get path "/vendor-license-models/{item.id}/versions/{item.versionId}/entitlement-pools/{responseData.value}" + Then I want to check property "manufacturerReferenceNumber" for value "12345" + + + + + + -- cgit 1.2.3-korg