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
import org.onap.cps.api.CpsModuleService
import org.onap.cps.spi.exceptions.DataspaceAlreadyDefinedException
import org.onap.cps.spi.exceptions.SchemaSetInUseException
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 {
@SpringBean
CpsAdminService mockCpsAdminService = Mock()
+ @SpringBean
+ CpsDataService mockCpsDataService = Mock()
+
@SpringBean
ModelMapper modelMapper = Mock()
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'
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')
+ }
}