From 9f33060362b6bf8b3a7cdcdab6ce3d1c81946300 Mon Sep 17 00:00:00 2001 From: shrikantawachar Date: Mon, 12 Feb 2018 16:57:59 +0530 Subject: Enforcing HEAT validation after HEAT upload Back end implementation , Junits for Enforcing HEAT validation after heat upload. Change-Id: I0572b1d5e455023d45dc3b50b0bae7f3b6bbcc2e Issue-ID: SDC-1027 Signed-off-by: shrikantawachar --- .../TestAbort_ForInvalidHeatFile.feature | 45 ++++++++++++++++++++++ .../TestAbort_ForValidHeatFile.feature | 30 +++++++++++++++ .../AbortFunctionality/TestProperties.feature | 33 ++++++++++++++++ .../AbortFunctionality/TestRollback.feature | 41 ++++++++++++++++++++ .../features/AbortFunctionality/TestSubmit.feature | 35 +++++++++++++++++ openecomp-bdd/stepDefinitions/REST_Steps.js | 13 ++++++- 6 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 openecomp-bdd/features/AbortFunctionality/TestAbort_ForInvalidHeatFile.feature create mode 100644 openecomp-bdd/features/AbortFunctionality/TestAbort_ForValidHeatFile.feature create mode 100644 openecomp-bdd/features/AbortFunctionality/TestProperties.feature create mode 100644 openecomp-bdd/features/AbortFunctionality/TestRollback.feature create mode 100644 openecomp-bdd/features/AbortFunctionality/TestSubmit.feature (limited to 'openecomp-bdd') diff --git a/openecomp-bdd/features/AbortFunctionality/TestAbort_ForInvalidHeatFile.feature b/openecomp-bdd/features/AbortFunctionality/TestAbort_ForInvalidHeatFile.feature new file mode 100644 index 0000000000..cdfea4f456 --- /dev/null +++ b/openecomp-bdd/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 + + 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/openecomp-bdd/features/AbortFunctionality/TestAbort_ForValidHeatFile.feature b/openecomp-bdd/features/AbortFunctionality/TestAbort_ForValidHeatFile.feature new file mode 100644 index 0000000000..3eb0463b86 --- /dev/null +++ b/openecomp-bdd/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 + + 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/openecomp-bdd/features/AbortFunctionality/TestProperties.feature b/openecomp-bdd/features/AbortFunctionality/TestProperties.feature new file mode 100644 index 0000000000..d268c64ac4 --- /dev/null +++ b/openecomp-bdd/features/AbortFunctionality/TestProperties.feature @@ -0,0 +1,33 @@ +# 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 + + 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 + # Then I want to print the context data \ No newline at end of file diff --git a/openecomp-bdd/features/AbortFunctionality/TestRollback.feature b/openecomp-bdd/features/AbortFunctionality/TestRollback.feature new file mode 100644 index 0000000000..50f16e66a9 --- /dev/null +++ b/openecomp-bdd/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 + + 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/openecomp-bdd/features/AbortFunctionality/TestSubmit.feature b/openecomp-bdd/features/AbortFunctionality/TestSubmit.feature new file mode 100644 index 0000000000..f39b95d7f0 --- /dev/null +++ b/openecomp-bdd/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 + + 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/openecomp-bdd/stepDefinitions/REST_Steps.js b/openecomp-bdd/stepDefinitions/REST_Steps.js index 314f86825b..c3844124d7 100644 --- a/openecomp-bdd/stepDefinitions/REST_Steps.js +++ b/openecomp-bdd/stepDefinitions/REST_Steps.js @@ -1,5 +1,5 @@ /* - * Copyright © 2016-2017 European Support Limited + * 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. @@ -45,6 +45,17 @@ When('I want to delete for path {string} with the value from saved property {str return util.request(this.context, 'DELETE', path); }); +/** + * @module Rest_Calls + * @description makes a DELETE request to the given path and appends the saved property (path is appended after the "onboarding-api/v1.0" prefix)
+ * @exampleFile Example_Rest_Calls.feature + * @step I want to delete for path {string} with the value from saved property {string} + **/ +When('I want to delete for path {string}', function (string) { + let path = getPath(string, this.context); + //path += '/' + this.context[string2]; + return util.request(this.context, 'DELETE', path); +}); /** * @module Rest_Calls -- cgit 1.2.3-korg