Merge "Retrieve an Anchor for a given dataspace by anchor name - REST layer"
[cps.git] / cps-rest / src / test / groovy / org / onap / cps / rest / controller / AdminRestControllerSpec.groovy
old mode 100644 (file)
new mode 100755 (executable)
index c1c7c5d..5f8147c
 
 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.CpsDataService
@@ -41,12 +47,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 {
 
@@ -69,6 +69,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'
 
@@ -243,4 +244,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')
+    }
 }