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 --- .../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 +++++++++ 10 files changed, 382 insertions(+) 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 (limited to 'cucumber-js-test-apis-ci/features/Onboarding') 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 -- cgit 1.2.3-korg