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