4b4891d84252e321ecb762cb53e509399bc5e867
[externalapi/nbi.git] / src / test / resources / karatetest / features / 02--ServiceOrder.feature
1 # new feature
2 # Tags: optional
3     
4 Feature: Service order
5
6 Background:
7 * url nbiBaseUrl
8 * def Context = Java.type('org.onap.nbi.test.Context');
9 * call Context.startServers();
10 * def data = read('../data/serviceOrder.json')
11 * def sleep = function(){java.lang.Thread.sleep(5000)}
12
13     
14 Scenario: testCreateServiceOrderResource
15 Given path 'serviceOrder'
16 And request data[0]
17 When method post
18 Then status 201
19 And match $.id contains '#notnull'
20 And match $.state == 'acknowledged'
21 And def serviceOrderId = $.id
22 Given path 'serviceOrder',serviceOrderId
23 When method delete
24 Then status 204
25
26 Scenario: testCheckServiceOrder
27 Given path 'serviceOrder'
28 And request data[0]
29 When method post
30 Then status 201
31 And def serviceOrderId = $.id
32 Given path 'serviceOrder','test',serviceOrderId
33 And request $
34 When method put
35 Then status 201
36 And match $.id == serviceOrderId
37 And match $.state == 'acknowledged'
38 Given path 'serviceOrder',serviceOrderId
39 When method get
40 Then status 200
41 Given path 'serviceOrder',serviceOrderId
42 When method delete
43 Then status 204
44
45
46 Scenario: testCheckServiceOrderWithUnknownSverviceSpecId
47 Given path 'serviceOrder'
48 And request data[1]
49 When method post
50 Then status 201
51 And def serviceOrderId = $.id
52 Given path 'serviceOrder','test',serviceOrderId
53 And request $
54 When method put
55 Then status 201
56 And match $.state == 'rejected'
57 And match $.orderItem[0].orderItemMessage ==  '#[1]'
58 And match $.orderItem[0].orderItemMessage[0] contains { code : '102'  , field : 'serviceSpecification.id' }
59 Given path 'serviceOrder',serviceOrderId
60 When method get
61 Then status 200
62 Given path 'serviceOrder',serviceOrderId
63 When method delete
64 Then status 204
65
66
67 Scenario: testCheckServiceOrderWithGenericCustomer
68 Given path 'serviceOrder'
69 And request data[2]
70 When method post
71 Then status 201
72 And def serviceOrderId = $.id
73 Given path 'serviceOrder','test',serviceOrderId
74 And request $
75 When method put
76 Then status 201
77 And match $.state == 'acknowledged'
78 Given path 'serviceOrder',serviceOrderId
79 When method get
80 Then status 200
81 Given path 'serviceOrder',serviceOrderId
82 When method delete
83 Then status 204
84
85 Scenario: testCheckServiceOrderWithoutRelatedParty
86 Given path 'serviceOrder'
87 And request data[3]
88 When method post
89 Then status 201
90 And def serviceOrderId = $.id
91 Given path 'serviceOrder','test',serviceOrderId
92 And request $
93 When method put
94 Then status 201
95 And match $.state == 'acknowledged'
96 Given path 'serviceOrder',serviceOrderId
97 When method get
98 Then status 200
99 Given path 'serviceOrder',serviceOrderId
100 When method delete
101 Then status 204
102
103
104 Scenario: testCheckServiceOrderWithUnKnownCustomer
105 Given path 'serviceOrder'
106 And request data[4]
107 When method post
108 Then status 201
109 And def serviceOrderId = $.id
110 Given path 'serviceOrder','test',serviceOrderId
111 And request $
112 When method put
113 Then status 201
114 And match $.state == 'acknowledged'
115 Given path 'serviceOrder',serviceOrderId
116 When method get
117 Then status 200
118 Given path 'serviceOrder',serviceOrderId
119 When method delete
120 Then status 204
121
122 Scenario: testCheckServiceOrderInDeleteWithNoServiceId
123 Given path 'serviceOrder'
124 And request data[5]
125 When method post
126 Then status 201
127 And def serviceOrderId = $.id
128 Given path 'serviceOrder','test',serviceOrderId
129 And request $
130 When method put
131 Then status 201
132 And match $.state == 'rejected'
133 And match $.orderItem[0].orderItemMessage ==  '#[1]'
134 And match $.orderItem[0].orderItemMessage[0] contains { code : '106'  , field : 'service.id' }
135 Given path 'serviceOrder',serviceOrderId
136 When method get
137 Then status 200
138 Given path 'serviceOrder',serviceOrderId
139 When method delete
140 Then status 204
141
142
143 Scenario: testCheckServiceOrderInModifyWithNoServiceId
144 Given path 'serviceOrder'
145 And request data[6]
146 When method post
147 Then status 201
148 And def serviceOrderId = $.id
149 Given path 'serviceOrder','test',serviceOrderId
150 And request $
151 When method put
152 Then status 201
153 And match $.state == 'rejected'
154 And match $.orderItem[0].orderItemMessage ==  '#[1]'
155 And match $.orderItem[0].orderItemMessage[0] contains { code : '106'  , field : 'service.id' }
156 Given path 'serviceOrder',serviceOrderId
157 When method get
158 Then status 200
159 Given path 'serviceOrder',serviceOrderId
160 When method delete
161 Then status 204
162
163
164 Scenario: testCheckServiceOrderInAddWithServiceId
165 Given path 'serviceOrder'
166 And request data[7]
167 When method post
168 Then status 201
169 And def serviceOrderId = $.id
170 Given path 'serviceOrder','test',serviceOrderId
171 And request $
172 When method put
173 Then status 201
174 And match $.state == 'rejected'
175 And match $.orderItem[0].orderItemMessage ==  '#[1]'
176 And match $.orderItem[0].orderItemMessage[0] contains { code : '103'  , field : 'service.id' }
177 Given path 'serviceOrder',serviceOrderId
178 When method get
179 Then status 200
180 Given path 'serviceOrder',serviceOrderId
181 When method delete
182 Then status 204
183
184 Scenario: testCheckServiceOrderWithUnKnownCustomerInChange
185 Given path 'serviceOrder'
186 And request data[8]
187 When method post
188 Then status 201
189 And def serviceOrderId = $.id
190 Given path 'serviceOrder','test',serviceOrderId
191 And request $
192 When method put
193 Then status 201
194 And match $.state == 'rejected'
195 And match $.orderMessage ==  '#[1]'
196 And match $.orderMessage[0] contains { code : '104'  , field : 'relatedParty.id' }
197 Given path 'serviceOrder',serviceOrderId
198 When method get
199 Then status 200
200 Given path 'serviceOrder',serviceOrderId
201 When method delete
202 Then status 204
203
204
205 Scenario: testCheckServiceOrderDelete
206 Given path 'serviceOrder'
207 And request data[9]
208 When method post
209 Then status 201
210 And def serviceOrderId = $.id
211 Given path 'serviceOrder','test',serviceOrderId
212 And request $
213 When method put
214 Then status 201
215 And match $.state == 'acknowledged'
216 Given path 'serviceOrder',serviceOrderId
217 When method get
218 Then status 200
219 Given path 'serviceOrder',serviceOrderId
220 When method delete
221 Then status 204
222
223 Scenario: testCheckServiceOrderDeleteRejected
224 Given path 'serviceOrder'
225 And request data[10]
226 When method post
227 Then status 201
228 And def serviceOrderId = $.id
229 Given path 'serviceOrder','test',serviceOrderId
230 And request $
231 When method put
232 Then status 201
233 And match $.state == 'rejected'
234 And match $.orderItem[0].orderItemMessage ==  '#[1]'
235 And match $.orderItem[0].orderItemMessage[0] contains { code : '106'  , field : 'service.id' }
236 Given path 'serviceOrder',serviceOrderId
237 When method get
238 Then status 200
239 Given path 'serviceOrder',serviceOrderId
240 When method delete
241 Then status 204
242
243 Scenario: testCheckServiceOrderNoChange
244 Given path 'serviceOrder'
245 And request data[11]
246 When method post
247 Then status 201
248 And def serviceOrderId = $.id
249 Given path 'serviceOrder','test',serviceOrderId
250 And request $
251 When method put
252 Then status 201
253 And match $.state == 'completed'
254 And match $.orderItem[0].state == 'completed'
255 And match $.orderItem[1].state == 'completed'
256 Given path 'serviceOrder',serviceOrderId
257 When method get
258 Then status 200
259 Given path 'serviceOrder',serviceOrderId
260 When method delete
261 Then status 204
262
263 Scenario: testCheckServiceOrderNoChangeAndDelete
264 Given path 'serviceOrder'
265 And request data[12]
266 When method post
267 Then status 201
268 And def serviceOrderId = $.id
269 Given path 'serviceOrder','test',serviceOrderId
270 And request $
271 When method put
272 Then status 201
273 And match $.state == 'acknowledged'
274 And match $.orderItem[0].state == 'completed'
275 Given path 'serviceOrder',serviceOrderId
276 When method get
277 Then status 200
278 Given path 'serviceOrder',serviceOrderId
279 When method delete
280 Then status 204
281
282 Scenario: testCheckServiceOrderDeleteWithKoServiceSpecId
283 Given path 'serviceOrder'
284 And request data[13]
285 When method post
286 Then status 201
287 And def serviceOrderId = $.id
288 Given path 'serviceOrder','test',serviceOrderId
289 And request $
290 When method put
291 Then status 201
292 And match $.state == 'rejected'
293 And match $.orderItem[0].state == 'rejected'
294 Given path 'serviceOrder',serviceOrderId
295 When method get
296 Then status 200
297 Given path 'serviceOrder',serviceOrderId
298 When method delete
299 Then status 204
300
301 Scenario: testCheckServiceOrderRejected
302 Given path 'serviceOrder'
303 And request data[14]
304 When method post
305 Then status 201
306 And def serviceOrderId = $.id
307 Given path 'serviceOrder','test',serviceOrderId
308 And request $
309 When method put
310 Then status 201
311 And match $.state == 'rejected'
312 And match $.orderItem[0].orderItemMessage ==  '#[1]'
313 And match $.orderItem[0].orderItemMessage[0] contains { code : '102'  , field : 'serviceSpecification.id' }
314 Given path 'serviceOrder',serviceOrderId
315 When method get
316 Then status 200
317 Given path 'serviceOrder',serviceOrderId
318 When method delete
319 Then status 204
320
321
322 Scenario: testFindAndGetServiceOrder
323 Given path 'serviceOrder'
324 And request data[15]
325 When method post
326 Then status 201
327 And def serviceOrderId15 = $.id
328 Given path 'serviceOrder'
329 And request data[16]
330 When method post
331 Then status 201
332 And def serviceOrderId16 = $.id
333 Given path 'serviceOrder','test',serviceOrderId15
334 And request $
335 When method put
336 Then status 201
337 Given path 'serviceOrder','test',serviceOrderId16
338 And request $
339 When method put
340 Then status 201
341 Given path 'serviceOrder'
342 And params {fields : 'id'}
343 When method get
344 Then status 200
345 And match $ == '#[2]'
346 Given path 'serviceOrder'
347 And params {externalId : 'extid1' , state : 'acknowledged'}
348 When method get
349 Then status 200
350 And match $ == '#[1]'
351 Given path 'serviceOrder',serviceOrderId15
352 When method get
353 Then status 200
354 And match $ contains '#notnull'
355 Given path 'serviceOrder',serviceOrderId15
356 When method delete
357 Then status 204
358 Given path 'serviceOrder',serviceOrderId16
359 When method delete
360 Then status 204
361
362 Scenario: testCheckServiceOrderWithTargetHeader
363 Given path 'serviceOrder'
364 And header Target = 'http://localhost:8080/nbi/api/v4'
365 And request data[0]
366 When method post
367 Then status 201
368 And match $.id contains '#notnull'
369 And match $.state == 'acknowledged'
370 And def serviceOrderId = $.id
371 Given path 'serviceOrder',serviceOrderId
372 And header Target = 'http://localhost:8080/nbi/api/v4'
373 When method get
374 Then status 200
375
376 Scenario: testCheckServiceOrderWithCustomerAAINotResponding
377 * call Context.removeWireMockMapping("/aai/v14/business/customers/customer/new");
378 Given path 'serviceOrder'
379 And request data[4]
380 When method post
381 Then status 201
382 And def serviceOrderId = $.id
383 Given path 'serviceOrder','test',serviceOrderId
384 And request $
385 When method put
386 Then status 201
387 And match $.id == serviceOrderId
388 And match $.state == 'rejected'
389 And match $.orderItem == '#[2]'
390 And match $.orderMessage[0] contains { code : '501'  , messageInformation : 'Problem with AAI API' }
391 Given path 'serviceOrder',serviceOrderId
392 When method get
393 Then status 200
394 * call Context.startServers();
395
396
397 Scenario: testAAIPutServiceNotResponding
398 * call Context.removeWireMockMapping("/aai/v14/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
399 Given path 'serviceOrder'
400 And request data[4]
401 When method post
402 Then status 201
403 And def serviceOrderId = $.id
404 Given path 'serviceOrder','test',serviceOrderId
405 And request $
406 When method put
407 Then status 201
408 And match $.id == serviceOrderId
409 And match $.state == 'rejected'
410 Given path 'serviceOrder',serviceOrderId
411 When method get
412 Then status 200
413 * call Context.startServers();
414
415 Scenario: testCheckServiceOrderWithSDCNotResponding
416 * call Context.removeWireMockMapping("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata");
417 Given path 'serviceOrder'
418 And request data[4]
419 When method post
420 Then status 201
421 And def serviceOrderId = $.id
422 Given path 'serviceOrder','test',serviceOrderId
423 And request $
424 When method put
425 Then status 201
426 And match $.id == serviceOrderId
427 And match $.state == 'rejected'
428 And match $.orderItem[0].orderMessage[0] contains { code : '102'  , field : 'serviceSpecification.id' }
429 Given path 'serviceOrder',serviceOrderId
430 When method get
431 Then status 200
432 * call Context.startServers();
433
434 Scenario: testCheckServiceOrderWithSDCNotRespondingWithoutWiremock
435 * call Context.stopWiremock();
436 Given path 'serviceOrder'
437 And request data[4]
438 When method post
439 Then status 201
440 And def serviceOrderId = $.id
441 Given path 'serviceOrder','test',serviceOrderId
442 And request $
443 When method put
444 Then status 201
445 And match $.id == serviceOrderId
446 And match $.state == 'rejected'
447 And match $.orderMessage[0] contains { code : '500'  , messageInformation : 'Problem with SDC API' }
448 Given path 'serviceOrder',serviceOrderId
449 When method get
450 Then status 200
451 * call Context.startServers();