summaryrefslogtreecommitdiffstats
path: root/cucumber-js-test-apis-ci/features/Onboarding
diff options
context:
space:
mode:
authorilanap <ilanap@amdocs.com>2019-01-01 17:22:07 +0200
committerOren Kleks <orenkle@amdocs.com>2019-01-02 12:37:08 +0000
commit866418030975f2ee09a27d144de4e880218e84e8 (patch)
tree70a329025f0c382b658c667813dd4f9183e6e98e /cucumber-js-test-apis-ci/features/Onboarding
parent9da0b14bb0a0321f08458ba7b9148336e00d77d3 (diff)
docker for cucumber BDD
Issue-ID: SDC-2028 Change-Id: I7c1376c449ba7650c3bbc1838726cfd178d2ca40 Signed-off-by: ilanap <ilanap@amdocs.com>
Diffstat (limited to 'cucumber-js-test-apis-ci/features/Onboarding')
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVlm.feature42
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/ArchiveVsp.feature58
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/ArchiveItem/FilterArchivedVSPpackage.feature40
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMCertified.feature24
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVLMDraft.feature24
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPCertified.feature29
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/DeleteItem/DeleteVSPDraft.feature22
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFilters.feature86
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/ListItems/ListItemsFiltersFailures.feature24
-rw-r--r--cucumber-js-test-apis-ci/features/Onboarding/UniqueValue.feature33
10 files changed, 382 insertions, 0 deletions
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