diff options
Diffstat (limited to 'tests/dcaegen2/prh-testcases/resources/prh_library.robot')
-rw-r--r-- | tests/dcaegen2/prh-testcases/resources/prh_library.robot | 155 |
1 files changed, 92 insertions, 63 deletions
diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot index 36b1a1c5..0353e119 100644 --- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot +++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot @@ -1,82 +1,113 @@ *** Settings *** Library RequestsLibrary -Library Collections Library PrhLibrary.py Resource ../../../common.robot *** Keywords *** -Create header - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - Set Suite Variable ${suite_headers} ${headers} +Verify PNF ready sent + [Arguments] ${test_case_directory} + ${pnf_entry}= Get Data From File ${test_case_directory}/aai-entry.json + ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json + ${expected_pnf_ready_event}= Get Data From File ${test_case_directory}/expected-pnf-ready-event.json + Add PNF entry in AAI ${pnf_entry} + Set VES event in DMaaP ${ves_event} + Wait Until Keyword Succeeds 10x 3000ms Check CBS ready + Wait Until Keyword Succeeds 30x 3000ms Check recorded PNF_READY notification ${expected_pnf_ready_event} -Create sessions - Create Session dmaap_setup_session ${DMAAP_SIMULATOR_SETUP_URL} - Set Suite Variable ${dmaap_setup_session} dmaap_setup_session - Create Session aai_setup_session ${AAI_SIMULATOR_SETUP_URL} - Set Suite Variable ${aai_setup_session} aai_setup_session - Create Session consul_setup_session ${CONSUL_SETUP_URL} - Set Suite Variable ${consul_setup_session} consul_setup_session - Sleep 10s +Verify PNF ready sent and logical link created + [Arguments] ${test_case_directory} + ${expected_logical_link}= Get Data From File ${test_case_directory}/expected-logical-link.json + Verify PNF ready sent ${test_case_directory} + Check recorded Logical Link ${expected_logical_link} -Reset Simulators - Reset AAI simulator - Reset DMaaP simulator +Verify event with missing required field is logged + [Arguments] ${test_case_directory} + ${invalid_ves_event}= Get Data From File ${test_case_directory}/invalid-ves-event.json + Set VES event in DMaaP ${invalid_ves_event} + ${error_msg}= Create event parsing error ${invalid_ves_event} + Wait Until Keyword Succeeds 10x 3000ms Check PRH log ${error_msg} -Valid event processing - [Arguments] ${input_valid__ves_event_in_dmaap} ${input_aai} - [Timeout] 150s - Wait Until Keyword Succeeds 10x 3000ms Check CBS ready - ${data}= Get Data From File ${input_valid__ves_event_in_dmaap} - ${aai_entry_to_be_set}= Get Data From File ${input_aai} - Set event in DMaaP ${data} - ${pnf_name}= Create PNF name ${data} - Set PNF name in AAI ${pnf_name} - Set PNF content in AAI ${aai_entry_to_be_set} - ${expected_event_pnf_ready_in_dpaap}= create pnf ready_notification as pnf ready ${data} - Wait Until Keyword Succeeds 30x 3000ms Check PNF_READY notification ${expected_event_pnf_ready_in_dpaap} - -Invalid event processing - [Arguments] ${input_invalid_event_in_dmaap} - [Timeout] 150s - ${data}= Get Data From File ${input_invalid_event_in_dmaap} - Set event in DMaaP ${data} - ${invalid_notification}= Create invalid notification ${data} - ${notification}= Catenate SEPARATOR= \\n |Incorrect json, consumerDmaapModel can not be created: ${invalid_notification} - Wait Until Keyword Succeeds 100x 100ms Check PRH log ${notification} +Verify incorrect JSON event is logged + [Timeout] 60s + [Arguments] ${test_case_directory} + ${invalid_ves_event}= Get Data From File ${test_case_directory}/invalid-ves-event.json + Set VES event in DMaaP ${invalid_ves_event} + # TODO hangs build + #Wait Until Keyword Succeeds 10x 3000ms Check PRH log |java.lang.IllegalStateException: Not a JSON Array: -Check PRH log - [Arguments] ${searched_log} - ${status}= Find log entry ${searched_log} - Should Be Equal As Strings ${status} True +Verify missing AAI record is logged + [Arguments] ${test_case_directory} + ${incorrect_aai_entry}= Get Data From File ${test_case_directory}/incorrect-aai-entry.json + ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json + Add PNF entry in AAI ${incorrect_aai_entry} + Set VES event in DMaaP ${ves_event} + Wait Until Keyword Succeeds 10x 3000ms Check PRH log |AAIProducerTask exception has been registered + Wait Until Keyword Succeeds 10x 3000ms Check PRH log |Chain of tasks have been aborted due to errors in PRH workflow + +Verify AAI not responding is logged + [Arguments] ${test_case_directory} + ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json + Ensure Container Is Exited aai_simulator + Set VES event in DMaaP ${ves_event} + Wait Until Keyword Succeeds 10x 3000ms Check PRH log java.net.UnknownHostException: aai + Ensure Container Is Running aai_simulator + +Check CBS ready + ${resp}= Get Request ${consul_setup_session} /v1/catalog/service/cbs + Should Be Equal As Strings ${resp.status_code} 200 + Log CBS ${resp.content} -Check PNF_READY notification +Check recorded PNF_READY notification [Arguments] ${expected_event_pnf_ready_in_dpaap} ${resp}= Get Request ${dmaap_setup_session} /setup/pnf_ready headers=${suite_headers} - Should Be Equal ${resp.text} ${expected_event_pnf_ready_in_dpaap} + Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As JSON ${resp.content} ${expected_event_pnf_ready_in_dpaap} -Set PNF name in AAI - [Arguments] ${pnf_name} - ${headers}= Create Dictionary Accept=application/json Content-Type=text/html - Log AAI url ${AAI_SIMULATOR_SETUP_URL} - Log Http headers ${headers} - Log PNF name ${pnf_name} - ${resp}= Put Request ${aai_setup_session} /set_pnf headers=${headers} data=${pnf_name} +Check recorded Logical Link + [Arguments] ${expected_logical_link_in_aai} + ${resp}= Get Request ${aai_setup_session} /setup/created_logical_link headers=${suite_headers} Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As JSON ${resp.content} ${expected_logical_link_in_aai} -Set PNF content in AAI - [Arguments] ${aai_pnf_content} - ${headers}= Create Dictionary Accept=application/json Content-Type=text/html +Check PRH log + [Arguments] ${log_entry} + ${found}= Find log entry ${log_entry} + Should Be True ${found} + +Create event parsing error + [Arguments] ${ves_event} + ${notification}= Create invalid notification ${ves_event} + ${error_msg}= Catenate SEPARATOR= \\n |Incorrect json, consumerDmaapModel can not be created: ${notification} + [Return] ${error_msg} + +Add PNF entry in AAI + [Arguments] ${pnf_entry} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Log AAI url ${AAI_SIMULATOR_SETUP_URL} - Log Http headers ${headers} - Log PNF AAI content ${aai_pnf_content} - ${resp}= Put Request ${aai_setup_session} /setup/add_pnf_entry headers=${headers} data=${aai_pnf_content} + ${resp}= Put Request ${aai_setup_session} /setup/add_pnf_entry headers=${suite_headers} data=${pnf_entry} Should Be Equal As Strings ${resp.status_code} 200 -Set event in DMaaP - [Arguments] ${event_in_dmaap} - ${resp}= Put Request ${dmaap_setup_session} /setup/ves_event headers=${suite_headers} data=${event_in_dmaap} +Set VES event in DMaaP + [Arguments] ${ves_event} + ${resp}= Put Request ${dmaap_setup_session} /setup/ves_event headers=${suite_headers} data=${ves_event} Should Be Equal As Strings ${resp.status_code} 200 +Should Be Equal As JSON + [Arguments] ${given} ${expected} + Should Be True ${given}==${expected} + +Create sessions + Create Session dmaap_setup_session ${DMAAP_SIMULATOR_SETUP_URL} + Set Suite Variable ${dmaap_setup_session} dmaap_setup_session + Create Session aai_setup_session ${AAI_SIMULATOR_SETUP_URL} + Set Suite Variable ${aai_setup_session} aai_setup_session + Create Session consul_setup_session ${CONSUL_SETUP_URL} + Set Suite Variable ${consul_setup_session} consul_setup_session + +Reset Simulators + Reset AAI simulator + Reset DMaaP simulator + Reset AAI simulator ${resp}= Post Request ${aai_setup_session} /reset Should Be Equal As Strings ${resp.status_code} 200 @@ -85,8 +116,6 @@ Reset DMaaP simulator ${resp}= Post Request ${dmaap_setup_session} /reset Should Be Equal As Strings ${resp.status_code} 200 - -Check CBS ready - ${resp}= Get Request ${consul_setup_session} /v1/catalog/service/cbs - Should Be Equal As Strings ${resp.status_code} 200 - Log CBS ${resp.content} +Create headers + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + Set Suite Variable ${suite_headers} ${headers} |