Fix unit testing instability
[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 Given path 'serviceOrder','test'
22 When method delete
23 Then status 204
24
25 Scenario: testCheckServiceOrder
26 Given path 'serviceOrder'
27 And request data[0]
28 When method post
29 Then status 201
30 Given path 'serviceOrder','test','test'
31 And request $
32 When method put
33 Then status 201
34 And match $.id == 'test'
35 And match $.state == 'acknowledged'
36 Given path 'serviceOrder','test'
37 When method get
38 Then status 200
39 Given path 'serviceOrder','test'
40 When method delete
41 Then status 204
42
43
44 Scenario: testCheckServiceOrderWithUnknownSverviceSpecId
45 Given path 'serviceOrder'
46 And request data[1]
47 When method post
48 Then status 201
49 Given path 'serviceOrder','test','test1'
50 And request $
51 When method put
52 Then status 201
53 And match $.state == 'rejected'
54 And match $.orderItem[0].orderItemMessage ==  '#[1]'
55 And match $.orderItem[0].orderItemMessage[0] contains { code : '102'  , field : 'serviceSpecification.id' }
56 Given path 'serviceOrder','test1'
57 When method get
58 Then status 200
59 Given path 'serviceOrder','test1'
60 When method delete
61 Then status 204
62
63
64 Scenario: testCheckServiceOrderWithGenericCustomer
65 Given path 'serviceOrder'
66 And request data[2]
67 When method post
68 Then status 201
69 Given path 'serviceOrder','test','test2'
70 And request $
71 When method put
72 Then status 201
73 And match $.state == 'acknowledged'
74 Given path 'serviceOrder','test2'
75 When method get
76 Then status 200
77 Given path 'serviceOrder','test2'
78 When method delete
79 Then status 204
80
81 Scenario: testCheckServiceOrderWithoutRelatedParty
82 Given path 'serviceOrder'
83 And request data[3]
84 When method post
85 Then status 201
86 Given path 'serviceOrder','test','test3'
87 And request $
88 When method put
89 Then status 201
90 And match $.state == 'acknowledged'
91 Given path 'serviceOrder','test3'
92 When method get
93 Then status 200
94 Given path 'serviceOrder','test3'
95 When method delete
96 Then status 204
97
98
99 Scenario: testCheckServiceOrderWithUnKnownCustomer
100 Given path 'serviceOrder'
101 And request data[4]
102 When method post
103 Then status 201
104 Given path 'serviceOrder','test','test4'
105 And request $
106 When method put
107 Then status 201
108 And match $.state == 'acknowledged'
109 Given path 'serviceOrder','test4'
110 When method get
111 Then status 200
112 Given path 'serviceOrder','test4'
113 When method delete
114 Then status 204
115
116 Scenario: testCheckServiceOrderInDeleteWithNoServiceId
117 Given path 'serviceOrder'
118 And request data[5]
119 When method post
120 Then status 201
121 Given path 'serviceOrder','test','test5'
122 And request $
123 When method put
124 Then status 201
125 And match $.state == 'rejected'
126 And match $.orderItem[0].orderItemMessage ==  '#[1]'
127 And match $.orderItem[0].orderItemMessage[0] contains { code : '106'  , field : 'service.id' }
128 Given path 'serviceOrder','test5'
129 When method get
130 Then status 200
131 Given url 'http://localhost:8080/nbi/api/v3/serviceOrder/test5'
132 When method delete
133 Then status 204
134
135
136 Scenario: testCheckServiceOrderInModifyWithNoServiceId
137 Given path 'serviceOrder'
138 And request data[6]
139 When method post
140 Then status 201
141 Given path 'serviceOrder','test','test6'
142 And request $
143 When method put
144 Then status 201
145 And match $.state == 'rejected'
146 And match $.orderItem[0].orderItemMessage ==  '#[1]'
147 And match $.orderItem[0].orderItemMessage[0] contains { code : '106'  , field : 'service.id' }
148 Given path 'serviceOrder','test6'
149 When method get
150 Then status 200
151 Given path 'serviceOrder','test6'
152 When method delete
153 Then status 204
154
155
156 Scenario: testCheckServiceOrderInAddWithServiceId
157 Given path 'serviceOrder'
158 And request data[7]
159 When method post
160 Then status 201
161 Given path 'serviceOrder','test','test7'
162 And request $
163 When method put
164 Then status 201
165 And match $.state == 'rejected'
166 And match $.orderItem[0].orderItemMessage ==  '#[1]'
167 And match $.orderItem[0].orderItemMessage[0] contains { code : '103'  , field : 'service.id' }
168 Given path 'serviceOrder','test7'
169 When method get
170 Then status 200
171 Given path 'serviceOrder','test7'
172 When method delete
173 Then status 204
174
175 Scenario: testCheckServiceOrderWithUnKnownCustomerInChange
176 Given path 'serviceOrder'
177 And request data[8]
178 When method post
179 Then status 201
180 Given path 'serviceOrder','test','test8'
181 And request $
182 When method put
183 Then status 201
184 And match $.state == 'rejected'
185 And match $.orderMessage ==  '#[1]'
186 And match $.orderMessage[0] contains { code : '104'  , field : 'relatedParty.id' }
187 Given path 'serviceOrder','test8'
188 When method get
189 Then status 200
190 Given path 'serviceOrder','test8'
191 When method delete
192 Then status 204
193
194
195 Scenario: testCheckServiceOrderDelete
196 Given path 'serviceOrder'
197 And request data[9]
198 When method post
199 Then status 201
200 Given path 'serviceOrder','test','test9'
201 And request $
202 When method put
203 Then status 201
204 And match $.state == 'acknowledged'
205 Given path 'serviceOrder','test9'
206 When method get
207 Then status 200
208 Given path 'serviceOrder','test9'
209 When method delete
210 Then status 204
211
212 Scenario: testCheckServiceOrderDeleteRejected
213 Given path 'serviceOrder'
214 And request data[10]
215 When method post
216 Then status 201
217 Given path 'serviceOrder','test','test10'
218 And request $
219 When method put
220 Then status 201
221 And match $.state == 'rejected'
222 And match $.orderItem[0].orderItemMessage ==  '#[1]'
223 And match $.orderItem[0].orderItemMessage[0] contains { code : '106'  , field : 'service.id' }
224 Given path 'serviceOrder','test10'
225 When method get
226 Then status 200
227 Given path 'serviceOrder','test10'
228 When method delete
229 Then status 204
230
231 Scenario: testCheckServiceOrderNoChange
232 Given path 'serviceOrder'
233 And request data[11]
234 When method post
235 Then status 201
236 Given path 'serviceOrder','test','test11'
237 And request $
238 When method put
239 Then status 201
240 And match $.state == 'completed'
241 And match $.orderItem[0].state == 'completed'
242 And match $.orderItem[1].state == 'completed'
243 Given path 'serviceOrder','test11'
244 When method get
245 Then status 200
246 Given path 'serviceOrder','test11'
247 When method delete
248 Then status 204
249
250 Scenario: testCheckServiceOrderNoChangeAndDelete
251 Given path 'serviceOrder'
252 And request data[12]
253 When method post
254 Then status 201
255 Given path 'serviceOrder','test','test12'
256 And request $
257 When method put
258 Then status 201
259 And match $.state == 'acknowledged'
260 And match $.orderItem[0].state == 'completed'
261 Given path 'serviceOrder','test12'
262 When method get
263 Then status 200
264 Given path 'serviceOrder','test12'
265 When method delete
266 Then status 204
267
268 Scenario: testCheckServiceOrderDeleteWithKoServiceSpecId
269 Given path 'serviceOrder'
270 And request data[13]
271 When method post
272 Then status 201
273 Given path 'serviceOrder','test','test13'
274 And request $
275 When method put
276 Then status 201
277 And match $.state == 'rejected'
278 And match $.orderItem[0].state == 'rejected'
279 Given path 'serviceOrder','test13'
280 When method get
281 Then status 200
282 Given path 'serviceOrder','test13'
283 When method delete
284 Then status 204
285
286 Scenario: testCheckServiceOrderRejected
287 Given path 'serviceOrder'
288 And request data[14]
289 When method post
290 Then status 201
291 Given path 'serviceOrder','test','test14'
292 And request $
293 When method put
294 Then status 201
295 And match $.state == 'rejected'
296 And match $.orderItem[0].orderItemMessage ==  '#[1]'
297 And match $.orderItem[0].orderItemMessage[0] contains { code : '102'  , field : 'serviceSpecification.id' }
298 Given path 'serviceOrder','test14'
299 When method get
300 Then status 200
301 Given path 'serviceOrder','test14'
302 When method delete
303 Then status 204
304
305
306 Scenario: testFindAndGetServiceOrder
307 Given path 'serviceOrder'
308 And request data[15]
309 When method post
310 Then status 201
311 Given path 'serviceOrder'
312 And request data[16]
313 When method post
314 Then status 201
315 Given path 'serviceOrder','test','test15'
316 And request $
317 When method put
318 Then status 201
319 Given path 'serviceOrder','test','test16'
320 And request $
321 When method put
322 Then status 201
323 Given path 'serviceOrder'
324 And params {fields : 'id'}
325 When method get
326 Then status 200
327 And match $ == '#[2]'
328 Given path 'serviceOrder'
329 And params {externalId : 'extid1' , state : 'acknowledged'}
330 When method get
331 Then status 200
332 And match $ == '#[1]'
333 Given path 'serviceOrder','test15'
334 When method get
335 Then status 200
336 And match $ contains '#notnull'
337 Given path 'serviceOrder','test15'
338 When method delete
339 Then status 204
340 Given path 'serviceOrder','test16'
341 When method delete
342 Then status 204
343
344
345 Scenario: testCheckServiceOrderWithCustomerAAINotResponding
346 * call Context.removeWireMockMapping("/aai/v11/business/customers/customer/new");
347 Given path 'serviceOrder'
348 And request data[4]
349 When method post
350 Then status 201
351 Given path 'serviceOrder','test','test4'
352 And request $
353 When method put
354 Then status 201
355 And match $.id == 'test4'
356 And match $.state == 'rejected'
357 And match $.orderItem == '#[2]'
358 And match $.orderMessage[0] contains { code : '501'  , messageInformation : 'Problem with AAI API' }
359 Given path 'serviceOrder','test4'
360 When method get
361 Then status 200
362 * call Context.startServers();
363
364
365 Scenario: testAAIPutServiceNotResponding
366 * call Context.removeWireMockMapping("/aai/v11/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
367 Given path 'serviceOrder'
368 And request data[4]
369 When method post
370 Then status 201
371 Given path 'serviceOrder','test','test4'
372 And request $
373 When method put
374 Then status 201
375 And match $.id == 'test4'
376 And match $.state == 'rejected'
377 Given path 'serviceOrder','test4'
378 When method get
379 Then status 200
380 * call Context.startServers();
381
382 Scenario: testCheckServiceOrderWithSDCNotResponding
383 * call Context.removeWireMockMapping("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata");
384 Given path 'serviceOrder'
385 And request data[4]
386 When method post
387 Then status 201
388 Given path 'serviceOrder','test','test4'
389 And request $
390 When method put
391 Then status 201
392 And match $.id == 'test4'
393 And match $.state == 'rejected'
394 And match $.orderItem[0].orderMessage[0] contains { code : '102'  , field : 'serviceSpecification.id' }
395 Given path 'serviceOrder','test4'
396 When method get
397 Then status 200
398 * call Context.startServers();