From 637206b5e05910cc3bdd64bbd35d296ce282524c Mon Sep 17 00:00:00 2001 From: ilanap Date: Sun, 4 Feb 2018 17:06:22 +0200 Subject: Adding BDD cucumber testing component Change-Id: I4fd7eb798cbc7cad85562453fb0a6f74fd12ff5b Issue-ID: SDC-990 Signed-off-by: ilanap --- .../features/Example_Collaboration.feature | 26 ++++++++++ openecomp-bdd/features/Example_HEAT.feature | 22 ++++++++ ...ample_ResponseData_CheckAndManipulation.feature | 22 ++++++++ openecomp-bdd/features/Example_Rest_Calls.feature | 36 +++++++++++++ .../features/Example_ToscaTranslationFlow.feature | 48 +++++++++++++++++ openecomp-bdd/features/Example_VLM.feature | 46 +++++++++++++++++ openecomp-bdd/features/Example_VSP.feature | 60 ++++++++++++++++++++++ .../features/TOSCA/CapabilityDataType.feature | 24 +++++++++ .../features/TOSCA/HeatToToscaTranslation.feature | 20 ++++++++ .../features/TOSCA/HeatValidation.feature | 14 +++++ 10 files changed, 318 insertions(+) create mode 100644 openecomp-bdd/features/Example_Collaboration.feature create mode 100644 openecomp-bdd/features/Example_HEAT.feature create mode 100644 openecomp-bdd/features/Example_ResponseData_CheckAndManipulation.feature create mode 100644 openecomp-bdd/features/Example_Rest_Calls.feature create mode 100644 openecomp-bdd/features/Example_ToscaTranslationFlow.feature create mode 100644 openecomp-bdd/features/Example_VLM.feature create mode 100644 openecomp-bdd/features/Example_VSP.feature create mode 100644 openecomp-bdd/features/TOSCA/CapabilityDataType.feature create mode 100644 openecomp-bdd/features/TOSCA/HeatToToscaTranslation.feature create mode 100644 openecomp-bdd/features/TOSCA/HeatValidation.feature (limited to 'openecomp-bdd/features') diff --git a/openecomp-bdd/features/Example_Collaboration.feature b/openecomp-bdd/features/Example_Collaboration.feature new file mode 100644 index 0000000000..c799efda12 --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/features/Example_HEAT.feature b/openecomp-bdd/features/Example_HEAT.feature new file mode 100644 index 0000000000..9ee67a4dcb --- /dev/null +++ b/openecomp-bdd/features/Example_HEAT.feature @@ -0,0 +1,22 @@ +Feature: Heat Example File + Scenario: Test with update for heat file and check for validation warning + # Use ONLY during development. Example for running a test with an existing item in order to not create an item each test. + # Given Item "c99b775cc0764746b15a32b728c10402" and version Id "f044f9e265ac46c2882cb14c4b1732a5" + 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" + + Then I want to set the input data to: + """ + {"modules":[{"name":"module_1","isBase":false,"yaml":"CB_BASE.yaml"}],"unassigned":[],"artifacts":["MUX_Parameters.env","CB_MUX.yaml"],"nested":[]} + """ + Then I want to update for path "/vendor-software-products/{item.id}/versions/{item.versionId}/orchestration-template-candidate/manifest" with the input data from the context + 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/openecomp-bdd/features/Example_ResponseData_CheckAndManipulation.feature b/openecomp-bdd/features/Example_ResponseData_CheckAndManipulation.feature new file mode 100644 index 0000000000..d9d94582ca --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/features/Example_Rest_Calls.feature b/openecomp-bdd/features/Example_Rest_Calls.feature new file mode 100644 index 0000000000..e650fede66 --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/features/Example_ToscaTranslationFlow.feature b/openecomp-bdd/features/Example_ToscaTranslationFlow.feature new file mode 100644 index 0000000000..4b20cd3404 --- /dev/null +++ b/openecomp-bdd/features/Example_ToscaTranslationFlow.feature @@ -0,0 +1,48 @@ +Feature: 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/openecomp-bdd/features/Example_VLM.feature b/openecomp-bdd/features/Example_VLM.feature new file mode 100644 index 0000000000..f4093ff07e --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/features/Example_VSP.feature b/openecomp-bdd/features/Example_VSP.feature new file mode 100644 index 0000000000..5cffa585c5 --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/features/TOSCA/CapabilityDataType.feature b/openecomp-bdd/features/TOSCA/CapabilityDataType.feature new file mode 100644 index 0000000000..64a0377db5 --- /dev/null +++ b/openecomp-bdd/features/TOSCA/CapabilityDataType.feature @@ -0,0 +1,24 @@ +Feature: Tosca Validation Flow + + Background: Init + Given I want to create a VLM + + 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 + + #And I want to load the yaml content of the entry "Definitions/Nested_FSB1ServiceTemplate + # .yaml" in the zip "resources/downloads/VSPPackage.zip" to context + #And I want to check property "topology_template.node_templates.FSB1_FSB1_OAM.capabilities" + # for value { port_mirroring: { properties: { connection_point: [Object] } } } \ No newline at end of file diff --git a/openecomp-bdd/features/TOSCA/HeatToToscaTranslation.feature b/openecomp-bdd/features/TOSCA/HeatToToscaTranslation.feature new file mode 100644 index 0000000000..29d87cd2c2 --- /dev/null +++ b/openecomp-bdd/features/TOSCA/HeatToToscaTranslation.feature @@ -0,0 +1,20 @@ +Feature: 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" + + Then I want to create a VF for this Item diff --git a/openecomp-bdd/features/TOSCA/HeatValidation.feature b/openecomp-bdd/features/TOSCA/HeatValidation.feature new file mode 100644 index 0000000000..69d6093776 --- /dev/null +++ b/openecomp-bdd/features/TOSCA/HeatValidation.feature @@ -0,0 +1,14 @@ +Feature: Tosca Validation Flow + + Background: Init + Given I want to create a VLM + + 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 -- cgit 1.2.3-korg