2 Library RequestsLibrary
4 Resource ../../../common.robot
8 [Arguments] ${test_case_directory}
9 ${pnf_entry}= Get Data From File ${test_case_directory}/aai-entry.json
10 ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json
11 ${expected_pnf_ready_event}= Get Data From File ${test_case_directory}/expected-pnf-ready-event.json
12 Add PNF entry in AAI ${pnf_entry}
13 Set VES event in DMaaP ${ves_event}
14 Wait Until Keyword Succeeds 10x 3000ms Check CBS ready
15 Wait Until Keyword Succeeds 30x 3000ms Check recorded PNF_READY notification ${expected_pnf_ready_event}
17 Verify PNF ready sent and logical link created
18 [Arguments] ${test_case_directory}
19 ${expected_logical_link}= Get Data From File ${test_case_directory}/expected-logical-link.json
20 Verify PNF ready sent ${test_case_directory}
21 Check recorded Logical Link ${expected_logical_link}
23 Verify event with missing required field is logged
24 [Arguments] ${test_case_directory}
25 ${invalid_ves_event}= Get Data From File ${test_case_directory}/invalid-ves-event.json
26 Set VES event in DMaaP ${invalid_ves_event}
27 ${error_msg}= Create event parsing error ${invalid_ves_event}
28 Wait Until Keyword Succeeds 10x 3000ms Check PRH log ${error_msg}
30 Verify incorrect JSON event is logged
32 [Arguments] ${test_case_directory}
33 ${invalid_ves_event}= Get Data From File ${test_case_directory}/invalid-ves-event.json
34 Set VES event in DMaaP ${invalid_ves_event}
35 Wait Until Keyword Succeeds 10x 3000ms Check PRH log |Element is neither JSON Object or Array
37 Verify missing AAI record is logged
39 [Arguments] ${test_case_directory}
40 ${incorrect_aai_entry}= Get Data From File ${test_case_directory}/incorrect-aai-entry.json
41 ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json
42 Add PNF entry in AAI ${incorrect_aai_entry}
43 Set VES event in DMaaP ${ves_event}
44 Wait Until Keyword Succeeds 10x 3000ms Check PRH log |AAIProducerTask exception has been registered
45 Wait Until Keyword Succeeds 10x 3000ms Check PRH log |Chain of tasks have been aborted due to errors in PRH workflow
47 Verify AAI not responding is logged
49 [Arguments] ${test_case_directory}
50 ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json
51 Ensure Container Is Exited aai_simulator
52 Set VES event in DMaaP ${ves_event}
53 Wait Until Keyword Succeeds 10x 3000ms Check PRH log java.net.UnknownHostException: aai
54 Ensure Container Is Running aai_simulator
57 ${resp}= Get Request ${consul_setup_session} /v1/catalog/service/cbs
58 Should Be Equal As Strings ${resp.status_code} 200
59 Log CBS ${resp.content}
61 Check recorded PNF_READY notification
62 [Arguments] ${expected_event_pnf_ready_in_dpaap}
63 ${resp}= Get Request ${dmaap_setup_session} /setup/pnf_ready headers=${suite_headers}
64 Should Be Equal As Strings ${resp.status_code} 200
65 Should Be Equal As JSON ${resp.content} ${expected_event_pnf_ready_in_dpaap}
67 Check recorded Logical Link
68 [Arguments] ${expected_logical_link_in_aai}
69 ${resp}= Get Request ${aai_setup_session} /setup/created_logical_link headers=${suite_headers}
70 Should Be Equal As Strings ${resp.status_code} 200
71 Should Be Equal As JSON ${resp.content} ${expected_logical_link_in_aai}
74 [Arguments] ${log_entry}
75 ${found}= Find log entry ${log_entry}
76 Should Be True ${found}
78 Create event parsing error
79 [Arguments] ${ves_event}
80 ${notification}= Create invalid notification ${ves_event}
81 ${error_msg}= Catenate SEPARATOR= \\n |Incorrect json, consumerDmaapModel can not be created: ${notification}
85 [Arguments] ${pnf_entry}
86 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
87 Log AAI url ${AAI_SIMULATOR_SETUP_URL}
88 ${resp}= Put Request ${aai_setup_session} /setup/add_pnf_entry headers=${suite_headers} data=${pnf_entry}
89 Should Be Equal As Strings ${resp.status_code} 200
91 Set VES event in DMaaP
92 [Arguments] ${ves_event}
93 ${resp}= Put Request ${dmaap_setup_session} /setup/ves_event headers=${suite_headers} data=${ves_event}
94 Should Be Equal As Strings ${resp.status_code} 200
96 Should Be Equal As JSON
97 [Arguments] ${given} ${expected}
98 Should Be True ${given}==${expected}
101 Create Session dmaap_setup_session ${DMAAP_SIMULATOR_SETUP_URL}
102 Set Suite Variable ${dmaap_setup_session} dmaap_setup_session
103 Create Session aai_setup_session ${AAI_SIMULATOR_SETUP_URL}
104 Set Suite Variable ${aai_setup_session} aai_setup_session
105 Create Session consul_setup_session ${CONSUL_SETUP_URL}
106 Set Suite Variable ${consul_setup_session} consul_setup_session
111 Reset DMaaP simulator
114 ${resp}= Post Request ${aai_setup_session} /reset
115 Should Be Equal As Strings ${resp.status_code} 200
117 Reset DMaaP simulator
118 ${resp}= Post Request ${dmaap_setup_session} /reset
119 Should Be Equal As Strings ${resp.status_code} 200
122 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
123 Set Suite Variable ${suite_headers} ${headers}