Improve license scan result
[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 == 'acknowledged'
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 == 'acknowledged'
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 == 'acknowledged'
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 == 'acknowledged'
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 == 'acknowledged'
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 == 'acknowledged'
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 : 'acknowledged'}
362 When method get
363 Then status 200
364 And match $ == '#[1]'
365 Given path 'serviceOrder',serviceOrderId15
366 When method get
367 Then status 200
368 And match $ contains '#notnull'
369 Given path 'serviceOrder',serviceOrderId15
370 When method delete
371 Then status 204
372 Given path 'serviceOrder',serviceOrderId16
373 When method delete
374 Then status 204
375
376 Scenario: testCheckServiceOrderWithTargetHeader
377 Given path 'serviceOrder'
378 And header Target = 'http://localhost:8080/nbi/api/v4'
379 And request data[0]
380 When method post
381 Then status 201
382 And match $.id contains '#notnull'
383 And match $.state == 'acknowledged'
384 And def serviceOrderId = $.id
385 Given path 'serviceOrder',serviceOrderId
386 And header Target = 'http://localhost:8080/nbi/api/v4'
387 When method get
388 Then status 200
389
390 Scenario: testCheckServiceOrderWithCustomerAAINotResponding
391 * call Context.removeWireMockMapping("/aai/v14/business/customers/customer/new");
392 Given path 'serviceOrder'
393 And request data[4]
394 When method post
395 Then status 201
396 And def serviceOrderId = $.id
397 Given path 'serviceOrder','test',serviceOrderId
398 And request $
399 When method put
400 Then status 201
401 And match $.id == serviceOrderId
402 And match $.state == 'rejected'
403 And match $.orderItem == '#[2]'
404 And match $.orderMessage[0] contains { code : '501'  , messageInformation : 'Problem with AAI API' }
405 Given path 'serviceOrder',serviceOrderId
406 When method get
407 Then status 200
408 * call Context.startServers();
409
410
411 Scenario: testAAIPutServiceNotResponding
412 * call Context.removeWireMockMapping("/aai/v14/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
413 Given path 'serviceOrder'
414 And request data[4]
415 When method post
416 Then status 201
417 And def serviceOrderId = $.id
418 Given path 'serviceOrder','test',serviceOrderId
419 And request $
420 When method put
421 Then status 201
422 And match $.id == serviceOrderId
423 And match $.state == 'rejected'
424 Given path 'serviceOrder',serviceOrderId
425 When method get
426 Then status 200
427 * call Context.startServers();
428
429 Scenario: testCheckServiceOrderWithSDCNotResponding
430 * call Context.removeWireMockMapping("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata");
431 Given path 'serviceOrder'
432 And request data[4]
433 When method post
434 Then status 201
435 And def serviceOrderId = $.id
436 Given path 'serviceOrder','test',serviceOrderId
437 And request $
438 When method put
439 Then status 201
440 And match $.id == serviceOrderId
441 And match $.state == 'rejected'
442 And match $.orderItem[0].orderMessage[0] contains { code : '102'  , field : 'serviceSpecification.id' }
443 Given path 'serviceOrder',serviceOrderId
444 When method get
445 Then status 200
446 * call Context.startServers();
447
448 Scenario: testCheckServiceOrderWithSDCNotRespondingWithoutWiremock
449 * call Context.stopWiremock();
450 Given path 'serviceOrder'
451 And request data[4]
452 When method post
453 Then status 201
454 And def serviceOrderId = $.id
455 Given path 'serviceOrder','test',serviceOrderId
456 And request $
457 When method put
458 Then status 201
459 And match $.id == serviceOrderId
460 And match $.state == 'rejected'
461 And match $.orderMessage[0] contains { code : '500'  , messageInformation : 'Problem with SDC API' }
462 Given path 'serviceOrder',serviceOrderId
463 When method get
464 Then status 200
465 * call Context.startServers();