*** Settings *** Documentation The main interface for interacting with Microservice Bus. Library RequestsLibrary Library Collections Library String Library ONAPLibrary.JSON Library ONAPLibrary.Templating WITH NAME Templating Resource global_properties.robot *** Variables *** ${CLAMP_HEALTH_CHECK_PATH} /restservices/clds/v1/healthcheck ${CLAMP_ENDPOINT} ${GLOBAL_CLAMP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_CLAMP_IP_ADDR}:${GLOBAL_CLAMP_SERVER_PORT} ${CLAMP_BASE_PATH} /restservices/clds/v1 ${CLAMP_CLIENT_KEY} robot/assets/keys/org.onap.clamp.key.clear.pem ${CLAMP_CLIENT_CERT} robot/assets/keys/org.onap.clamp.cert.pem ${CLAMP_TEMPLATE_PATH} clamp *** Keywords *** Run CLAMP Create Model [Documentation] Create a new CLAMP Model [Arguments] ${model_name} ${template_name} ${dict}= Create Dictionary MODEL_NAME=${model_name} TEMPLATE_NAME=${template_name} Templating.Create Environment clamp ${GLOBAL_TEMPLATE_FOLDER} ${data}= Templating.Apply Template clamp ${CLAMP_TEMPLATE_PATH}/create_model.jinja ${dict} ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/model/${model_name} ${resp}= Run CLAMP HTTPS Put Request ${data_path} ${data} Should Be Equal As Strings ${resp.status_code} 200 ${random}= Generate Random String 4 [LOWER][NUMBERS] ${policy_name}= Catenate PolicyTest ${random} Run CLAMP Save vLB Model ${model_name} ${template_name} ${policy_name} Run CLAMP Save vLB Model [Documentation] Save CLAMP Model [Arguments] ${model_name} ${template_name} ${policy_name} ${dict}= Create Dictionary MODEL_NAME=${model_name} TEMPLATE_NAME=${template_name} POLICY_NAME=${policy_name} DOLLAR_SIGN=$ Templating.Create Environment clamp ${GLOBAL_TEMPLATE_FOLDER} ${data}= Templating.Apply Template clamp ${CLAMP_TEMPLATE_PATH}/save_model_vlb.jinja ${dict} ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/model/${model_name} ${resp}= Run CLAMP HTTPS Put Request ${data_path} ${data} Should Be Equal As Strings ${resp.status_code} 200 Run CLAMP Validation Test ${model_name} ${data} Run CLAMP Validation Test [Documentation] Validate CLAMP Control Loop CLAMP Model [Arguments] ${model_name} ${model_data} ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/action/submit/${model_name}?test=true ${resp}= Run CLAMP HTTPS Put Request ${data_path} ${model_data} Should Be Equal As Strings ${resp.status_code} 200 Run CLAMP Get Properties [Documentation] get CLAMP Control Loop properties [Arguments] ${property_id} ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/properties/${property_id} ${resp}= Run Clamp HTTPS Get Request ${data_path} Run CLAMP Get Control Loop [Documentation] runs CLAMP Open Control Loop based on model name and returns control_loop_id [Arguments] ${model_name} ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/model/${model_name} ${resp}= Run Clamp HTTPS Get Request ${data_path} # propText value is a string # propText': u '{"global":[{"name":"service","value":["5fcdb3b7-5a5b-45da-83f6-14cce29181c8"]} Log ${resp.json()['propText']} ${control_loop_id}= Get Regexp Matches ${resp.json()['propText']} \\"service\\",\\"value\\":\\[\\"([0-9a-f\-]{36})\\" 1 [Return] ${control_loop_id[0]} Run CLAMP Get Model Names [Documentation] runs CLAMP Get Model Names and returns the model_id ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/model-names ${resp}= Run Clamp HTTPS Get Request ${data_path} [Return] ${resp.json()[0]['value']} Run CLAMP Health Check [Documentation] Runs CLAMP Health check ${resp}= Run CLAMP Get Request ${CLAMP_HEALTH_CHECK_PATH} Should Be Equal As Integers ${resp.status_code} 200 Run CLAMP HTTPS Put Request [Documentation] Runs CLAMP HTTPS Put request [Arguments] ${data_path} ${data} @{client_certs}= Create List ${CLAMP_CLIENT_CERT} ${CLAMP_CLIENT_KEY} ${session}= Create Client Cert Session session ${CLAMP_ENDPOINT} client_certs=@{client_certs} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json ${resp}= Put Request session ${data_path} data=${data} headers=${headers} Should Be Equal As Integers ${resp.status_code} 200 Log ${resp.json()} [Return] ${resp} Run CLAMP HTTPS Get Request [Documentation] Runs CLAMP HTTPS Get request [Arguments] ${data_path} @{client_certs}= Create List ${CLAMP_CLIENT_CERT} ${CLAMP_CLIENT_KEY} ${session}= Create Client Cert Session session ${CLAMP_ENDPOINT} client_certs=@{client_certs} ${resp}= Get Request session ${data_path} Should Be Equal As Integers ${resp.status_code} 200 Log ${resp.json()} [Return] ${resp} Run CLAMP Get Request [Documentation] Runs CLAMP Get request [Arguments] ${data_path} ${session}= Create Session session ${CLAMP_ENDPOINT} ${resp}= Get Request session ${data_path} Should Be Equal As Integers ${resp.status_code} 200 Log Received response from CLAMP ${resp.text} [Return] ${resp}