From e14fe9ab679998f40d7c46ff58702e5aa0545b07 Mon Sep 17 00:00:00 2001 From: JvD_Ericsson Date: Mon, 26 Feb 2024 13:45:47 +0000 Subject: [PATCH] Modify the get cmHandle api to return dataProducerIdentifier, moduleSetTag, and alternateId (CPS-1964 2) Issue-ID: CPS-2113 Signed-off-by: JvD_Ericsson Change-Id: I672e5c8408e77a5fa15d6fc2f41438aca705484c --- cps-ncmp-rest/docs/openapi/components.yaml | 9 +++++++++ .../cps/ncmp/rest/controller/NetworkCmProxyController.java | 3 +++ .../ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy | 8 +++++--- .../org/onap/cps/ncmp/api/impl/utils/YangDataConverter.java | 1 + docs/api/swagger/ncmp/openapi-inventory.yaml | 8 ++++++++ docs/api/swagger/ncmp/openapi.yaml | 12 ++++++++++++ 6 files changed, 38 insertions(+), 3 deletions(-) diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml index 635117c07..0ad453a1c 100644 --- a/cps-ncmp-rest/docs/openapi/components.yaml +++ b/cps-ncmp-rest/docs/openapi/components.yaml @@ -255,6 +255,15 @@ components: $ref: '#/components/schemas/CmHandleCompositeState' trustLevel: $ref: '#/components/schemas/CmHandleTrustLevel' + moduleSetTag: + type: string + example: my-module-set-tag + alternateId: + type: string + example: my-alternate-id + dataProducerIdentifier: + type: string + example: my-data-producer-identifier CmHandlePublicProperties: type: object items: diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java index b567ba2e7..66c159105 100755 --- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java @@ -398,6 +398,9 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { if (cmHandleCurrentTrustLevel != null) { restOutputCmHandle.setTrustLevel(cmHandleCurrentTrustLevel.toString()); } + restOutputCmHandle.setModuleSetTag(ncmpServiceCmHandle.getModuleSetTag()); + restOutputCmHandle.setAlternateId(ncmpServiceCmHandle.getAlternateId()); + restOutputCmHandle.setDataProducerIdentifier(ncmpServiceCmHandle.getDataProducerIdentifier()); return restOutputCmHandle; } diff --git a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy index dba2b30fd..616492d4e 100644 --- a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy +++ b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy @@ -357,9 +357,11 @@ class NetworkCmProxyControllerSpec extends Specification { def cmHandle2 = new NcmpServiceCmHandle() cmHandle2.cmHandleId = 'ch-2' cmHandle2.publicProperties = [color: 'green'] + cmHandle2.alternateId = 'someAlternateId' + cmHandle2.moduleSetTag = 'someModuleSetTag' + cmHandle2.dataProducerIdentifier = 'someDataProducerIdentifier' mockNetworkCmProxyDataService.executeCmHandleSearch(_) >> [cmHandle1, cmHandle2] and: 'map for trust level per cmHandle has value for only one cm handle' -// trustLevelPerCmHandle.get('') >> { TrustLevel.NONE } trustLevelPerCmHandle.put('ch-1', TrustLevel.NONE) when: 'the searches api is invoked' def response = mvc.perform(post(searchesEndpoint) @@ -368,7 +370,7 @@ class NetworkCmProxyControllerSpec extends Specification { then: 'response status returns OK' response.status == HttpStatus.OK.value() and: 'the expected response content is returned' - response.contentAsString == '[{"cmHandle":"ch-1","publicCmHandleProperties":[{"color":"yellow"}],"state":null,"trustLevel":"NONE"},{"cmHandle":"ch-2","publicCmHandleProperties":[{"color":"green"}],"state":null,"trustLevel":null}]' + response.contentAsString == '[{"cmHandle":"ch-1","publicCmHandleProperties":[{"color":"yellow"}],"state":null,"trustLevel":"NONE","moduleSetTag":null,"alternateId":null,"dataProducerIdentifier":null},{"cmHandle":"ch-2","publicCmHandleProperties":[{"color":"green"}],"state":null,"trustLevel":null,"moduleSetTag":"someModuleSetTag","alternateId":"someAlternateId","dataProducerIdentifier":"someDataProducerIdentifier"}]' } def 'Get complete Cm Handle details by Cm Handle id.'() { @@ -452,7 +454,7 @@ class NetworkCmProxyControllerSpec extends Specification { .contentType(MediaType.APPLICATION_JSON) .content(jsonString)).andReturn().response then: 'an empty cm handle identifier is returned' - response.contentAsString == '[{"cmHandle":"ch-1","publicCmHandleProperties":[{"color":"yellow"}],"state":null,"trustLevel":"COMPLETE"},{"cmHandle":"ch-2","publicCmHandleProperties":[{"color":"green"}],"state":null,"trustLevel":"NONE"}]' + response.contentAsString == '[{"cmHandle":"ch-1","publicCmHandleProperties":[{"color":"yellow"}],"state":null,"trustLevel":"COMPLETE","moduleSetTag":null,"alternateId":null,"dataProducerIdentifier":null},{"cmHandle":"ch-2","publicCmHandleProperties":[{"color":"green"}],"state":null,"trustLevel":"NONE","moduleSetTag":null,"alternateId":null,"dataProducerIdentifier":null}]' } def 'Query for cm handles matching query parameters'() { diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/utils/YangDataConverter.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/utils/YangDataConverter.java index e043e029f..07b92892a 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/utils/YangDataConverter.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/utils/YangDataConverter.java @@ -56,6 +56,7 @@ public class YangDataConverter { ncmpServiceCmHandle.setCompositeState(yangModelCmHandle.getCompositeState()); ncmpServiceCmHandle.setModuleSetTag(yangModelCmHandle.getModuleSetTag()); ncmpServiceCmHandle.setAlternateId(yangModelCmHandle.getAlternateId()); + ncmpServiceCmHandle.setDataProducerIdentifier(yangModelCmHandle.getDataProducerIdentifier()); setDmiProperties(dmiProperties, ncmpServiceCmHandle); setPublicProperties(publicProperties, ncmpServiceCmHandle); return ncmpServiceCmHandle; diff --git a/docs/api/swagger/ncmp/openapi-inventory.yaml b/docs/api/swagger/ncmp/openapi-inventory.yaml index ff9f4ba68..8a6c13ebe 100644 --- a/docs/api/swagger/ncmp/openapi-inventory.yaml +++ b/docs/api/swagger/ncmp/openapi-inventory.yaml @@ -222,6 +222,7 @@ components: updatedCmHandles: - cmHandle: my-cm-handle alternateId: my-alternate-id + dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: @@ -230,6 +231,7 @@ components: trustLevel: COMPLETE - cmHandle: my-cm-handle alternateId: my-alternate-id + dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: @@ -239,6 +241,7 @@ components: createdCmHandles: - cmHandle: my-cm-handle alternateId: my-alternate-id + dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: @@ -247,6 +250,7 @@ components: trustLevel: COMPLETE - cmHandle: my-cm-handle alternateId: my-alternate-id + dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: @@ -302,6 +306,7 @@ components: example: cmHandle: my-cm-handle alternateId: my-alternate-id + dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: @@ -334,6 +339,9 @@ components: alternateId: example: my-alternate-id type: string + dataProducerIdentifier: + example: my-data-producer-identifier + type: string required: - cmHandle type: object diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml index 9203b6d4c..da0b0b3f9 100644 --- a/docs/api/swagger/ncmp/openapi.yaml +++ b/docs/api/swagger/ncmp/openapi.yaml @@ -1871,6 +1871,8 @@ components: RestOutputCmHandle: example: cmHandle: my-cm-handle1 + alternateId: my-alternate-id + dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: - key: Book Type - key: Book Type @@ -1889,6 +1891,7 @@ components: details: locked due to failure in module sync lastUpdateTime: 2022-12-31T20:30:40.000+0000 trustLevel: COMPLETE + moduleSetTag: my-module-set-tag properties: cmHandle: example: my-cm-handle1 @@ -1906,6 +1909,15 @@ components: description: Current trust level of the relevant CM handle ID. example: COMPLETE type: string + moduleSetTag: + example: my-module-set-tag + type: string + alternateId: + example: my-alternate-id + type: string + dataProducerIdentifier: + example: my-data-producer-identifier + type: string title: CM handle Details type: object CmHandlePublicProperties: -- 2.16.6