aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRishi.Chail <rishi.chail@est.tech>2021-01-22 15:05:03 +0000
committerRishi.Chail <rishi.chail@est.tech>2021-01-23 06:22:29 +0000
commit4be931a5d98df7b9adb88f70292d103f2c16080f (patch)
tree0cadb482c784e8fe6ff00f96fdc01940b5ce774c
parent850e3ecdecbedd30e65ae7cbaa81fc5301766f45 (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.yml2
-rwxr-xr-x[-rw-r--r--]cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java3
-rwxr-xr-x[-rw-r--r--]cps-rest/src/test/groovy/org/onap/cps/rest/controller/AdminRestControllerSpec.groovy26
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')
+ }
}