summaryrefslogtreecommitdiffstats
path: root/src/test/resources/karatetest/features/03--Subscriber.feature
blob: 3a41c349035e2250e9ce05dd58ed1309b98ef120 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# new feature
# Tags: optional
    
Feature: Subscriber

Background:
* url nbiBaseUrl
* def Context = Java.type('org.onap.nbi.test.Context');
* call Context.startServers();
* def data = read('../data/subscriber.json')
* def serviceOrderData = read('../data/serviceOrder.json')
* def checkDateFormat =
"""
function(s) {
  var SimpleDateFormat = Java.type("java.text.SimpleDateFormat");
  var sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
  return sdf.parse(s);
}
"""

Scenario: testFindWhenNoSubscriber
Given path 'hub'
When method get
Then status 200
And match $ == '#[0]'

Scenario: testCreationAndFindSubscriber
Given path 'hub'
And request data[0]
When method post
Then status 201
Given url 'http://localhost:8080/nbi/api/v3/hub/'
When method get
And match $ == '#[1]'

Scenario: testGetByIdSubscriber
Given path 'hub'
When method get
And def Id = $[0].id
Given path 'hub',Id
When method get
And match $ contains { callback : 'http://localhost:8080/test' , query : 'eventType=ServiceOrderCreationNotification' }

Scenario: testFindSubscriber
Given path 'hub'
And request data[1]
When method post
Then status 201
Given path 'hub'
And request data[2]
When method post
Then status 201
Given path 'hub'
When method get
Then status 200
And match $ == '#notnull'

Scenario: testFindWithFilteringSubscriber
Given path 'hub'
And params { query.eventType : 'ServiceOrderCreationNotification' }
When method get
Then status 200
And match $ == '#[1]'

Scenario: testSubscriberDeletion
Given path 'hub'
And request { id : 'id', callback : 'http://localhost:8080/test' , query : 'eventType = ServiceOrderCreationNotification' }
When method post
Then status 201
Given path 'hub'
When method get
And def Id = $[0].id
Given path 'hub',Id
When method delete
Then status 204

Scenario: testSubscriberWithTestListener
* def listenerUrl = nbiBaseUrl + "/test/listener"
Given path 'test/listener'
When method delete
Then status 204
Given path 'hub'
And request { id : 'id', callback : '#(listenerUrl)' , query : 'eventType = ServiceOrderCreationNotification' }
When method post
Then status 201
Given path 'hub'
When method get
And def hubId = $[0].id
Given path 'serviceOrder'
And request serviceOrderData[17]
When method post
Then status 201
And def serviceOrderId = $.id
Given path 'test/listener'
And params {serviceOrderId : '#(serviceOrderId)'}
When method get
Then status 200
And assert response.length == 1
And match $[0] contains { eventId : '#notnull' , eventType : 'ServiceOrderCreationNotification' , eventDate : '#notnull' , event :'#notnull'}
And def eventId = $[0].eventId
And def eventDate = $[0].eventDate
And call checkDateFormat(eventDate)
Given path 'hub',hubId
When method delete
Then status 204
Given path 'test/listener',eventId
When method delete
Then status 204
Given path 'serviceOrder',serviceOrderId
When method delete
Then status 204