*** Settings *** Documentation The main interface for interacting with Message router. It handles low level stuff like managing the http request library and message router required fields Library RequestsLibrary Library UUID Resource global_properties.robot *** Variables *** ${MR_HEALTH_CHECK_PATH} /topics ${MR_PUB_HEALTH_CHECK_PATH} /events/TEST_TOPIC ${MR_SUB_HEALTH_CHECK_PATH} /events/TEST_TOPIC/g1/c4?timeout=5000 ${MR_ENDPOINT} ${GLOBAL_MR_SERVER_PROTOCOL}://${GLOBAL_INJECTED_MR_IP_ADDR}:${GLOBAL_MR_SERVER_PORT} ${MR_PUBLISH_TEMPLATE} robot/assets/templates/mr_publish.template *** Keywords *** Run MR Health Check [Documentation] Runs MR Health check ${resp}= Run MR Get Request ${MR_HEALTH_CHECK_PATH} Should Be Equal As Strings ${resp.status_code} 200 Should Contain ${resp.json()} topics Run MR PubSub Health Check [Documentation] Runs MR PubSub Health check ${resp}= Run MR Get Request ${MR_SUB_HEALTH_CHECK_PATH} # topic may not be created which is a 400 error ${resp}= Run MR Post Request ${MR_PUB_HEALTH_CHECK_PATH} Should Be Equal As Strings ${resp.status_code} 200 Should Contain ${resp.json()} serverTimeMs Failed to Write Data ${resp}= Run MR Get Request ${MR_SUB_HEALTH_CHECK_PATH} # ${resp} is an array Should Be Equal As Strings ${resp.status_code} 200 Should Contain ${resp.json()[0]} timestamp Failed to Read Data Run MR Get Request [Documentation] Runs MR Get request [Arguments] ${data_path} ${session}= Create Session mr ${MR_ENDPOINT} ${uuid}= Generate UUID ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Get Request mr ${data_path} headers=${headers} Log Received response from message router ${resp.text} [Return] ${resp} Run MR Post Request [Documentation] Runs MR Post request [Arguments] ${data_path} ${session}= Create Session mr ${MR_ENDPOINT} ${timestamp}= Get Current Date ${dict}= Create Dictionary timestamp=${timestamp} ${data}= Fill JSON Template File ${MR_PUBLISH_TEMPLATE} ${dict} ${uuid}= Generate UUID ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Post Request mr ${data_path} data=${data} headers=${headers} Log Received response from message router ${resp.text} [Return] ${resp}