80e90ed4d069ea9c1bc97c128f9efdfe3be576e1
[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
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_PARAMETER_V7}  400
38
39 Publish Single VES VNF Measurement Event with empty json
40     [Tags]    DCAE-VESC-R1
41     [Documentation]   Post single event with empty json to /eventListener/v7 endpoint and expect 400 Response Status Code
42     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_EMPTY_JSON}  400
43
44 Publish Single VES VNF Measurement Event with parameter out of schema
45     [Tags]    DCAE-VESC-R1
46     [Documentation]   Post single event with parameter which is not defined in schema and send to /eventListener/v7 endpoint. Expected 400 Response Status Code
47     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_PARAMETER_OUT_OF_SCHEMA_V7}  400
48
49 Publish Single VES VNF Measurement Event with No Auth over HTTPS
50     [Tags]    DCAE-VESC-R1
51     [Documentation]   Post single event over HTTPS with authentication disabled and expect ConnectionError
52     @{err_content}  Create List  Errno 111
53     Send Request And Expect Error  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  ConnectionError:*  @{err_content}
54
55 Publish Single VES VoLTE Fault Event
56     [Tags]    DCAE-VESC-R1
57     [Documentation]   Post single event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code
58     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
59
60 Publish Single VES VNF Measurement Event API V5
61     [Tags]    DCAE-VESC-R1
62     [Documentation]   Post single measurement event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code
63     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
64
65 Publish VES VoLTE Fault Batch Events
66     [Tags]    DCAE-VESC-R1
67     [Documentation]   Post single event with valid data to /eventListener/v5/eventBatch endpoint and expect 202 Response Status Code
68     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
69
70 Publish VES Batch Events with empty json
71     [Tags]    DCAE-VESC-R1
72     [Documentation]   Post empty json to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code
73     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_EMPTY_JSON}  400
74
75 Publish VES Batch Events with missing mandatory parameter
76     [Tags]    DCAE-VESC-R1
77     [Documentation]   Post event list where one of the events doesn't have mandatory domain param, to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code
78     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_BATCH_MISSING_MANDATORY_PARAM_V7}  400
79
80 Publish VES Batch Events wih parameter out of schema
81     [Tags]    DCAE-VESC-R1
82     [Documentation]   Post event list where one of the events have additional dummy param, to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code
83     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_BATCH_PARAM_OUT_OF_SCHEMA_V7}  400
84
85 Publish VES Event With Invalid Method
86     [Tags]    DCAE-VESC-R1
87     [Documentation]    Use invalid Put instead of Post method to expect 405 Response Status Code
88     Log   Send HTTP Request with invalid method Put instead of Post
89     Send Request And Validate Response  Publish Event To VES Collector With Put Method  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_DATA_FILE}  405
90
91 Publish VES Event With Invalid URL Path
92     [Tags]    DCAE-VESC-R1
93     [Documentation]   Post single event to invalid url path and expect 404 Response  Status Code
94     Log   Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path
95     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  /listener/v5/  ${EVENT_DATA_FILE}  404
96
97 Publish PNF Registration Event
98     [Tags]    DCAE-VESC-R1
99     [Documentation]   Post PNF registration event and expect 200 Response Status Code
100     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_PNF_REGISTRATION}  202  QTFCOC540002E-reg
101
102 Publish VES Event With Invalid Method V7
103     [Tags]    DCAE-VESC-R1
104     [Documentation]    Use invalid Put instead of Post method to expect 405 Response Status Code
105     Log   Send HTTP Request with invalid method Put instead of Post
106     Send Request And Validate Response  Publish Event To VES Collector With Put Method  ${http_session}  ${VES_EVENTLISTENER_V7}  ${EVENT_DATA_FILE}  405
107
108 Publish VES Event With Invalid URL Path V7
109     [Tags]    DCAE-VESC-R1
110     [Documentation]   Post single event to invalid url path and expect 404 Response  Status Code
111     Log   Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path
112     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  /listener/v7/  ${EVENT_DATA_FILE}  404
113
114 Publish PNF Registration Event V7
115     [Tags]    DCAE-VESC-R1
116     [Documentation]   Post PNF registration event and expect 200 Response Status Code
117     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${EVENT_PNF_REGISTRATION_V7}  202  registration_38407540
118
119 # Auth by certificate and basic auth username / password
120
121 Enable VESC HTTPS with certBasicAuth
122     [Tags]    DCAE-VESC-R1
123     [Documentation]  Enable VESC Https and Authentication and Run Health Check
124     Enable VESC with certBasicAuth
125     Run Healthcheck
126
127 Healthcheck with Outdated Cert
128     [Tags]    DCAE-VESC-R1
129     [Documentation]  Run healthcheck with outdated cert
130     ${uuid}=    Generate UUID
131     ${headers}=  Create Dictionary     Accept=*/*     X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
132     ${err_msg}=  Run Keyword And Expect Error  SSLError:*  Get Request  ${https_outdated_cert_session}  /healthcheck  headers=${headers}
133     Should Contain  ${err_msg}  certificate unknown
134     Log  Recieved error message ${err_msg}
135
136 Publish Single VES Fault Event Over HTTPS
137     [Tags]    DCAE-VESC-R1
138     [Documentation]   Post single event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code
139     Log  Login User=${VESC_HTTPS_USER}, Pd=${VESC_HTTPS_PD}
140     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
141
142 Publish Single VES Measurement Event Over HTTPS
143     [Tags]    DCAE-VESC-R1
144     [Documentation]   Post single measurement event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code
145     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
146
147 Publish VES Fault Batch Events Over HTTPS
148     [Tags]    DCAE-VESC-R1
149     [Documentation]   Post single event with valid data to /eventListener/v5/eventBatch endpoint over HTTPS and expect 202 Response Status Code
150     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
151
152 Publish VES Event With Invalid URL Path HTTPS
153     [Tags]    DCAE-VESC-R1
154     [Documentation]    Post single event to invalid url path over HTTPS and expect 404 response Status Code
155     Log   Send HTTP Request with invalid /eventlistener/v5/ instead of /eventListener/v5 path
156     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  /eventlistener/v5  ${EVENT_DATA_FILE}  404
157
158 Publish Single VES VNF Measurement Event over HTTP
159     [Tags]    DCAE-VESC-R1
160     [Documentation]   Post single event over HTTP with authentication enabled and expect 400 Response Status Code
161     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  400
162
163 Publish Single VES VNF Measurement Event with certBasicAuth over HTTPS
164     [Tags]    DCAE-VESC-R1
165     [Documentation]   Post single event with valid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code
166     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
167
168 Publish Single VES VNF Measurement Event over HTTPS with wrong JSON
169     [Tags]    DCAE-VESC-R1
170     [Documentation]   Post single event with invalid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 400 Response Status Code
171     Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_INVALID_JSON_V7}  400
172
173 Publish Single VES VNF Measurement Event With Wrong Auth
174     [Tags]  DCAE-VESC-R1
175     [Documentation]  Post single event with valid data and invalid username/password to /eventListener/v7 endpoint over HTTPS and expect 401 Response Status Code
176     Send Request And Validate Response  Publish Event To VES Collector  ${https_wrong_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  401
177
178 Publish Single VES VNF Measurement Event With Cert
179     [Tags]  DCAE-VESC-R1
180     [Documentation]  Post single event with valid data and valid certificate to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code
181     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
182
183 Publish Single VES VNF Measurement Event With Wrong Cert
184     [Tags]  DCAE-VESC-R1
185     [Documentation]  Post single event with valid data and invalid certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with certificate unknown
186     @{err_content}  Create List  certificate unknown
187     Send Request And Expect Error  Publish Event To VES Collector  ${https_invalid_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  SSLError:*  @{err_content}
188
189 Publish Single VES VNF Measurement Event With Outdated Cert
190     [Tags]  DCAE-VESC-R1
191     [Documentation]  Post single event with valid data and outdated certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with certificate unknown
192     @{err_content}  Create List  certificate unknown
193     Send Request And Expect Error  Publish Event To VES Collector  ${https_outdated_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  SSLError:*  @{err_content}
194
195 Publish Single VES VNF Measurement Event Without Auth And Cert
196     [Tags]  DCAE-VESC-R1
197     [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
198     Send Request And Validate Response  Publish Event To VES Collector  ${https_no_cert_no_auth_session}   ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  401
199
200 Publish V7 Batch Event with certBasicAuth over HTTPS
201     [Tags]    DCAE-VESC-R1
202     [Documentation]   Post single event with valid data and valid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response Status Code
203     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
204
205 Publish V7 Batch Event With Wrong Auth
206     [Tags]  DCAE-VESC-R1
207     [Documentation]  Post single event with valid data and invalid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 401 Response Status Code
208     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
209
210 Publish V7 Batch Event With Cert
211     [Tags]  DCAE-VESC-R1
212     [Documentation]  Post single event with valid data and valid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response
213     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
214
215 Publish V7 Batch With Wrong Cert
216     [Tags]  DCAE-VESC-R1
217     [Documentation]  Post single event with valid data and invalid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with certificate unknown
218     @{err_content}  Create List  certificate unknown
219     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}
220
221 Publish V7 Batch Event With Outdated Cert
222     [Tags]  DCAE-VESC-R1
223     [Documentation]  Post single event with valid data and outdated certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with certificate unknown
224     @{err_content}  Create List  certificate unknown
225     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}
226
227 Publish V7 Batch Event Without Auth And Cert
228     [Tags]  DCAE-VESC-R1
229     [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
230     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