aboutsummaryrefslogtreecommitdiffstats
path: root/robot/resources/consul_interface.robot
diff options
context:
space:
mode:
Diffstat (limited to 'robot/resources/consul_interface.robot')
-rw-r--r--robot/resources/consul_interface.robot47
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
+