@RequestParam MultiValueMap<String, String> params, @RequestHeader(required = false) String targetURL) {
logger.debug("POST request for subscription : {}", subscription);
if(targetURL != null) {
+ Subscriber subscriber = subscriptionService.createSubscription(subscription);
return extApiClientForHub.postEventSubscription(subscription,targetURL);
}else {
Subscriber subscriber = subscriptionService.createSubscription(subscription);
@RestController
@RequestMapping("/listener")
-@EnableScheduling
public class ListenerResource extends ResourceManagement {
@Autowired
--- /dev/null
+[{
+ "eventType": "ServiceOrderStateChangeNotification",
+ "eventDate": "2019-03-27T14:58:32.740Z",
+ "eventId": "12345",
+ "event": {
+ "id": "testEventId",
+ "href": "www.testHref.com",
+ "externalId": "testExternalId",
+ "state": "acknowledged",
+ "orderDate": "2019-03-27T04:58:32.740Z"
+
+ }
+}]
\ No newline at end of file
[
+
{
"callback": "http://localhost:8080/test",
"query": "eventType = ServiceOrderCreationNotification"
{
"callback": "http://localhost/test",
"query": "eventType=ServiceOrderItemStateChangeNotification"
+ },
+ {
+ "callback": "http://localhost:8080/nbi/api/v3/test/listener",
+ "query": "eventType=ServiceOrderStateChangeNotification"
}
]
\ No newline at end of file
Given path 'serviceOrder',serviceOrderId
When method get
Then status 200
-* call Context.startServers();
\ No newline at end of file
+* call Context.startServers();
+
+Scenario: testCheckServiceOrderWithTargetURLPresent
+Given path 'serviceOrder'
+And header targetURL = '127.0.0.1'
+And request data[0]
+When method post
+Then status 201
+And match $.id contains '#notnull'
+And match $.state == 'acknowledged'
+And def serviceOrderId = $.id
+Given path 'serviceOrder', serviceOrderId
+And header targetURL = '127.0.0.1'
+When method get
+Then status 200
\ No newline at end of file
* call Context.startServers();
* def data = read('../data/subscriber.json')
* def serviceOrderData = read('../data/serviceOrder.json')
+* def eventData = read('../data/Event.json')
* configure retry = { count: 10, interval: 500 }
* def checkDateFormat =
"""
Then status 204
Given path 'test/listener',eventId
When method delete
-Then status 204
\ No newline at end of file
+Then status 204
+
+
+Scenario: testHubAndListenerResourceWhenTargetURLIsPresent
+Given path 'hub'
+And header targetURL = '127.0.0.1'
+And request data[3]
+When method post
+Then status 201
+And def location = responseHeaders['Location'][0]
+Given path "listener"
+And request eventData[0]
+When method post
+Then status 200
+Given path "test/listener/12345"
+When method get
+Then status 200
+And match $ contains
+"""
+{
+ "eventType": "ServiceOrderStateChangeNotification",
+ "eventDate": "2019-03-27T14:58:32.740Z",
+ "eventId": "12345",
+ "event": {
+ "id": "testEventId",
+ "href": "www.testHref.com",
+ "externalId": "testExternalId",
+ "state": "acknowledged",
+ "orderDate": "2019-03-27T04:58:32.740Z"
+
+ }
+}
+"""
+Given url location
+When method delete
+Then status 204