a6a01eb9644b3b123471757c80d148d6c16bbce0
[integration/csit.git] / tests / dcaegen2 / prh-testcases / resources / prh_library.robot
1 *** Settings ***
2 Library           RequestsLibrary
3 Library           Collections
4 Library           PrhLibrary.py
5 Resource          ../../../common.robot
6
7 *** Keywords ***
8 Create header
9     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
10     Set Suite Variable    ${suite_headers}    ${headers}
11
12 Create sessions
13     Create Session    dmaap_setup_session    ${DMAAP_SIMULATOR_SETUP_URL}
14     Set Suite Variable    ${dmaap_setup_session}    dmaap_setup_session
15     Create Session    aai_setup_session    ${AAI_SIMULATOR_SETUP_URL}
16     Set Suite Variable    ${aai_setup_session}    aai_setup_session
17
18 Reset Simulators
19     Reset AAI simulator
20     Reset DMaaP simulator
21
22 Invalid event processing
23     [Arguments]    ${input_invalid_event_in_dmaap}
24     [Timeout]    30s
25     ${data}=    Get Data From File    ${input_invalid_event_in_dmaap}
26     Set event in DMaaP    ${data}
27     ${invalid_notification}=    Create invalid notification    ${data}
28     ${notification}=    Catenate    SEPARATOR= \\n    |Incorrect json, consumerDmaapModel can not be created:     ${invalid_notification}
29     #TODO to fix after CBS merge
30     #Wait Until Keyword Succeeds    100x    100ms    Check PRH log    ${notification}
31
32 Valid event processing
33     [Arguments]    ${input_valid__ves_event_in_dmaap}
34     [Timeout]    30s
35     ${data}=    Get Data From File    ${input_valid__ves_event_in_dmaap}
36     ${pnf_name}=    Create PNF name    ${data}
37     Set PNF name in AAI    ${pnf_name}
38     Set event in DMaaP    ${data}
39     ${expected_event_pnf_ready_in_dpaap}=    create pnf ready_notification as pnf ready    ${data}
40     #TODO to fix after CBS merge
41     #Wait Until Keyword Succeeds    100x    300ms    Check PNF_READY notification    ${expected_event_pnf_ready_in_dpaap}
42
43 Check PRH log
44     [Arguments]    ${searched_log}
45     ${status}=    Check for log    ${searched_log}
46     Should Be Equal As Strings    ${status}    True
47
48 Check PNF_READY notification
49     [Arguments]    ${expected_event_pnf_ready_in_dpaap}
50     ${resp}=    Get Request    ${dmaap_setup_session}    /events/pnfReady    headers=${suite_headers}
51     Should Be Equal    ${resp.text}    ${expected_event_pnf_ready_in_dpaap}
52
53 Set PNF name in AAI
54     [Arguments]    ${pnf_name}
55     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=text/html
56     Log    AAI url ${AAI_SIMULATOR_SETUP_URL}
57     Log    Http headers ${headers}
58     Log    PNF name ${pnf_name}
59     ${resp}=    Put Request    ${aai_setup_session}    /set_pnf    headers=${headers}    data=${pnf_name}
60     Should Be Equal As Strings    ${resp.status_code}    200
61
62 Set event in DMaaP
63     [Arguments]    ${event_in_dmaap}
64     ${resp}=    Put Request    ${dmaap_setup_session}    /set_get_event    headers=${suite_headers}    data=${event_in_dmaap}
65     Should Be Equal As Strings    ${resp.status_code}    200
66
67 Reset AAI simulator
68     ${resp}=    Post Request     ${aai_setup_session}    /reset
69     Should Be Equal As Strings    ${resp.status_code}    200
70
71 Reset DMaaP simulator
72     ${resp}=    Post Request     ${dmaap_setup_session}    /reset
73     Should Be Equal As Strings    ${resp.status_code}    200