From: niamhcore Date: Wed, 10 Nov 2021 12:13:51 +0000 (+0000) Subject: Fix for get cm handle identifiers response body X-Git-Tag: mr/823/126723/7~33 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=cps.git;a=commitdiff_plain;h=9e09fe868b39fd5f13092a923da3474deb0f75b9 Fix for get cm handle identifiers response body Issue-ID: CPS-636 Signed-off-by: niamhcore Change-Id: I35dabf8e5839c56a9ae1851495cc9bf15e633c21 --- 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 19b9a09da..075b45160 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 @@ -217,8 +217,7 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { final List conditionProperties = conditions.getConditions().stream().collect(Collectors.toList()); final CmHandles cmHandles = new CmHandles(); - final Collection cmHandleIdentifiers = processConditions(conditionProperties); - cmHandleIdentifiers.forEach(cmHandle -> cmHandles.setCmHandles(toCmHandleProperties(cmHandle))); + cmHandles.setCmHandles(toCmHandleProperties(processConditions(conditionProperties))); return ResponseEntity.ok(cmHandles); } @@ -254,11 +253,13 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { return moduleNames; } - private CmHandleProperties toCmHandleProperties(final String cmHandleId) { + private CmHandleProperties toCmHandleProperties(final Collection cmHandleIdentifiers) { final CmHandleProperties cmHandleProperties = new CmHandleProperties(); - final CmHandleProperty cmHandleProperty = new CmHandleProperty(); - cmHandleProperty.setCmHandleId(cmHandleId); - cmHandleProperties.add(cmHandleProperty); + for (final String cmHandleIdentifier : cmHandleIdentifiers) { + final CmHandleProperty cmHandleProperty = new CmHandleProperty(); + cmHandleProperty.setCmHandleId(cmHandleIdentifier); + cmHandleProperties.add(cmHandleProperty); + } return cmHandleProperties; } 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 4066fd35e..cca62b9ec 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 @@ -258,8 +258,8 @@ class NetworkCmProxyControllerSpec extends Specification { given: 'an endpoint and json data' def searchesEndpoint = "$ncmpBasePathV1/ch/searches" String jsonData = TestUtils.getResourceFileContent('cmhandle-search.json') - and: 'the service method is invoked with module names and returns a cm handle id' - mockNetworkCmProxyDataService.executeCmHandleHasAllModulesSearch(['module1', 'module2']) >> ['some-cmhandle-id'] + and: 'the service method is invoked with module names and returns two cm handle ids' + mockNetworkCmProxyDataService.executeCmHandleHasAllModulesSearch(['module1', 'module2']) >> ['some-cmhandle-id1', 'some-cmhandle-id2'] when: 'the searches api is invoked' def response = mvc.perform(post(searchesEndpoint) .contentType(MediaType.APPLICATION_JSON) @@ -267,7 +267,7 @@ class NetworkCmProxyControllerSpec extends Specification { then: 'response status returns OK' response.status == HttpStatus.OK.value() and: 'the expected response content is returned' - response.contentAsString == '{"cmHandles":[{"cmHandleId":"some-cmhandle-id"}]}' + response.contentAsString == '{"cmHandles":[{"cmHandleId":"some-cmhandle-id1"},{"cmHandleId":"some-cmhandle-id2"}]}' } def 'Call execute cm handle searches with unrecognized condition name.'() { @@ -279,7 +279,7 @@ class NetworkCmProxyControllerSpec extends Specification { .contentType(MediaType.APPLICATION_JSON) .content(jsonData)).andReturn().response then: 'an empty cm handle identifier is returned' - response.contentAsString == '{"cmHandles":null}' + response.contentAsString == '{"cmHandles":[]}' } def 'Update resource data in passthrough-running datastore.' () {