import org.onap.cps.ncmp.api.impl.client.DmiRestClient
import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration
-import org.onap.cps.ncmp.api.impl.operation.DmiOperations
import org.spockframework.spring.SpringBean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.context.SpringBootTest
@Autowired
DmiOperations objectUnderTest = new DmiOperations(mockDmiRestClient)
- def 'call get resource data for pass-through:operational datastore from dmi.'() {
+ def 'call get resource data for pass-through:operational datastore from DMI.'() {
given: 'expected url'
- def expectedUrl = 'testDmiBasePath/v1/ch/testCmhandle/data/ds' +
- '/ncmp-datastore:passthrough-operational/testResourceId?fields=testFieldsQuery&depth=10'
- when: 'get resource data is called to dmi'
- objectUnderTest.getResouceDataFromDmi('testDmiBasePath',
+ def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmhandle/data/ds' +
+ '/ncmp-datastore:passthrough-operational?resourceIdentifier=parent/child&options=(a=1,b=2)'
+ when: 'get resource data is called to DMI'
+ objectUnderTest.getResourceDataOperationalFromDmi('testDmiBasePath',
'testCmhandle',
- 'testResourceId',
- 'testFieldsQuery',
- 10,
+ 'parent/child',
+ '(a=1,b=2)',
'testAcceptJson',
'testJsonbody')
then: 'the put operation is executed with the correct URL'
1 * mockDmiRestClient.putOperationWithJsonData(expectedUrl, 'testJsonbody', _ as HttpHeaders)
}
+ def 'call get resource data for pass-through:running datastore from DMI.'() {
+ given: 'expected url'
+ def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmhandle/data/ds' +
+ '/ncmp-datastore:passthrough-running?resourceIdentifier=parent/child&options=(a=1,b=2)'
+ when: 'get resource data is called to DMI'
+ objectUnderTest.getResourceDataPassThroughRunningFromDmi('testDmiBasePath',
+ 'testCmhandle',
+ 'parent/child',
+ '(a=1,b=2)',
+ 'testAcceptJson',
+ 'testJsonbody')
+ then: 'the put operation is executed with the correct URL'
+ 1 * mockDmiRestClient.putOperationWithJsonData(expectedUrl, 'testJsonbody', _ as HttpHeaders)
+ }
+ def 'call get resource data for pass-through:operational datastore from DMI when options is null.'() {
+ given: 'expected url'
+ def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmhandle/data/ds' +
+ '/ncmp-datastore:passthrough-operational?resourceIdentifier=parent/child'
+ when: 'get resource data is called to DMI'
+ objectUnderTest.getResourceDataOperationalFromDmi('testDmiBasePath',
+ 'testCmhandle',
+ 'parent/child',
+ null,
+ 'testAcceptJson',
+ 'testJsonbody')
+ then: 'the put operation is executed with the correct URL'
+ 1 * mockDmiRestClient.putOperationWithJsonData(expectedUrl, 'testJsonbody', _ as HttpHeaders)
+ }
+ def 'call create resource data for pass-through:running datastore from DMI.'() {
+ given: 'expected url'
+ def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmhandle/data/ds' +
+ '/ncmp-datastore:passthrough-running?resourceIdentifier=parent/child'
+ when: 'get resource data is called to DMI'
+ objectUnderTest.createResourceDataPassThroughRunningFromDmi('testDmiBasePath',
+ 'testCmhandle',
+ 'parent/child',
+ 'testJsonbody')
+ then: 'the put operation is executed with the correct URL'
+ 1 * mockDmiRestClient.postOperationWithJsonData(expectedUrl, 'testJsonbody', _ as HttpHeaders)
+ }
+
+ def 'Call get resource from dmi.'() {
+ given: 'expected url'
+ def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmhandle/modules'
+ when: 'get resource data is called to dmi'
+ objectUnderTest.getResourceFromDmi('testDmiBasePath',
+ 'testCmhandle',
+ 'modules')
+ then: 'the post operation is executed with the correct URL'
+ 1 * mockDmiRestClient.postOperation(expectedUrl, _ as HttpHeaders)
+ }
+
+ def 'Call get resource from dmi with json data.'() {
+ given: 'expected url & json data'
+ def requestBody = 'some json'
+ def expectedUrl = 'testDmiBasePath/dmi/v1/ch/testCmHandle/modules'
+ def expectedHttpHeaders = new HttpHeaders()
+ when: 'get resource data is called to dmi'
+ objectUnderTest.getResourceFromDmiWithJsonData('testDmiBasePath',
+ requestBody,
+ 'testCmHandle',
+ 'modules')
+ then: 'the post operation is executed with the correct URL and json data'
+ 1 * mockDmiRestClient.postOperationWithJsonData(expectedUrl, requestBody, expectedHttpHeaders)
+ }
+
+ def 'Update resource data for pass-through:running datastore from DMI.'() {
+ given: 'the expected url'
+ def cmHandle = 'some-cmhandle'
+ def resourceIdentifier = 'parent/child'
+ def expectedUrl = 'some-dmi-service-name/dmi/v1/ch/' + cmHandle + '/data/ds' +
+ '/ncmp-datastore:passthrough-running?resourceIdentifier=' + resourceIdentifier
+ when: 'replace resource data is called for DMI'
+ objectUnderTest.updateResourceDataPassThroughRunningFromDmi('some-dmi-service-name',
+ cmHandle,
+ resourceIdentifier,
+ 'some-json-body')
+ then: 'the post operation is executed with the correct URL'
+ 1 * mockDmiRestClient.postOperationWithJsonData(expectedUrl, 'some-json-body', _ as HttpHeaders)
+ }
}
\ No newline at end of file