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