a42f9b7ee76c27342eaa86cbf4fdbd89b90ed973
[externalapi/nbi.git] / src / test / resources / karatetest / features / 05--ListenerResourceTestTarget.feature
1 # new feature
2 # Tags: optional
3
4 Feature: Listener
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/subscriber.json')
11 * def serviceOrderData = read('../data/serviceOrder.json')
12 * configure retry = { count: 10, interval: 500 }
13 * def checkDateFormat =
14 """
15 function(s) {
16   var SimpleDateFormat = Java.type("java.text.SimpleDateFormat");
17   var sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
18   return sdf.parse(s);
19 }
20 """
21
22 Scenario: testcreateEventSubscription
23 Given path 'hub'
24 And header Target = 'http://localhost:8080/nbi/api/v4'
25 And request data[0]
26 When method post
27 Then status 201
28 And def hubId = $.id
29 And header Target = 'http://localhost:8080/nbi/api/v4'
30 Given path 'hub',hubId
31 When method get
32 Then status 200
33 And match hubId == $.id
34 Given path 'hub',hubId
35 And header Target = 'http://localhost:8080/nbi/api/v4'
36 When method delete
37 Then status 204
38
39 Scenario: testPostListenerResource
40 * def listenerUrl = nbiBaseUrl + "/test/listener"
41 Given path 'test/listener'
42 When method delete
43 Then status 204
44 Given path 'hub'
45 And header Target = 'http://localhost:8080/nbi/api/v4'
46 And request { callback : '#(listenerUrl)' , query : 'eventType = ServiceOrderCreationNotification' }
47 When method post
48 Then status 201
49 And def hubId = $.id
50 Given path 'serviceOrder'
51 And request serviceOrderData[17]
52 And header Target = 'http://localhost:8080/nbi/api/v4'
53 When method post
54 Then status 201
55 And def serviceOrderId = $.id
56 Given path 'test/listener'
57 And params {serviceOrderId : '#(serviceOrderId)'}
58 And retry until responseStatus == 200
59 When method get
60 And assert response.length == 1
61 And match $[0] contains { eventId : '#notnull' , eventType : 'ServiceOrderCreationNotification' , eventDate : '#notnull' , event :'#notnull'}
62 And def eventId = $[0].eventId
63 And def eventDate = $[0].eventDate
64 And call checkDateFormat(eventDate)
65 Given path 'serviceOrder',serviceOrderId
66 When method delete
67 Then status 204
68 Given path 'hub',hubId
69 And header Target = 'http://localhost:8080/nbi/api/v4'
70 When method delete
71 Then status 204
72 Given path 'test/listener',eventId
73 When method delete
74 Then status 204