X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ric_robot_suite%2Frobot%2Fresources%2Fmr_interface.robot;fp=ric_robot_suite%2Frobot%2Fresources%2Fmr_interface.robot;h=95b0b7ee35c57ad0a491062ed671f8e612d6b69b;hb=c5fa07bcd8cbd614bcd813cac698385b789bcfcb;hp=0000000000000000000000000000000000000000;hpb=59f84608ec15c016958a6e0e0ddd813f376c0925;p=it%2Ftest.git diff --git a/ric_robot_suite/robot/resources/mr_interface.robot b/ric_robot_suite/robot/resources/mr_interface.robot new file mode 100644 index 0000000..95b0b7e --- /dev/null +++ b/ric_robot_suite/robot/resources/mr_interface.robot @@ -0,0 +1,57 @@ +*** 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} +