*** Settings *** Library Collections Library Process Library RequestsLibrary Library String Library OperatingSystem Suite Teardown Delete All Sessions *** Variables *** ${SON_HANDLER_BASE_URL} http://${SONHMS_IP}:8080 ${HEALTHCHECK_ENDPOINT} /healthcheck ${DMAAP_URL} http://${DMAAP_IP}:3904/events ${unauthenticated.DCAE_CL_OUTPUT} /unauthenticated.DCAE_CL_OUTPUT/23/23 ${POST_DMAAP_EVENT_FOR_FM_NOTIF_URL} http://${DMAAP_IP}:3904/events/unauthenticated.SEC_FAULT_OUTPUT ${POST_DMAAP_EVENT_FOR_PM_NOTIF_URL} http://${DMAAP_IP}:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT ${POST_DMAAP_EVENT_FOR_POLICY_RESPONSE} http://${DMAAP_IP}:3904/events/DCAE_CL_RSP *** Test Cases *** HealthCheck Create Session sonhms ${SON_HANDLER_BASE_URL} ${resp}= Get Request sonhms ${HEALTHCHECK_ENDPOINT} Should Be Equal As Strings ${resp.status_code} 200 Post fm notification to dmaap Create Session dmaap ${DMAAP_URL} ${headers}= Create Dictionary Content-Type application/json ${data}= Get File ${TEST_ROBOT_DIR}/data/fault_notification.json ${response}= Evaluate requests.post('${POST_DMAAP_EVENT_FOR_FM_NOTIF_URL}', data=$data) Should Be Equal As Strings ${response.status_code} 200 Verify fm notification trigger in sonhms Create Session dmaap ${DMAAP_URL} FOR ${i} IN RANGE 10 ${result}= Get Request dmaap ${unauthenticated.DCAE_CL_OUTPUT} Exit For Loop If ${result.json()} != @{EMPTY} Log Waiting for sonhms to handle trigger... console=${True} Sleep 30s END ${expected_payload}= Get File ${TEST_ROBOT_DIR}/data/expected_payload_fm.json ${result}= Convert To String ${result.content} ${result_string}= Get Substring ${result} 2 -2 ${actual_data}= Evaluate json.loads("""${result_string}""") json ${actual_payload}= Set Variable ${actual_data['payload']} Should Be True """${actual_payload}""".strip() == """${expected_payload}""".strip() Post pm notification to dmaap ${data}= Get File ${TEST_ROBOT_DIR}/data/performance_notification.json ${response}= Evaluate requests.post('${POST_DMAAP_EVENT_FOR_PM_NOTIF_URL}', data=$data) Should Be Equal As Strings ${response.status_code} 200 Verify pm notification trigger in sonhms Create Session dmaap ${DMAAP_URL} FOR ${i} IN RANGE 5 ${result}= Get Request dmaap ${unauthenticated.DCAE_CL_OUTPUT} Exit For Loop If ${result.json()} != @{EMPTY} Log Waiting for sonhms to handle trigger... console=${True} Sleep 30s END ${expected_payload}= Get File ${TEST_ROBOT_DIR}/data/expected_payload_pm.json ${result}= Convert To String ${result.content} ${result_string}= Get Substring ${result} 2 -2 ${actual_data}= Evaluate json.loads("""${result_string}""") json ${actual_payload}= Set Variable ${actual_data['payload']} Should Be True """${actual_payload}""".strip() == """${expected_payload}""".strip() Post policy negative acknowledgement to dmaap ${data}= Get File ${TEST_ROBOT_DIR}/data/negative_ack_from_policy.json FOR ${i} IN RANGE 3 ${response}= Evaluate requests.post('${POST_DMAAP_EVENT_FOR_POLICY_RESPONSE}', data=$data) END Should Be Equal As Strings ${response.status_code} 200 Oof trigger for fixed Pci cells Create Session dmaap ${DMAAP_URL} FOR ${i} IN RANGE 15 ${result}= Get Request dmaap ${unauthenticated.DCAE_CL_OUTPUT} Exit For Loop If ${result.json()} != @{EMPTY} Log Waiting for sonhms to handle trigger... console=${True} Sleep 30s END ${expected_payload}= Get File ${TEST_ROBOT_DIR}/data/expected_payload_fm.json ${result}= Convert To String ${result.content} ${result_string}= Get Substring ${result} 2 -2 ${actual_data}= Evaluate json.loads("""${result_string}""") json ${actual_payload}= Set Variable ${actual_data['payload']} Should Be True """${actual_payload}""".strip() == """${expected_payload}""".strip()