Remove old test cases
[integration/csit.git] / tests / dcaegen2 / prh-testcases / resources / prh_library.robot
1 *** Settings ***
2 Library           RequestsLibrary
3 Library           PrhLibrary.py
4 Resource          ../../../common.robot
5
6 *** Keywords ***
7 Verify PNF ready sent
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}
16
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}
22
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}
29
30 Verify incorrect JSON event is logged
31     [Timeout]    60s
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     # TODO hangs build
36     #Wait Until Keyword Succeeds    10x    3000ms    Check PRH log    |java.lang.IllegalStateException: Not a JSON Array:
37
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
46
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
54
55 Check CBS ready
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}
59
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}
65
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}
71
72 Check PRH log
73     [Arguments]    ${log_entry}
74     ${found}=    Find log entry    ${log_entry}
75     Should Be True    ${found}
76
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}
81     [Return]    ${error_msg}
82
83 Add PNF entry in AAI
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
89
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
94
95 Should Be Equal As JSON
96     [Arguments]    ${given}    ${expected}
97     Should Be True    ${given}==${expected}
98
99 Create sessions
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
106
107 Reset Simulators
108     Reset AAI simulator
109     Reset DMaaP simulator
110
111 Reset AAI simulator
112     ${resp}=    Post Request     ${aai_setup_session}    /reset
113     Should Be Equal As Strings    ${resp.status_code}    200
114
115 Reset DMaaP simulator
116     ${resp}=    Post Request     ${dmaap_setup_session}    /reset
117     Should Be Equal As Strings    ${resp.status_code}    200
118
119 Create headers
120     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
121     Set Suite Variable    ${suite_headers}    ${headers}