diff options
author | 2022-03-01 11:51:20 +0000 | |
---|---|---|
committer | 2022-03-03 14:10:15 +0000 | |
commit | bb030cb7803d3d08f86de5eb1c6be5ad32f5fbf6 (patch) | |
tree | f92d4946fd63f4ddf6d5954894abe56a2bf24e01 /cps-service/src/test/groovy/org/onap | |
parent | 304b9f319cddad71a77f6bbffb8c18f63b7f5ee2 (diff) |
Bug fix for delete data node not working for root node
Fixing event for deletion of container node
Fixing event for deletion of root node when '' is passed as xpath
Issue-ID: CPS-895
Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca>
Change-Id: I0676aec29e7b7e12bef2300219207ddc22414daa
Diffstat (limited to 'cps-service/src/test/groovy/org/onap')
-rw-r--r-- | cps-service/src/test/groovy/org/onap/cps/notification/NotificationServiceSpec.groovy | 44 |
1 files changed, 17 insertions, 27 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/notification/NotificationServiceSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/notification/NotificationServiceSpec.groovy index c20bdeea7..6ef6874b3 100644 --- a/cps-service/src/test/groovy/org/onap/cps/notification/NotificationServiceSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/notification/NotificationServiceSpec.groovy @@ -90,35 +90,15 @@ class NotificationServiceSpec extends Specification { 'dataspace name matches filter' | 'my-dataspace-published' || 1 } - def 'Send UPDATE operation when non-root data nodes are changed.'() { - given: 'notification is enabled' - spyNotificationProperties.isEnabled() >> true - and: 'event factory creates event if operation is UPDATE' - def cpsDataUpdatedEvent = new CpsDataUpdatedEvent() - mockCpsDataUpdatedEventFactory.createCpsDataUpdatedEvent(anchor, myObservedTimestamp, - Operation.UPDATE) >> cpsDataUpdatedEvent - when: 'dataUpdatedEvent is received for non-root xpath' - def future = objectUnderTest.processDataUpdatedEvent(anchor, myObservedTimestamp, '/non-root-node', - operation) - and: 'wait for async processing to complete' - future.get(10, TimeUnit.SECONDS) - then: 'async process completed successfully' - future.isDone() - and: 'notification is sent' - 1 * mockNotificationPublisher.sendNotification(cpsDataUpdatedEvent) - where: - operation << [Operation.CREATE, Operation.UPDATE, Operation.DELETE] - } - - def 'Send same operation when root nodes are changed.'() { + def '#scenario are changed with xpath #xpath and operation #operation'() { given: 'notification is enabled' spyNotificationProperties.isEnabled() >> true and: 'event factory creates event if operation is #operation' def cpsDataUpdatedEvent = new CpsDataUpdatedEvent() - mockCpsDataUpdatedEventFactory.createCpsDataUpdatedEvent(anchor, myObservedTimestamp, operation) >> + mockCpsDataUpdatedEventFactory.createCpsDataUpdatedEvent(anchor, myObservedTimestamp, expectedOperationInEvent) >> cpsDataUpdatedEvent - when: 'dataUpdatedEvent is received for root xpath' - def future = objectUnderTest.processDataUpdatedEvent(anchor, myObservedTimestamp, '/', operation) + when: 'dataUpdatedEvent is received for #xpath' + def future = objectUnderTest.processDataUpdatedEvent(anchor, myObservedTimestamp, xpath, operation) and: 'wait for async processing to complete' future.get(10, TimeUnit.SECONDS) then: 'async process completed successfully' @@ -126,10 +106,21 @@ class NotificationServiceSpec extends Specification { and: 'notification is sent' 1 * mockNotificationPublisher.sendNotification(cpsDataUpdatedEvent) where: - operation << [Operation.CREATE, Operation.UPDATE, Operation.DELETE] + scenario | xpath | operation || expectedOperationInEvent + 'Same event is sent when root nodes' | '' | Operation.CREATE || Operation.CREATE + 'Same event is sent when root nodes' | '' | Operation.UPDATE || Operation.UPDATE + 'Same event is sent when root nodes' | '' | Operation.DELETE || Operation.DELETE + 'Same event is sent when root nodes' | '/' | Operation.CREATE || Operation.CREATE + 'Same event is sent when root nodes' | '/' | Operation.UPDATE || Operation.UPDATE + 'Same event is sent when root nodes' | '/' | Operation.DELETE || Operation.DELETE + 'Same event is sent when container nodes' | '/parent' | Operation.CREATE || Operation.CREATE + 'Same event is sent when container nodes' | '/parent' | Operation.UPDATE || Operation.UPDATE + 'Same event is sent when container nodes' | '/parent' | Operation.DELETE || Operation.DELETE + 'UPDATE event is sent when non root nodes' | '/parent/child' | Operation.CREATE || Operation.UPDATE + 'UPDATE event is sent when non root nodes' | '/parent/child' | Operation.UPDATE || Operation.UPDATE + 'UPDATE event is sent when non root nodes' | '/parent/child' | Operation.DELETE || Operation.UPDATE } - def 'Error handling in notification service.'() { given: 'notification is enabled' spyNotificationProperties.isEnabled() >> true @@ -146,5 +137,4 @@ class NotificationServiceSpec extends Specification { notThrown Exception 1 * spyNotificationErrorHandler.onException(_, _, _, '/', Operation.CREATE) } - } |