diff options
Diffstat (limited to 'cps-service/src/test')
3 files changed, 57 insertions, 4 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsDataServiceImplSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsDataServiceImplSpec.groovy index 122039728a..97eac5aaa9 100644 --- a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsDataServiceImplSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsDataServiceImplSpec.groovy @@ -28,7 +28,6 @@ import org.onap.cps.api.CpsModuleService import org.onap.cps.notification.NotificationService import org.onap.cps.spi.CpsDataPersistenceService import org.onap.cps.spi.FetchDescendantsOption -import org.onap.cps.spi.exceptions.CpsPathException import org.onap.cps.spi.exceptions.DataValidationException import org.onap.cps.spi.model.Anchor import org.onap.cps.spi.model.DataNodeBuilder @@ -148,10 +147,23 @@ class CpsDataServiceImplSpec extends Specification { thrown(DataValidationException) where: 'following parameters were used' scenario | jsonData - 'multiple leaves' | '{"code": "01","name": "some-name"}' + 'multiple expectedLeaves' | '{"code": "01","name": "some-name"}' 'one leaf' | '{"name": "some-name"}' } + def 'Update cm-handle properties' () { + given: 'a dmi registry model' + setupSchemaSetMocks('dmi-registry.yang') + and: 'the expected json string' + def jsonData = '{"cm-handles":[{"id":"cmHandle001", "additional-properties":[{"name":"P1"}]}]}' + when: 'update data method is invoked with json data and parent node xpath' + objectUnderTest.updateNodeLeavesAndExistingDescendantLeaves(dataspaceName, anchorName, '/dmi-registry', jsonData) + then: 'the persistence service method is invoked with correct parameters' + 1 * mockCpsDataPersistenceService.updateDataLeaves(dataspaceName, anchorName, "/dmi-registry/cm-handles[@id='cmHandle001']", ['id': 'cmHandle001']) + and: 'the data updated event is sent to the notification service' + 1 * mockNotificationService.processDataUpdatedEvent(dataspaceName, anchorName) + } + def 'Replace data node: #scenario.'() { given: 'schema set for given anchor and dataspace references test-tree model' setupSchemaSetMocks('test-tree.yang') diff --git a/cps-service/src/test/groovy/org/onap/cps/notification/CpsDataUpdateEventFactorySpec.groovy b/cps-service/src/test/groovy/org/onap/cps/notification/CpsDataUpdateEventFactorySpec.groovy index aecc3f7ee0..2ce77bd1a8 100644 --- a/cps-service/src/test/groovy/org/onap/cps/notification/CpsDataUpdateEventFactorySpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/notification/CpsDataUpdateEventFactorySpec.groovy @@ -21,7 +21,6 @@ package org.onap.cps.notification import org.onap.cps.api.CpsAdminService import org.onap.cps.api.CpsDataService -import org.onap.cps.event.model.CpsDataUpdatedEvent import org.onap.cps.event.model.Data import org.onap.cps.spi.FetchDescendantsOption import org.onap.cps.spi.model.Anchor @@ -61,7 +60,7 @@ class CpsDataUpdateEventFactorySpec extends Specification { with(cpsDataUpdatedEvent) { type == 'org.onap.cps.data-updated-event' source == new URI('urn:cps:org.onap.cps') - schema == CpsDataUpdatedEvent.Schema.URN_CPS_ORG_ONAP_CPS_DATA_UPDATED_EVENT_SCHEMA_1_1_0_SNAPSHOT + schema == new URI('urn:cps:org.onap.cps:data-updated-event-schema:v1') StringUtils.hasText(id) content != null } diff --git a/cps-service/src/test/resources/dmi-registry.yang b/cps-service/src/test/resources/dmi-registry.yang new file mode 100644 index 0000000000..3c2d893b2a --- /dev/null +++ b/cps-service/src/test/resources/dmi-registry.yang @@ -0,0 +1,42 @@ +module dmi-registry { + + yang-version 1.1; + + namespace "org:onap:cps:ncmp"; + + prefix dmi-reg; + + revision "2021-05-20" { + description + "Initial Version"; + } + + container dmi-registry { + + list cm-handles { + + key "id"; + + leaf id { + type string; + } + + leaf dmi-service-name { + type string; + } + + list additional-properties { + + key "name"; + + leaf name { + type string; + } + + leaf value { + type string; + } + } + } + } +}
\ No newline at end of file |