From 19a4d2dad02aae14636654402df10b185803be58 Mon Sep 17 00:00:00 2001 From: Brian Freeman Date: Fri, 30 Nov 2018 13:03:52 -0500 Subject: Add DMaaP PubSub HealthCheck Issue-ID: INT-752 Change-Id: I35c6eec7cd37b0f76b6fd9ec7bf67633c47ae36b Signed-off-by: Brian Freeman --- robot/resources/mr_interface.robot | 42 +++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) (limited to 'robot/resources/mr_interface.robot') diff --git a/robot/resources/mr_interface.robot b/robot/resources/mr_interface.robot index 1a858f24..625198dc 100644 --- a/robot/resources/mr_interface.robot +++ b/robot/resources/mr_interface.robot @@ -1,30 +1,58 @@ *** 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 +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_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 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} + ${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}= Get Request mr ${data_path} headers=${headers} + ${resp}= Post Request mr ${data_path} data=${data} headers=${headers} Log Received response from message router ${resp.text} [Return] ${resp} -- cgit 1.2.3-korg