From 705fc2b672d5802696074be94b446a89d228b94d Mon Sep 17 00:00:00 2001 From: ayalaben Date: Thu, 15 Mar 2018 15:59:25 +0200 Subject: Archive Item Change-Id: Idd5eedc3b0ca9e3cc72f7de9fd432cdbbf77631d Issue-ID: SDC-1086 Signed-off-by: ayalaben --- .../Onboarding/ArchiveItem/ArchiveVlm.feature | 42 +++++++++++++++ .../Onboarding/ArchiveItem/ArchiveVsp.feature | 58 ++++++++++++++++++++ .../ArchiveItem/FilterArchivedVSPpackage.feature | 40 ++++++++++++++ openecomp-bdd/stepDefinitions/General_Steps.js | 51 +++++++++++++++++- openecomp-bdd/stepDefinitions/Item_steps.js | 24 +++++++++ openecomp-bdd/stepDefinitions/VLM_steps.js | 22 ++++++++ openecomp-bdd/stepDefinitions/VSP_steps.js | 61 ++++++++++++++++++++++ 7 files changed, 297 insertions(+), 1 deletion(-) create mode 100644 openecomp-bdd/features/Onboarding/ArchiveItem/ArchiveVlm.feature create mode 100644 openecomp-bdd/features/Onboarding/ArchiveItem/ArchiveVsp.feature create mode 100644 openecomp-bdd/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature (limited to 'openecomp-bdd') diff --git a/openecomp-bdd/features/Onboarding/ArchiveItem/ArchiveVlm.feature b/openecomp-bdd/features/Onboarding/ArchiveItem/ArchiveVlm.feature new file mode 100644 index 0000000000..f4b524b372 --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/features/Onboarding/ArchiveItem/ArchiveVsp.feature b/openecomp-bdd/features/Onboarding/ArchiveItem/ArchiveVsp.feature new file mode 100644 index 0000000000..2cc057469f --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature b/openecomp-bdd/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature new file mode 100644 index 0000000000..f68eece6a8 --- /dev/null +++ b/openecomp-bdd/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/openecomp-bdd/stepDefinitions/General_Steps.js b/openecomp-bdd/stepDefinitions/General_Steps.js index b9ea72f78d..b3fb0e90d2 100644 --- a/openecomp-bdd/stepDefinitions/General_Steps.js +++ b/openecomp-bdd/stepDefinitions/General_Steps.js @@ -22,6 +22,11 @@ YAML = require('yamljs'); const fs = require('fs'); const util = require('./Utils.js'); +function getPath(path, context) { + let compiled = _.template(path); + return compiled(context); +} + /** * @module ContextData * @description Use with "Given". Use ONLY for local testing when you know the value of the Item you want to use @@ -183,7 +188,8 @@ Then('I want the following to fail with error code {string}', function(string) **/ Then('I want the following to fail with error message {string}', function(string) { this.context.shouldFail = true; - this.context.errorMessage = string; + let errorMessage = getPath(string, this.context); + this.context.errorMessage = errorMessage; }); /** @@ -228,4 +234,47 @@ When('I want to load the json content of the entry {string} in the zip {string} let str = zip.files[string]._data; this.context.responseData = JSON.parse(str); callback(); +}); + +/** + * @module ResponseData + * @description Check that the itemId from context exits in result of responseData + * exampleFile ArchiveItem.feature + * step I want to check that item exits in response + **/ +Then('I want to check that item exits in response', function() { + + const id = this.context.item.id; + const results = this.context.responseData.results; + var testResult = false; + + for(var i=0; i< results.length; i++){ + if ( id == results[i].id){ + testResult = true; + } + } + + assert.equal(testResult,true); +}); + + +/** + * @module ResponseData + * @description Check that the itemId from context does NOT exits in result of responseData + * exampleFile ArchiveItem.feature + * step I want to check that item does not exits in response + **/ +Then('I want to check that item does not exits in response', function() { + + const id = this.context.item.id; + const results = this.context.responseData.results; + var testResult = false; + + for(var i=0; i< results.length; i++){ + if ( id == results[i].id){ + testResult = true; + } + } + + assert.equal(testResult,false); }); \ No newline at end of file diff --git a/openecomp-bdd/stepDefinitions/Item_steps.js b/openecomp-bdd/stepDefinitions/Item_steps.js index 165df6ca30..3ff7f20f73 100644 --- a/openecomp-bdd/stepDefinitions/Item_steps.js +++ b/openecomp-bdd/stepDefinitions/Item_steps.js @@ -65,3 +65,27 @@ Then('I want to revert this Item to the revision with the value from saved prope return util.request(this.context, 'PUT', path, inputData); }); + +/** + * @module Item + * @exampleFile ArchiveItem.feature + * @step I want to archive this item + **/ +Then('I want to archive this item', function() { + let path = '/items/' + this.context.item.id + '/actions' + let inputData = {action: 'ARCHIVE'}; + return util.request(this.context, 'PUT', path, inputData); +}); + + +/** + * @module Item + * @exampleFile ArchiveItem.feature + * @step I want to restore this item + **/ +Then('I want to restore this item', function() { + let path = '/items/' + this.context.item.id + '/actions' + let inputData = {action: 'RESTORE'}; + return util.request(this.context, 'PUT', path, inputData); +}); + diff --git a/openecomp-bdd/stepDefinitions/VLM_steps.js b/openecomp-bdd/stepDefinitions/VLM_steps.js index ea75313789..35e78b2d97 100644 --- a/openecomp-bdd/stepDefinitions/VLM_steps.js +++ b/openecomp-bdd/stepDefinitions/VLM_steps.js @@ -55,3 +55,25 @@ Then('I want to delete this VLM', function() { return util.request(this.context, 'DELETE', path); }); + +/** + * @module VLM + * @exampleFile ArchiveItem.feature + * @step I want to list Archived VLMs + **/ +Then('I want to list Archived VLMs', function() { + let path = '/vendor-license-models/?Status=ARCHIVED'; + return util.request(this.context, 'GET', path); +}); + +/** + * @module VLM + * @exampleFile ArchiveItem.feature + * @step I want to list Active VLMs + **/ +Then('I want to list Active VLMs', function() { + let path = '/vendor-license-models'; + return util.request(this.context, 'GET', path); +}); + + diff --git a/openecomp-bdd/stepDefinitions/VSP_steps.js b/openecomp-bdd/stepDefinitions/VSP_steps.js index bed8921a3c..1f753fef5e 100644 --- a/openecomp-bdd/stepDefinitions/VSP_steps.js +++ b/openecomp-bdd/stepDefinitions/VSP_steps.js @@ -118,4 +118,65 @@ When('I want to get the package for this Item to path {string}', function (strin Then('I want to delete this VSP', function() { let path = '/vendor-software-products/' + this.context.item.id ; return util.request(this.context, 'DELETE', path); +}); + +/** + * @module VSP + * @exampleFile ArchiveItem.feature + * @step I want to list Archived VSPs + **/ +Then('I want to list Archived VSPs', function() { + let path = '/vendor-software-products/?Status=ARCHIVED'; + return util.request(this.context, 'GET', path); +}); + +/** + * @module VSP + * @exampleFile ArchiveItem.feature + * @step I want to list Active VSPs + **/ +Then('I want to list Active VSPs', function() { + let path = '/vendor-software-products'; + return util.request(this.context, 'GET', path); +}); + + +/** + * @module VSP + * @exampleFile FilterArchivedVSPpackage.feature + * @step I want to list Archived VSPs packages + **/ +Then('I want to list Archived VSPs packages', function() { + let path = '/vendor-software-products/packages?Status=ARCHIVED'; + return util.request(this.context, 'GET', path); +}); + +/** + * @module VSP + * @exampleFile FilterArchivedVSPpackage.feature + * @step I want to list Active VSPs packages + **/ +Then('I want to list Active VSPs packages', function() { + let path = '/vendor-software-products/packages'; + return util.request(this.context, 'GET', path); + +}); + +/** + * @module VSP + * @exampleFile FilterArchivedVSPpackage.feature + * @step I want to check that VSP package exits in response + **/ +Then('I want to check that VSP package exits in response', function() { + + const packages = this.context.responseData.results; + const id = this.context.item.id; + var testResult = false; + + for(var i=0; i< packages.length; i++){ + if (id == packages[i].packageId){ + testResult = true; + } + } + assert.equal(testResult,true); }); \ No newline at end of file -- cgit 1.2.3-korg