diff options
author | Rishi.Chail <rishi.chail@est.tech> | 2021-01-22 15:05:03 +0000 |
---|---|---|
committer | Rishi.Chail <rishi.chail@est.tech> | 2021-01-23 06:22:29 +0000 |
commit | 4be931a5d98df7b9adb88f70292d103f2c16080f (patch) | |
tree | 0cadb482c784e8fe6ff00f96fdc01940b5ce774c | |
parent | 850e3ecdecbedd30e65ae7cbaa81fc5301766f45 (diff) |
Retrieve an Anchor for a given dataspace by anchor name - REST layer
Issue-ID: CPS-186
Signed-off-by: Rishi.Chail <rishi.chail@est.tech>
Change-Id: I2dceb582c6277e56400dfbc46340c70d814603ee
-rwxr-xr-x[-rw-r--r--] | cps-rest/docs/api/swagger/cpsAdmin.yml | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | cps-rest/src/test/groovy/org/onap/cps/rest/controller/AdminRestControllerSpec.groovy | 26 |
3 files changed, 23 insertions, 8 deletions
diff --git a/cps-rest/docs/api/swagger/cpsAdmin.yml b/cps-rest/docs/api/swagger/cpsAdmin.yml index d33c8e55ce..18ed1a2ecb 100644..100755 --- a/cps-rest/docs/api/swagger/cpsAdmin.yml +++ b/cps-rest/docs/api/swagger/cpsAdmin.yml @@ -146,7 +146,7 @@ anchorByDataspaceAndAnchorName: get: tags: - cps-admin - summary: Read an anchor given a anchor and a dataspace - DRAFT + summary: Read an anchor given a anchor and a dataspace operationId: getAnchor parameters: - $ref: 'components.yaml#/components/parameters/dataspaceNameInPath' diff --git a/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java b/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java index 1b6f56a211..0f8e041d0c 100644..100755 --- a/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java +++ b/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java @@ -102,7 +102,8 @@ public class AdminRestController implements CpsAdminApi { @Override public ResponseEntity<Object> getAnchor(final String dataspaceName, final String anchorName) { - return null; + final Anchor anchor = cpsAdminService.getAnchor(dataspaceName, anchorName); + return new ResponseEntity<>(anchor, HttpStatus.OK); } @Override diff --git a/cps-rest/src/test/groovy/org/onap/cps/rest/controller/AdminRestControllerSpec.groovy b/cps-rest/src/test/groovy/org/onap/cps/rest/controller/AdminRestControllerSpec.groovy index 540d6224aa..db0ab6d64f 100644..100755 --- a/cps-rest/src/test/groovy/org/onap/cps/rest/controller/AdminRestControllerSpec.groovy +++ b/cps-rest/src/test/groovy/org/onap/cps/rest/controller/AdminRestControllerSpec.groovy @@ -20,6 +20,12 @@ package org.onap.cps.rest.controller +import static org.onap.cps.spi.CascadeDeleteAllowed.CASCADE_DELETE_PROHIBITED +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.multipart +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post + import org.modelmapper.ModelMapper import org.onap.cps.api.CpsAdminService import org.onap.cps.api.CpsModuleService @@ -40,12 +46,6 @@ import org.springframework.util.MultiValueMap import spock.lang.Specification import spock.lang.Unroll -import static org.onap.cps.spi.CascadeDeleteAllowed.CASCADE_DELETE_PROHIBITED -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.multipart -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post - @WebMvcTest class AdminRestControllerSpec extends Specification { @@ -65,6 +65,7 @@ class AdminRestControllerSpec extends Specification { def basePath def anchorsEndpoint = '/v1/dataspaces/my_dataspace/anchors' + def anchorEndpoint = '/v1/dataspaces/my_dataspace/anchors/my_anchorname' def schemaSetsEndpoint = '/v1/dataspaces/test-dataspace/schema-sets' def schemaSetEndpoint = schemaSetsEndpoint + '/my_schema_set' @@ -239,4 +240,17 @@ class AdminRestControllerSpec extends Specification { response.status == HttpStatus.OK.value() response.getContentAsString().contains('my_anchor') } + + def 'Get existing anchor by dataspace and anchor name.'() { + given: + mockCpsAdminService.getAnchor('my_dataspace','my_anchorname') >> new Anchor(name: 'my_anchorname', dataspaceName: 'my_dataspace', schemaSetName: 'my_schemaSetName') + when: 'get anchor API is invoked' + def response = mvc.perform(get("$basePath$anchorEndpoint")).andReturn().response + def responseContent = response.getContentAsString() + then: 'the correct anchor is returned' + response.status == HttpStatus.OK.value() + responseContent.contains('my_anchorname') + responseContent.contains('my_dataspace') + responseContent.contains('my_schemaSetName') + } } |