diff options
Diffstat (limited to 'robot/resources/dcae')
-rw-r--r-- | robot/resources/dcae/deployment.robot | 36 | ||||
-rw-r--r-- | robot/resources/dcae/inventory.robot | 43 |
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 |