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