diff options
Diffstat (limited to 'robot/resources/consul_interface.robot')
-rw-r--r-- | robot/resources/consul_interface.robot | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/robot/resources/consul_interface.robot b/robot/resources/consul_interface.robot new file mode 100644 index 00000000..00f4334b --- /dev/null +++ b/robot/resources/consul_interface.robot @@ -0,0 +1,47 @@ +*** Settings *** +Documentation The main interface for interacting with Consul. +Library RequestsLibrary + +Resource global_properties.robot + +*** Variables *** +${CONSUL_ENDPOINT} http://consul.onap:8500 + + +*** Keywords *** +Run Consul Get Request + [Documentation] Runs Consul Get Request + [Arguments] ${data_path} + ${session}= Create Session consul ${CONSUL_ENDPOINT} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= Get Request consul ${data_path} headers=${headers} + Log Received response from policy ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + [Return] ${resp} + +Run Consul Put Request + [Documentation] Runs Consul Put request + [Arguments] ${data_path} ${data} + ${session}= Create Session consul ${CONSUL_ENDPOINT} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= Put Request consul ${data_path} data=${data} headers=${headers} + Log Received response from consul ${resp.text} + [Return] ${resp} + +Update Tca ControlLoopName + [Arguments] ${resource_id} + ${closedLoopControlName}= Set Variable ControlLoop-vFirewall-${resource_id} + Log Obtained closedLoopControlName ${closedLoopControlName} + ${resp}= Run Consul Get Request /v1/kv/dcae-tca-analytics + Should Be Equal As Strings ${resp.status_code} 200 + ${base64Obj}= Set Variable ${resp.json()[0]["Value"]} + ${binObj}= Evaluate base64.b64decode("${base64Obj}") modules=base64 + ${escaped}= Replace String ${binObj} \\ \\\\ + ${dict}= Evaluate json.loads('${escaped}') json + ${tca_policy}= Set Variable ${dict['app_preferences']['tca_policy']} + ${mdf_tca_policy}= Replace String Using Regexp ${tca_policy} ControlLoop-vFirewall[^"]* ${closedLoopControlName} + Set To Dictionary ${dict['app_preferences']} tca_policy=${mdf_tca_policy} + ${json}= Evaluate json.dumps(${dict}) json + ${resp}= Run Consul Put Request /v1/kv/dcae-tca-analytics data=${json} + Should Be Equal As Strings ${resp.status_code} 200 + |