*** 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	          RequestsClientCert
Library 	      RequestsLibrary
Library	          UUID

Resource          global_properties.robot

*** Variables ***
${MR_HEALTH_CHECK_PATH}        /topics
${MR_ENDPOINT}     ${GLOBAL_MR_SERVER_PROTOCOL}://${GLOBAL_INJECTED_MR_IP_ADDR}:${GLOBAL_MR_SERVER_PORT}


*** 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 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}