e12097e2c12c0cabd1fefc90c37439745a9d3e46
[integration/csit.git] / tests / dcaegen2 / testcases / dcae_ves.robot
1 *** Settings ***
2 Documentation     Run healthchecks for DCAE VES
3 ...               Testing /eventListener/v7 and /eventListener/v7/eventBatch endpoints for DCEA VES v7.
4 ...               Testing /eventListener/v5 and /eventListener/v5/eventBatch for DCEA VES v5 with various event feeds from VoLTE, vFW and PNF
5 Library           RequestsLibrary
6 Library           OperatingSystem
7 Library           Collections
8 Library           DcaeLibrary
9 Resource          ./resources/dcae_keywords.robot
10
11 Test Teardown     Cleanup VES Events
12 Suite Setup       Run keywords  VES Collector Suite Setup DMaaP  Generate Certs  Create sessions  Create header
13 Suite Teardown    Run keywords  VES Collector Suite Shutdown DMaaP  Remove Certs
14
15 *** Test Cases ***
16
17 #No authentication tests
18
19 VES Collector HTTP Health Check
20     [Tags]    DCAE-VESC-R1
21     [Documentation]   Run healthcheck
22     Run Healthcheck
23
24 Publish Single VES VNF Measurement Event API V7
25     [Tags]    DCAE-VESC-R1
26     [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 202 Response Status Code
27     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
28
29 Publish Single VES VNF Measurement Event with wrong JSON
30     [Tags]    DCAE-VESC-R1
31     [Documentation]   Post single event with invalid data to /eventListener/v7 endpoint and expect 400 Response Status Code
32     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_INVALID_JSON_V7}  400
33
34 Publish Single VES VNF Measurement Event with missing mandatory parameter domain
35     [Tags]    DCAE-VESC-R1
36     [Documentation]   Post single event with lack of one of the mandatory parameters "domain" to /eventListener/v7 endpoint and expect 400 Response Status Code
37     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_MISSING_MANDATORY_DOMAIN_V7}  400
38
39 Publish Single VES VNF Measurement Event with No Auth over HTTPS
40     [Tags]    DCAE-VESC-R1
41     [Documentation]   Post single event over HTTPS with authentication disabled and expect ConnectionError
42     @{err_content}  Create List  Errno 111
43     Send Request And Expect Error  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  ConnectionError:*  @{err_content}
44
45 Publish Single VES VoLTE Fault Event
46     [Tags]    DCAE-VESC-R1
47     [Documentation]   Post single event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code
48     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
49
50 Publish Single VES VNF Measurement Event API V5
51     [Tags]    DCAE-VESC-R1
52     [Documentation]   Post single measurement event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code
53     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_MEASURE_FILE}  202  0b2b5790-3673-480a-a4bd-5a00b88e5af6
54
55 Publish VES VoLTE Fault Batch Events
56     [Tags]    DCAE-VESC-R1
57     [Documentation]   Post single event with valid data to /eventListener/v5/eventBatch endpoint and expect 202 Response Status Code
58     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_PATH}  ${EVENT_BATCH_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546025
59
60 Publish VES Event With Invalid Method
61     [Tags]    DCAE-VESC-R1
62     [Documentation]    Use invalid Put instead of Post method to expect 405 Response Status Code
63     Log   Send HTTP Request with invalid method Put instead of Post
64     Send Request And Validate Response  Publish Event To VES Collector With Put Method  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_DATA_FILE}  405
65
66 Publish VES Event With Invalid URL Path
67     [Tags]    DCAE-VESC-R1
68     [Documentation]   Post single event to invalid url path and expect 404 Response  Status Code
69     Log   Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path
70     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  /listener/v5/  ${EVENT_DATA_FILE}  404
71
72 Publish PNF Registration Event
73     [Tags]    DCAE-VESC-R1
74     [Documentation]   Post PNF registration event and expect 200 Response Status Code
75     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_PNF_REGISTRATION}  202  QTFCOC540002E-reg
76
77 # Auth by certificate and basic auth username / password
78
79 Enable VESC HTTPS with certBasicAuth
80     [Tags]    DCAE-VESC-R1
81     [Documentation]  Enable VESC Https and Authentication and Run Health Check
82     Enable VESC with certBasicAuth
83     Run Healthcheck
84
85 Healthcheck with Outdated Cert
86     [Tags]    DCAE-VESC-R1
87     [Documentation]  Run healthcheck with outdated cert
88     ${uuid}=    Generate UUID
89     ${headers}=  Create Dictionary     Accept=*/*     X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
90     ${err_msg}=  Run Keyword And Expect Error  SSLError:*  Get Request  ${https_outdated_cert_session}  /healthcheck  headers=${headers}
91     Should Contain  ${err_msg}  certificate unknown
92     Log  Recieved error message ${err_msg}
93
94 Publish Single VES Fault Event Over HTTPS
95     [Tags]    DCAE-VESC-R1
96     [Documentation]   Post single event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code
97     Log  Login User=${VESC_HTTPS_USER}, Pd=${VESC_HTTPS_PD}
98     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
99
100 Publish Single VES Measurement Event Over HTTPS
101     [Tags]    DCAE-VESC-R1
102     [Documentation]   Post single measurement event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code
103     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_MEASURE_FILE}  202  0b2b5790-3673-480a-a4bd-5a00b88e5af6
104
105 Publish VES Fault Batch Events Over HTTPS
106     [Tags]    DCAE-VESC-R1
107     [Documentation]   Post single event with valid data to /eventListener/v5/eventBatch endpoint over HTTPS and expect 202 Response Status Code
108     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_BATCH_EVENT_PATH}  ${EVENT_BATCH_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546025
109
110 Publish VES Event With Invalid URL Path HTTPS
111     [Tags]    DCAE-VESC-R1
112     [Documentation]    Post single event to invalid url path over HTTPS and expect 404 response Status Code
113     Log   Send HTTP Request with invalid /eventlistener/v5/ instead of /eventListener/v5 path
114     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  /eventlistener/v5  ${EVENT_DATA_FILE}  404
115
116 Publish Single VES VNF Measurement Event over HTTP
117     [Tags]    DCAE-VESC-R1
118     [Documentation]   Post single event over HTTP with authentication enabled and expect 400 Response Status Code
119     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  400
120
121 Publish Single VES VNF Measurement Event with certBasicAuth over HTTPS
122     [Tags]    DCAE-VESC-R1
123     [Documentation]   Post single event with valid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code
124     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
125
126 Publish Single VES VNF Measurement Event over HTTPS with wrong JSON
127     [Tags]    DCAE-VESC-R1
128     [Documentation]   Post single event with invalid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 400 Response Status Code
129     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_INVALID_JSON_V7}  400
130
131 Publish Single VES VNF Measurement Event With Wrong Auth
132     [Tags]  DCAE-VESC-R1
133     [Documentation]  Post single event with valid data and invalid username/password to /eventListener/v7 endpoint over HTTPS and expect 401 Response Status Code
134     Send Request And Validate Response  Publish Event To VES Collector  ${https_wrong_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  401
135
136 Publish Single VES VNF Measurement Event With Cert
137     [Tags]  DCAE-VESC-R1
138     [Documentation]  Post single event with valid data and valid certificate to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code
139     Send Request And Validate Response  Publish Event To VES Collector  ${https_valid_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
140
141 Publish Single VES VNF Measurement Event With Wrong Cert
142     [Tags]  DCAE-VESC-R1
143     [Documentation]  Post single event with valid data and invalid certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with certificate unknown
144     @{err_content}  Create List  certificate unknown
145     Send Request And Expect Error  Publish Event To VES Collector  ${https_invalid_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  SSLError:*  @{err_content}
146
147 Publish Single VES VNF Measurement Event With Outdated Cert
148     [Tags]  DCAE-VESC-R1
149     [Documentation]  Post single event with valid data and outdated certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with certificate unknown
150     @{err_content}  Create List  certificate unknown
151     Send Request And Expect Error  Publish Event To VES Collector  ${https_outdated_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  SSLError:*  @{err_content}
152
153 Publish Single VES VNF Measurement Event Without Auth And Cert
154     [Tags]  DCAE-VESC-R1
155     [Documentation]  Post single event with valid data and without certificate or username/password to /eventListener/v7 endpoint over HTTPS and expect 401 Response Status Code
156     Send Request And Validate Response  Publish Event To VES Collector  ${https_no_cert_no_auth_session}   ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  401
157
158 Publish V7 Batch Event with certBasicAuth over HTTPS
159     [Tags]    DCAE-VESC-R1
160     [Documentation]   Post single event with valid data and valid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response Status Code
161     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  202  Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion
162
163 Publish V7 Batch Event With Wrong Auth
164     [Tags]  DCAE-VESC-R1
165     [Documentation]  Post single event with valid data and invalid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 401 Response Status Code
166     Send Request And Validate Response  Publish Event To VES Collector   ${https_wrong_auth_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  401
167
168 Publish V7 Batch Event With Cert
169     [Tags]  DCAE-VESC-R1
170     [Documentation]  Post single event with valid data and valid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response
171     Send Request And Validate Response  Publish Event To VES Collector  ${https_valid_cert_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  202  Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion
172
173 Publish V7 Batch With Wrong Cert
174     [Tags]  DCAE-VESC-R1
175     [Documentation]  Post single event with valid data and invalid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with certificate unknown
176     @{err_content}  Create List  certificate unknown
177     Send Request And Expect Error  Publish Event To VES Collector   ${https_invalid_cert_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  SSLError:*  @{err_content}
178
179 Publish V7 Batch Event With Outdated Cert
180     [Tags]  DCAE-VESC-R1
181     [Documentation]  Post single event with valid data and outdated certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with certificate unknown
182     @{err_content}  Create List  certificate unknown
183     Send Request And Expect Error  Publish Event To VES Collector   ${https_outdated_cert_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  SSLError:*  @{err_content}
184
185 Publish V7 Batch Event Without Auth And Cert
186     [Tags]  DCAE-VESC-R1
187     [Documentation]  Post single event with valid data and without certificate or username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 401 Response Status Code
188     Send Request And Validate Response  Publish Event To VES Collector  ${https_no_cert_no_auth_session}   ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  401