From d6df1fa47283fd52c8b1970d16c994919203f59e Mon Sep 17 00:00:00 2001 From: aosull01 Date: Mon, 25 Feb 2019 16:09:30 +0000 Subject: Add DMaaP Integration to retrieve AAI-EVENT Change-Id: I94e5eec12fe22b1785a00de530e080a842f37a40 Issue-ID: EXTAPI-201 Signed-off-by: aosull01 --- .../karatetest/features/03--Subscriber.feature | 94 ++++++++++++++++++++++ .../resources/mappings/dmaap_get_aaievents.json | 16 ++++ 2 files changed, 110 insertions(+) create mode 100644 src/test/resources/mappings/dmaap_get_aaievents.json (limited to 'src/test/resources') diff --git a/src/test/resources/karatetest/features/03--Subscriber.feature b/src/test/resources/karatetest/features/03--Subscriber.feature index 6e4b884..e4704ea 100644 --- a/src/test/resources/karatetest/features/03--Subscriber.feature +++ b/src/test/resources/karatetest/features/03--Subscriber.feature @@ -154,4 +154,98 @@ When method delete Then status 204 Given path 'serviceOrder',serviceOrderId When method delete +Then status 204 + + +Scenario: testSubscriberWithTestListenerForServiceInventorCreationEvents +* 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 = ServiceCreationNotification' } +When method post +Then status 201 +Given path 'hub' +When method get +And def hubId = $[0].id +Given path 'hub/testaaievents' +Then status 200 +When method get +Given path 'test/listener' +And params {serviceInstanceId : 'new-test5'} +And retry until responseStatus == 200 +When method get +And assert response.length == 1 +And match $[0] contains { eventId : '#notnull' , eventType : 'ServiceCreationNotification' , 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 + +Scenario: testSubscriberWithTestListenerForServiceInventoryUpdateEvents +* 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 = ServiceAttributeValueChangeNotification' } +When method post +Then status 201 +Given path 'hub' +When method get +And def hubId = $[0].id +Given path 'hub/testaaievents' +Then status 200 +When method get +Given path 'test/listener' +And params {serviceInstanceId : 'new-test5'} +And retry until responseStatus == 200 +When method get +And assert response.length == 1 +And match $[0] contains { eventId : '#notnull' , eventType : 'ServiceAttributeValueChangeNotification' , 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 + +Scenario: testSubscriberWithTestListenerForServiceInventoryRemoveEvents +* 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 = ServiceRemoveNotification' } +When method post +Then status 201 +Given path 'hub' +When method get +And def hubId = $[0].id +Given path 'hub/testaaievents' +Then status 200 +When method get +Given path 'test/listener' +And params {serviceInstanceId : 'new-test5'} +And retry until responseStatus == 200 +When method get +And assert response.length == 1 +And match $[0] contains { eventId : '#notnull' , eventType : 'ServiceRemoveNotification' , 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 \ No newline at end of file diff --git a/src/test/resources/mappings/dmaap_get_aaievents.json b/src/test/resources/mappings/dmaap_get_aaievents.json new file mode 100644 index 0000000..6b5c630 --- /dev/null +++ b/src/test/resources/mappings/dmaap_get_aaievents.json @@ -0,0 +1,16 @@ +{ + "request": { + "method": "GET", + "url": "/events/AAI-EVENT/NBICG1/NBIC1?timeout=2000" + }, + "response": { + "status": 200, + "jsonBody": [ + "{\"cambria.partition\":\"AAI\",\"event-header\":{\"severity\":\"NORMAL\",\"entity-type\":\"service-instance\",\"top-entity-type\":\"customer\",\"entity-link\":\"/aai/v14/business/customers/customer/testcustomer2/service-subscriptions/service-subscription/HSIA_Service/service-instances/service-instance/new-test5\",\"event-type\":\"AAI-EVENT\",\"domain\":\"dev\",\"action\":\"CREATE\",\"sequence-number\":\"0\",\"id\":\"c3654954-9802-4b46-a397-6e12c74d2254\",\"source-name\":\"AAI\",\"version\":\"v14\",\"timestamp\":\"20190301-10:20:47:154\"},\"entity\":{\"global-customer-id\":\"testcustomer2\",\"subscriber-name\":\"testcustomer2\",\"service-subscriptions\":{\"service-subscription\":[{\"service-type\":\"HSIA_Service\",\"service-instances\":{\"service-instance\":[{\"service-instance-id\":\"new-test5\",\"resource-version\":\"1551435647134\",\"service-instance-name\":\"testname\",\"orchestration-status\":\"assigned\"}]}}]}}}", + "{\"cambria.partition\":\"AAI\",\"event-header\":{\"severity\":\"NORMAL\",\"entity-type\":\"service-instance\",\"top-entity-type\":\"customer\",\"entity-link\":\"/aai/v14/business/customers/customer/testcustomer2/service-subscriptions/service-subscription/HSIA_Service/service-instances/service-instance/new-test5\",\"event-type\":\"AAI-EVENT\",\"domain\":\"dev\",\"action\":\"UPDATE\",\"sequence-number\":\"0\",\"id\":\"a746584a-72b7-4994-97b2-bc43ec24fd35\",\"source-name\":\"AAI\",\"version\":\"v14\",\"timestamp\":\"20190301-13:50:34:121\"},\"entity\":{\"global-customer-id\":\"testcustomer2\",\"subscriber-name\":\"testcustomer2\",\"service-subscriptions\":{\"service-subscription\":[{\"service-type\":\"HSIA_Service\",\"service-instances\":{\"service-instance\":[{\"service-instance-id\":\"new-test5\",\"resource-version\":\"1551448234103\",\"service-instance-name\":\"testname\",\"orchestration-status\":\"active\"}]}}]}}}","{\"cambria.partition\":\"AAI\",\"event-header\":{\"severity\":\"NORMAL\",\"entity-type\":\"service-instance\",\"top-entity-type\":\"customer\",\"entity-link\":\"/aai/v14/business/customers/customer/testcustomer2/service-subscriptions/service-subscription/HSIA_Service/service-instances/service-instance/new-test5\",\"event-type\":\"AAI-EVENT\",\"domain\":\"dev\",\"action\":\"DELETE\",\"sequence-number\":\"0\",\"id\":\"011c139e-d00f-4a55-b1fc-b319f16e0f70\",\"source-name\":\"AAI\",\"version\":\"v14\",\"timestamp\":\"20190301-13:53:09:590\"},\"entity\":{\"global-customer-id\":\"testcustomer2\",\"subscriber-name\":\"testcustomer2\",\"service-subscriptions\":{\"service-subscription\":[{\"service-type\":\"HSIA_Service\",\"service-instances\":{\"service-instance\":[{\"service-instance-id\":\"new-test5\",\"resource-version\":\"1551448234103\",\"service-instance-name\":\"testname\",\"orchestration-status\":\"active\"}]}}]}}}" + ], + "headers": { + "Content-Type": "application/json" + } + } +} -- cgit 1.2.3-korg