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}
36 #Wait Until Keyword Succeeds 10x 3000ms Check PRH log |java.lang.IllegalStateException: Not a JSON Array:
38 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
48 [Arguments] ${test_case_directory}
49 ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json
50 Ensure Container Is Exited aai_simulator
51 Set VES event in DMaaP ${ves_event}
52 Wait Until Keyword Succeeds 10x 3000ms Check PRH log java.net.UnknownHostException: aai
53 Ensure Container Is Running aai_simulator
56 ${resp}= Get Request ${consul_setup_session} /v1/catalog/service/cbs
57 Should Be Equal As Strings ${resp.status_code} 200
58 Log CBS ${resp.content}
60 Check recorded PNF_READY notification
61 [Arguments] ${expected_event_pnf_ready_in_dpaap}
62 ${resp}= Get Request ${dmaap_setup_session} /setup/pnf_ready headers=${suite_headers}
63 Should Be Equal As Strings ${resp.status_code} 200
64 Should Be Equal As JSON ${resp.content} ${expected_event_pnf_ready_in_dpaap}
66 Check recorded Logical Link
67 [Arguments] ${expected_logical_link_in_aai}
68 ${resp}= Get Request ${aai_setup_session} /setup/created_logical_link headers=${suite_headers}
69 Should Be Equal As Strings ${resp.status_code} 200
70 Should Be Equal As JSON ${resp.content} ${expected_logical_link_in_aai}
73 [Arguments] ${log_entry}
74 ${found}= Find log entry ${log_entry}
75 Should Be True ${found}
77 Create event parsing error
78 [Arguments] ${ves_event}
79 ${notification}= Create invalid notification ${ves_event}
80 ${error_msg}= Catenate SEPARATOR= \\n |Incorrect json, consumerDmaapModel can not be created: ${notification}
84 [Arguments] ${pnf_entry}
85 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
86 Log AAI url ${AAI_SIMULATOR_SETUP_URL}
87 ${resp}= Put Request ${aai_setup_session} /setup/add_pnf_entry headers=${suite_headers} data=${pnf_entry}
88 Should Be Equal As Strings ${resp.status_code} 200
90 Set VES event in DMaaP
91 [Arguments] ${ves_event}
92 ${resp}= Put Request ${dmaap_setup_session} /setup/ves_event headers=${suite_headers} data=${ves_event}
93 Should Be Equal As Strings ${resp.status_code} 200
95 Should Be Equal As JSON
96 [Arguments] ${given} ${expected}
97 Should Be True ${given}==${expected}
100 Create Session dmaap_setup_session ${DMAAP_SIMULATOR_SETUP_URL}
101 Set Suite Variable ${dmaap_setup_session} dmaap_setup_session
102 Create Session aai_setup_session ${AAI_SIMULATOR_SETUP_URL}
103 Set Suite Variable ${aai_setup_session} aai_setup_session
104 Create Session consul_setup_session ${CONSUL_SETUP_URL}
105 Set Suite Variable ${consul_setup_session} consul_setup_session
109 Reset DMaaP simulator
112 ${resp}= Post Request ${aai_setup_session} /reset
113 Should Be Equal As Strings ${resp.status_code} 200
115 Reset DMaaP simulator
116 ${resp}= Post Request ${dmaap_setup_session} /reset
117 Should Be Equal As Strings ${resp.status_code} 200
120 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
121 Set Suite Variable ${suite_headers} ${headers}