aboutsummaryrefslogtreecommitdiffstats
path: root/robot/resources/dcae
diff options
context:
space:
mode:
Diffstat (limited to 'robot/resources/dcae')
-rw-r--r--robot/resources/dcae/deployment.robot36
-rw-r--r--robot/resources/dcae/inventory.robot43
2 files changed, 79 insertions, 0 deletions
diff --git a/robot/resources/dcae/deployment.robot b/robot/resources/dcae/deployment.robot
new file mode 100644
index 00000000..30a5efce
--- /dev/null
+++ b/robot/resources/dcae/deployment.robot
@@ -0,0 +1,36 @@
+*** Settings ***
+Documentation The main interface for interacting with 5G Bulkpm.
+Library RequestsLibrary
+Library OperatingSystem
+Library String
+
+*** Variables ***
+${DEPLOYMENT_SERVER} ${GLOBAL_DEPLOYMENT_HANDLER_SERVER_PROTOCOL}://${GLOBAL_DEPLOYMENT_HANDLER_SERVER_NAME}:${GLOBAL_DEPLOYMENT_HANDLER_SERVER_PORT}
+${DEPLOYMENT_ENDPOINT} dcae-deployments
+
+*** Keywords ***
+Deploy Service
+ [Arguments] ${inputs} ${deployment_name} ${wait_time}=5 minute
+ Disable Warnings
+ ${headers}= Create Dictionary content-type=application/json
+ ${deployment_data}= Set Variable ${inputs}
+ ${session}= Create Session deployment_session ${DEPLOYMENT_SERVER}
+ ${resp}= Put Request deployment_session /${DEPLOYMENT_ENDPOINT}/${deployment_name} data=${deployment_data} headers=${headers}
+ ${operationLink} Set Variable ${resp.json().get('links').get('status')}
+ ${operationId} Fetch From Right ${operationLink} /
+ Wait Until Keyword Succeeds ${wait_time} 20 sec Deployment Status ${deployment_name} ${operationId}
+
+Deployment Status
+ [Arguments] ${deployment_name} ${operationId}
+ Disable Warnings
+ ${session}= Create Session deployment_session ${DEPLOYMENT_SERVER}
+ ${resp}= Get Request deployment_session /${DEPLOYMENT_ENDPOINT}/${deployment_name}/operation/${operationId}
+ ${status} Set Variable ${resp.json().get('status')}
+ Should Be Equal As Strings ${status} succeeded
+
+Undeploy Service
+ [Arguments] ${deployment_name}
+ Disable Warnings
+ ${session}= Create Session deployment_session ${DEPLOYMENT_SERVER}
+ ${resp}= Delete Request deployment_session /${DEPLOYMENT_ENDPOINT}/${deployment_name}
+ [Return] ${resp}
diff --git a/robot/resources/dcae/inventory.robot b/robot/resources/dcae/inventory.robot
new file mode 100644
index 00000000..647c3780
--- /dev/null
+++ b/robot/resources/dcae/inventory.robot
@@ -0,0 +1,43 @@
+*** Settings ***
+Documentation The main interface for interacting with 5G Bulkpm.
+Library RequestsLibrary
+Library OperatingSystem
+Library String
+Library ONAPLibrary.Templating WITH NAME Templating
+Resource ../global_properties.robot
+
+
+*** Variables ***
+${INVENTORY_SERVER} ${GLOBAL_INVENTORY_SERVER_PROTOCOL}://${GLOBAL_INVENTORY_SERVER_NAME}:${GLOBAL_INVENTORY_SERVER_PORT}
+${INVENTORY_ENDPOINT} /dcae-service-types
+${BLUEPRINT_TEMPLATE} ${EXECDIR}/robot/assets/cmpv2/blueprintTemplate.json
+*** Keywords ***
+
+Load Blueprint To Inventory
+ [Arguments] ${blueprint_path} ${typeName}
+ Disable Warnings
+ ${blueprint}= OperatingSystem.Get File ${blueprint_path}
+ ${templatejson}= Load JSON From File ${BLUEPRINT_TEMPLATE}
+ ${templatejson}= Update Value To Json ${templatejson} blueprintTemplate ${blueprint}
+ ${templatejson}= Update Value To Json ${templatejson} typeName ${typeName}
+ ${data} Convert JSON To String ${templatejson}
+ ${headers}= Create Dictionary content-type=application/json
+ ${session}= Create Session inventory_session ${INVENTORY_SERVER}
+ ${resp}= Post Request inventory_session ${INVENTORY_ENDPOINT} data=${data} headers=${headers}
+ ${serviceTypeId}= Set Variable ${resp.json().get('typeId')}
+ [Return] ${serviceTypeId}
+
+Delete Blueprint From Inventory
+ [Arguments] ${serviceTypeId}
+ Disable Warnings
+ ${session}= Create Session inventory_session ${INVENTORY_SERVER}
+ ${resp}= Delete Request inventory_session ${INVENTORY_ENDPOINT}/${serviceTypeId}
+ [Return] ${resp}
+
+Get Blueprint From Inventory
+ [Arguments] ${typeName}
+ Disable Warnings
+ ${headers}= Create Dictionary content-type=application/json
+ ${session}= Create Session inventory_session ${INVENTORY_SERVER}
+ ${resp}= Get Request inventory_session ${INVENTORY_ENDPOINT}?typeName=${typeName} headers=${headers}
+ [Return] ${resp} \ No newline at end of file