blob: d5d4e8daa1407cf380be7411f8f3cd204a49f48d [file] [log] [blame]
*** Settings ***
Documentation The main interface for interacting with Consul.
Library RequestsLibrary
Library Collections
Library String
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