summaryrefslogtreecommitdiffstats
path: root/robot/resources/consul_interface.robot
diff options
context:
space:
mode:
authorMichal Ptacek <m.ptacek@partner.samsung.com>2019-07-08 16:13:02 +0200
committerMichal Ptacek <m.ptacek@partner.samsung.com>2019-07-10 18:47:28 +0000
commit6880b65aa62c010b837d8731e14c55f8b227895d (patch)
tree5f757b9f9f0a1424c107de362bcb66ade247c2a4 /robot/resources/consul_interface.robot
parent8e7028b3ee4d18ec1916f9a68dd8587377452376 (diff)
Automating tca microservice CLname change
tca microservice has hardcoded closedLoopControlName, this change is to adjust it to one generated during operational policy update. Change-Id: Id4de425a6141fb0f6a564c4efa24478e5e6e1f59 Issue-ID: TEST-168 Signed-off-by: Michal Ptacek <m.ptacek@partner.samsung.com>
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
+