cfe1d9935b80bf40832df1cb7989f242376c936e
[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     Create Session    consul_setup_session    ${CONSUL_SETUP_URL}
18     Set Suite Variable    ${consul_setup_session}    consul_setup_session
19     Sleep    60s
20
21 Reset Simulators
22     Reset AAI simulator
23     Reset DMaaP simulator
24
25 Valid event processing
26     [Arguments]    ${input_valid__ves_event_in_dmaap}    ${input_aai}
27     [Timeout]    150s
28     Wait Until Keyword Succeeds    10x    3000ms    Check CBS ready
29     ${data}=    Get Data From File    ${input_valid__ves_event_in_dmaap}
30     ${aai_entry_to_be_set}=    Get Data From File    ${input_aai}
31     Set event in DMaaP    ${data}
32     ${pnf_name}=    Create PNF name    ${data}
33     Set PNF name in AAI    ${pnf_name}
34     Set PNF content in AAI    ${aai_entry_to_be_set}
35     ${expected_event_pnf_ready_in_dpaap}=    create pnf ready_notification as pnf ready    ${data}
36     Wait Until Keyword Succeeds    10x    3000ms    Check PNF_READY notification    ${expected_event_pnf_ready_in_dpaap}
37
38 Invalid event processing
39     [Arguments]    ${input_invalid_event_in_dmaap}
40     [Timeout]    150s
41     ${data}=    Get Data From File    ${input_invalid_event_in_dmaap}
42     Set event in DMaaP    ${data}
43     ${invalid_notification}=    Create invalid notification    ${data}
44     ${notification}=    Catenate    SEPARATOR= \\n    |Incorrect json, consumerDmaapModel can not be created:     ${invalid_notification}
45     Wait Until Keyword Succeeds    100x    100ms    Check PRH log    ${notification}
46
47 Check PRH log
48     [Arguments]    ${searched_log}
49     ${status}=    Check for log    ${searched_log}
50     Should Be Equal As Strings    ${status}    True
51
52 Check PNF_READY notification
53     [Arguments]    ${expected_event_pnf_ready_in_dpaap}
54     ${resp}=    Get Request    ${dmaap_setup_session}    /setup/get_pnf_ready    headers=${suite_headers}
55     Should Be Equal    ${resp.text}    ${expected_event_pnf_ready_in_dpaap}
56
57 Set PNF name in AAI
58     [Arguments]    ${pnf_name}
59     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=text/html
60     Log    AAI url ${AAI_SIMULATOR_SETUP_URL}
61     Log    Http headers ${headers}
62     Log    PNF name ${pnf_name}
63     ${resp}=    Put Request    ${aai_setup_session}    /set_pnf    headers=${headers}    data=${pnf_name}
64     Should Be Equal As Strings    ${resp.status_code}    200
65
66 Set PNF content in AAI
67     [Arguments]    ${aai_pnf_content}
68     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=text/html
69     Log    AAI url ${AAI_SIMULATOR_SETUP_URL}
70     Log    Http headers ${headers}
71     Log    PNF AAI content ${aai_pnf_content}
72     ${resp}=    Put Request    ${aai_setup_session}    /setup/add_pnf_entry    headers=${headers}    data=${aai_pnf_content}
73     Should Be Equal As Strings    ${resp.status_code}    200
74
75 Set event in DMaaP
76     [Arguments]    ${event_in_dmaap}
77     ${resp}=    Put Request    ${dmaap_setup_session}    /setup/set_ves_event    headers=${suite_headers}    data=${event_in_dmaap}
78     Should Be Equal As Strings    ${resp.status_code}    200
79
80 Reset AAI simulator
81     ${resp}=    Post Request     ${aai_setup_session}    /reset
82     Should Be Equal As Strings    ${resp.status_code}    200
83
84 Reset DMaaP simulator
85     ${resp}=    Post Request     ${dmaap_setup_session}    /reset
86     Should Be Equal As Strings    ${resp.status_code}    200
87
88
89 Check CBS ready
90     ${resp}=    Get Request    ${consul_setup_session}    /v1/catalog/service/cbs
91     Should Be Equal As Strings    ${resp.status_code}    200
92     Log    CBS ${resp.content}