95f8696a30eda896dbb27bd6786a81786f984f9e
[externalapi/nbi.git] / src / test / resources / karatetest / features / 01--ServiceInventory.feature
1 # new feature
2 # Tags: optional
3     
4 Feature: Service Inventory
5
6 Background:
7 * url nbiBaseUrl
8 * def Context = Java.type('org.onap.nbi.test.Context');
9 * call Context.startServers();
10     
11 Scenario: testServiceResourceGetInventory
12 Given path 'service','e4688e5f-61a0-4f8b-ae02-a2fbde623bcb'
13 When method get
14 Then status 200
15 And match $ contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , href : 'service/e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01', type : 'service-instance', @type : 'serviceONAP' }
16 And match $.serviceSpecification contains { id : '98d95267-5e0f-4531-abf8-f14b90031dc5' , invariantUUID : '709d157b-52fb-4250-976e-7133dff5c347' , @type : 'ONAPservice', name :'servicename2' }
17 And match $.relatedParty  contains { role : 'ONAPcustomer' , id : 'DemoTest2' }
18 And match $.supportingResource[0] contains { id : 'cb80fbb6-9aa7-4ac5-9541-e14f45de533e' , name : 'NewFreeRadius-VNF-instance-01' , status :  'PREPROV' , modelInvariantId : 'f5993703-977f-4346-a1c9-c1884f8cfd8d' , modelVersionId : '902438f7-1e4c-492d-b7cc-8650e13b8aeb' , @referredType : 'ONAP resource' }
19 And match $.supportingResource == '#[2]'
20
21
22 Scenario: testServiceResourceGetInventoryWithStatus
23 Given url 'http://localhost:8080/nbi/api/v3/service/405c8c00-44b9-4303-9f27-6797d22ca096'
24 When method get
25 Then status 200
26 And match $.state == 'Active'
27 And match $.relatedParty  contains { role : 'ONAPcustomer' , id : 'DemoTest1' }
28 And match $.serviceSpecification contains { id : '0bf5f56a-4506-4e98-ab50-336d73ca4b07' , invariantUUID : 'f3ec9092-5c98-41f1-9fea-96be80abd064' , @type : 'ONAPservice', name :'servicename1' }
29
30
31 Scenario: testServiceResourceGetInventoryWithoutRelationShipList
32 Given path 'service','e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList'
33 When method get
34 Then status 200
35 And match $ contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList' , href : 'service/e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList' , name : 'NewFreeRadius-service-instance-01' , type : 'service-instance' , @type : 'serviceONAP' }
36 And match $.serviceSpecification contains { id : '98d95267-5e0f-4531-abf8-f14b90031dc5' , invariantUUID : '709d157b-52fb-4250-976e-7133dff5c347' , @type : 'ONAPservice', name : 'servicename3' }
37 And match $.relatedParty  contains { role : 'ONAPcustomer' , id : 'DemoTest3' }
38 And match $.supportingResource == '#[0]'
39
40
41 Scenario: testServiceInventoryFind
42 Given path 'service'
43 And params {serviceSpecification.name : 'vFW' , relatedParty.id : '6490' }
44 When method get
45 Then status 200
46 And match $ == '#[1]'
47 And match $[0] contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , href : 'service/e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' ,  name : 'NewFreeRadius-service-instance-01' }
48 And match $[0].relatedParty  contains { role : 'ONAPcustomer' , id : '6490' }
49 And match $[0].serviceSpecification contains { name : 'vFW' , id : '98d95267-5e0f-4531-abf8-f14b90031dc5' }
50
51 Scenario: testServiceInventoryFindWithServiceSpecId
52 Given path 'service'
53 And params {serviceSpecification.id : '1e3feeb0-8e36-46c6-862c-236d9c626439' , relatedParty.id : '6490'}
54 When method get
55 Then status 200
56 And match $ == '#[1]'
57 And match $[0] contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' ,  href : 'service/e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01' }
58 And match $[0].relatedParty  contains { role : 'ONAPcustomer' , id : '6490' }
59 And match $[0].serviceSpecification contains { name : 'vFW' , id : '98d95267-5e0f-4531-abf8-f14b90031dc5' }
60
61 Scenario: testServiceInventoryFindWithoutParameter
62 Given path 'service'
63 And params {relatedParty.id:'6490'}
64 When method get
65 Then status 200
66 And match $ == '#[2]'
67 And match $[0] contains { id : 'vfw-service-id' , href : 'service/vfw-service-id' , name : 'vfw-service-name' }
68 And match $[0].relatedParty  contains { role : 'ONAPcustomer' , id : '6490' }
69 And match $[0].serviceSpecification contains { name : 'vFW-service-2VF-based' , id : '9vfw-service-modek-version-id' }
70 And match $[1] contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01' }
71 And match $[1].relatedParty  contains { role : 'ONAPcustomer' , id : '6490' }
72 And match $[1].serviceSpecification contains { name : 'vFW' , id : '98d95267-5e0f-4531-abf8-f14b90031dc5' }
73
74
75 Scenario: testServiceResourceGetInventoryWithoutWiremock
76 * call Context.stopWiremock();
77 Given path 'service','e4688e5f-61a0-4f8b-ae02-a2fbde623bcb'
78 And params {serviceSpecification.name : 'vFW' , relatedParty.id : '6490'}
79 When method get
80 Then status 500
81 * call Context.startServers();
82
83
84
85
86
87
88