${ASDC_VENDOR_FEATURE_GROUP_PATH} /feature-groups
${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} /license-agreements
${ASDC_VENDOR_ACTIONS_PATH} /actions
-${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} /upload
+${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} /orchestration-template-candidate
${ASDC_CATALOG_RESOURCES_PATH} /sdc2/rest/v1/catalog/resources
${ASDC_CATALOG_SERVICES_PATH} /sdc2/rest/v1/catalog/services
${ASDC_CATALOG_INACTIVE_RESOURCES_PATH} /sdc2/rest/v1/inactiveComponents/resource
${ASDC_USER_REMARKS_TEMPLATE} robot/assets/templates/asdc/user_remarks.template
${ASDC_CATALOG_SERVICE_TEMPLATE} robot/assets/templates/asdc/catalog_service.template
${ASDC_RESOURCE_INSTANCE_TEMPLATE} robot/assets/templates/asdc/resource_instance.template
+${ASDC_FE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_FE_IP_ADDR}:${GLOBAL_ASDC_FE_PORT}
+${ASDC_BE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_ASDC_BE_PORT}
+
*** Keywords ***
Distribute Model From ASDC
[Documentation] goes end to end creating all the asdc objects based ona model and distributing it to the systems. it then returns the service name, vf name and vf module name
Distribute ASDC Catalog Service ${catalog_service_id}
${catalog_service_resp}= Get ASDC Catalog Service ${catalog_service_id}
${vf_module}= Find Element In Array ${loop_catalog_resource_resp['groups']} type org.openecomp.groups.VfModule
- [Return] ${catalog_service_resp['name']} ${loop_catalog_resource_resp['name']} ${vf_module} ${catalog_resource_ids} ${catalog_service_id}
Check Catalog Service Distributed ${catalog_service_resp['uuid']}
+ [Return] ${catalog_service_resp['name']} ${loop_catalog_resource_resp['name']} ${vf_module} ${catalog_resource_ids} ${catalog_service_id}
+
Setup ASDC Catalog Resource
[Documentation] Creates all the steps a vf needs for an asdc catalog resource and returns the id
[Arguments] ${model_zip_path}
${license_agreement_id}= Add ASDC License Agreement ${license_model_id} ${feature_group_id}
Checkin ASDC License Model ${license_model_id}
Submit ASDC License Model ${license_model_id}
- ${license_model_resp}= Get ASDC License Model ${license_model_id}
+ ${license_model_resp}= Get ASDC License Model ${license_model_id} 1.0
${software_product_id}= Add ASDC Software Product ${license_agreement_id} ${feature_group_id} ${license_model_resp['vendorName']} ${license_model_id}
Upload ASDC Heat Package ${software_product_id} ${model_zip_path}
+ Validate ASDC Software Product ${software_product_id}
Checkin ASDC Software Product ${software_product_id}
Submit ASDC Software Product ${software_product_id}
Package ASDC Software Product ${software_product_id}
- ${software_product_resp}= Get ASDC Software Product ${software_product_id}
+ ${software_product_resp}= Get ASDC Software Product ${software_product_id} 1.0
${catalog_resource_id}= Add ASDC Catalog Resource ${license_agreement_id} ${software_product_resp['name']} ${license_model_resp['vendorName']} ${software_product_id}
Checkin ASDC Catalog Resource ${catalog_resource_id}
Request Certify ASDC Catalog Resource ${catalog_resource_id}
[Return] ${resp.json()['value']}
Get ASDC License Model
[Documentation] gets an asdc license model by its id
- [Arguments] ${id}
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}
+ [Arguments] ${id} ${version_id}=0.1
+ ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}
+ [Return] ${resp.json()}
+Get ASDC License Models
+ [Documentation] gets an asdc license model by its id
+ ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}
[Return] ${resp.json()}
Checkin ASDC License Model
[Documentation] checksin an asdc license model by its id
- [Arguments] ${id}
+ [Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Checkin
${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
+ ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
Submit ASDC License Model
[Documentation] submits an asdc license model by its id
- [Arguments] ${id}
+ [Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Submit
${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
+ ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
Checkin ASDC Software Product
[Documentation] checksin an asdc Software Product by its id
- [Arguments] ${id}
+ [Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Checkin
${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
+ ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
+ Should Be Equal As Strings ${resp.status_code} 200
+ [Return] ${resp.json()}
+Validate ASDC Software Product
+ [Documentation] checksin an asdc Software Product by its id
+ [Arguments] ${id} ${version_id}=0.1
+ ${data}= Catenate
+ ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}/orchestration-template-candidate/process ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
Submit ASDC Software Product
[Documentation] submits an asdc Software Product by its id
- [Arguments] ${id}
+ [Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Submit
${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
+ ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
Package ASDC Software Product
[Documentation] creates_package on an asdc Software Product by its id
- [Arguments] ${id}
+ [Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Create_Package
${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
+ ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
Add ASDC Entitlement Pool
[Documentation] Creates an asdc Entitlement Pool and returns its id
- [Arguments] ${license_model_id}
+ [Arguments] ${license_model_id} ${version_id}=0.1
${uuid}= Generate UUID
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary entitlement_pool_name=${shortened_uuid}
${data}= Fill JSON Template File ${ASDC_ENTITLEMENT_POOL_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH} ${data}
+ ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
Get ASDC Entitlement Pool
[Return] ${resp.json()}
Add ASDC License Group
[Documentation] Creates an asdc license group and returns its id
- [Arguments] ${license_model_id}
+ [Arguments] ${license_model_id} ${version_id}=0.1
${uuid}= Generate UUID
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary key_group_name=${shortened_uuid}
${data}= Fill JSON Template File ${ASDC_KEY_GROUP_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_KEY_GROUP_PATH} ${data}
+ ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
Get ASDC License Group
[Documentation] gets an asdc license group by its id
- [Arguments] ${license_model_id} ${group_id}
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_KEY_GROUP_PATH}/${group_id}
+ [Arguments] ${license_model_id} ${group_id} ${version_id}
+ ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH}/${group_id}
[Return] ${resp.json()}
Add ASDC Feature Group
[Documentation] Creates an asdc Feature Group and returns its id
- [Arguments] ${license_model_id} ${key_group_id} ${entitlement_pool_id}
+ [Arguments] ${license_model_id} ${key_group_id} ${entitlement_pool_id} ${version_id}=0.1
${uuid}= Generate UUID
${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${map}= Create Dictionary feature_group_name=${shortened_uuid} key_group_id=${key_group_id} entitlement_pool_id=${entitlement_pool_id}
+ ${map}= Create Dictionary feature_group_name=${shortened_uuid} key_group_id=${key_group_id} entitlement_pool_id=${entitlement_pool_id} manufacturer_reference_number=mrn${shortened_uuid}
${data}= Fill JSON Template File ${ASDC_FEATURE_GROUP_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_FEATURE_GROUP_PATH} ${data}
+ ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_FEATURE_GROUP_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
Get ASDC Feature Group
[Return] ${resp.json()}
Add ASDC License Agreement
[Documentation] Creates an asdc License Agreement and returns its id
- [Arguments] ${license_model_id} ${feature_group_id}
+ [Arguments] ${license_model_id} ${feature_group_id} ${version_id}=0.1
${uuid}= Generate UUID
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary license_agreement_name=${shortened_uuid} feature_group_id=${feature_group_id}
${data}= Fill JSON Template File ${ASDC_LICENSE_AGREEMENT_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} ${data}
+ ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} ${data}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
Get ASDC License Agreement
[Return] ${resp.json()['vspId']}
Get ASDC Software Product
[Documentation] gets an asdc Software Product by its id
- [Arguments] ${software_product_id}
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}
+ [Arguments] ${software_product_id} ${version_id}=0.1
+ ${resp}= Run ASDC Get Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}
[Return] ${resp.json()}
Add ASDC Catalog Resource
[Documentation] Creates an asdc Catalog Resource and returns its id
${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify ${data} ${ASDC_TESTER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['uniqueId']}
+
Upload ASDC Heat Package
[Documentation] Creates an asdc Software Product and returns its id
- [Arguments] ${software_product_id} ${file_path}
- ${file}= Get Binary File ${file_path}
- ${files}= Create Dictionary upload=${file}
- ${resp}= Run ASDC Post Files Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} ${files} ${ASDC_DESIGNER_USER_ID}
+ [Arguments] ${software_product_id} ${file_path} ${version_id}=0.1
+ ${files}= Create Dictionary
+ Create Multi Part ${files} upload ${file_path} contentType=application/zip
+ ${resp}= Run ASDC Post Files Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} ${files} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
+
Add ASDC Catalog Service
[Documentation] Creates an asdc Catalog Service and returns its id
[Arguments] ${catalog_service_name}
[Return] ${resp.json()}
Run ASDC Health Check
[Documentation] Runs a ASDC health check
- ${session}= Create Session asdc ${GLOBAL_ASDC_FE_SERVER}:${GLOBAL_ASDC_FE_PORT}
+ ${session}= Create Session asdc ${ASDC_FE_ENDPOINT}
${uuid}= Generate UUID
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
${resp}= Get Request asdc ${ASDC_HEALTH_CHECK_PATH} headers=${headers}
[Documentation] Runs an ASDC get request
[Arguments] ${data_path} ${user}=${ASDC_DESIGNER_USER_ID}
${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${GLOBAL_ASDC_BE_SERVER}
- ${session}= Create Session asdc ${GLOBAL_ASDC_BE_SERVER}:${GLOBAL_ASDC_BE_PORT} auth=${auth}
+ Log Creating session ${ASDC_BE_ENDPOINT}
+ ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
${uuid}= Generate UUID
${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
${resp}= Get Request asdc ${data_path} headers=${headers}
[Documentation] Runs an ASDC put request
[Arguments] ${data_path} ${data} ${user}=${ASDC_DESIGNER_USER_ID}
${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${GLOBAL_ASDC_BE_SERVER}
- ${session}= Create Session asdc ${GLOBAL_ASDC_BE_SERVER}:${GLOBAL_ASDC_BE_PORT} auth=${auth}
+ Log Creating session ${ASDC_BE_ENDPOINT}
+ ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
${uuid}= Generate UUID
${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
${resp}= Put Request asdc ${data_path} data=${data} headers=${headers}
Log Received response from asdc ${resp.text}
[Return] ${resp}
+
Run ASDC Post Files Request
[Documentation] Runs an ASDC post request
[Arguments] ${data_path} ${files} ${user}=${ASDC_DESIGNER_USER_ID}
${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${GLOBAL_ASDC_BE_SERVER}
- ${session}= Create Session asdc ${GLOBAL_ASDC_BE_SERVER}:${GLOBAL_ASDC_BE_PORT} auth=${auth}
+ Log Creating session ${ASDC_BE_ENDPOINT}
+ ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
${uuid}= Generate UUID
${headers}= Create Dictionary Accept=application/json Content-Type=multipart/form-data USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
${resp}= Post Request asdc ${data_path} files=${files} headers=${headers}
Log Received response from asdc ${resp.text}
[Return] ${resp}
+
Run ASDC Post Request
[Documentation] Runs an ASDC post request
[Arguments] ${data_path} ${data} ${user}=${ASDC_DESIGNER_USER_ID}
${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${GLOBAL_ASDC_BE_SERVER}
- ${session}= Create Session asdc ${GLOBAL_ASDC_BE_SERVER}:${GLOBAL_ASDC_BE_PORT} auth=${auth}
+ Log Creating session ${ASDC_BE_ENDPOINT}
+ ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
${uuid}= Generate UUID
${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
${resp}= Post Request asdc ${data_path} data=${data} headers=${headers}
[Documentation] Runs an ASDC delete request
[Arguments] ${data_path} ${user}=${ASDC_DESIGNER_USER_ID}
${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${GLOBAL_ASDC_BE_SERVER}
- ${session}= Create Session asdc ${GLOBAL_ASDC_BE_SERVER}:${GLOBAL_ASDC_BE_PORT} auth=${auth}
+ Log Creating session ${ASDC_BE_ENDPOINT}
+ ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
${uuid}= Generate UUID
${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
${resp}= Delete Request asdc ${data_path} headers=${headers}
[Arguments] ${PATH}
## Setup Browever now being managed by the test case
##Setup Browser
- Go To ${GLOBAL_ASDC_FE_SERVER}${PATH}
+ Go To ${ASDC_FE_ENDPOINT}${PATH}
Maximize Browser Window
- Set Selenium Speed ${GLOBAL_SELENIUM_DELAY}
+
Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
- Log Logging in to ${GLOBAL_ASDC_FE_SERVER}${PATH}
+ Log Logging in to ${ASDC_FE_ENDPOINT}${PATH}
Title Should Be ASDC
Wait Until Page Contains Element xpath=//div/a[text()='SDC'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
- Log Logged in to ${GLOBAL_PORTAL_SERVER}${PATH}
+ Log Logged in to ${ASDC_FE_ENDPOINT}${PATH}
+
+
+Create Multi Part
+ [Arguments] ${addTo} ${partName} ${filePath} ${contentType}=${None}
+ ${fileData}= Get Binary File ${filePath}
+ ${fileDir} ${fileName}= Split Path ${filePath}
+ ${partData}= Create List ${fileName} ${fileData} ${contentType}
+ Set To Dictionary ${addTo} ${partName}=${partData}