import org.onap.cps.ncmp.dmi.model.CmHandles;
import org.onap.cps.ncmp.dmi.model.DataAccessReadRequest;
import org.onap.cps.ncmp.dmi.model.DataAccessWriteRequest;
-import org.onap.cps.ncmp.dmi.model.DmiReadRequestBody;
+import org.onap.cps.ncmp.dmi.model.DmiModuleReadRequestBody;
import org.onap.cps.ncmp.dmi.model.ModuleReference;
import org.onap.cps.ncmp.dmi.model.ModuleSet;
import org.onap.cps.ncmp.dmi.model.YangResources;
}
@Override
- public ResponseEntity<ModuleSet> getModulesForCmHandle(final String cmHandle) {
+ public ResponseEntity<ModuleSet> getModulesForCmHandle(final String cmHandle,
+ final @Valid DataAccessReadRequest body) {
+ // For onap-dmi-plugin we don't need cmHandleProperties, so DataAccessReadRequest is not used.
final var moduleSet = dmiService.getModulesForCmHandle(cmHandle);
- return new ResponseEntity<>(moduleSet, HttpStatus.OK);
+ return ResponseEntity.ok(moduleSet);
}
@Override
- public ResponseEntity<YangResources> retrieveModuleResources(@Valid final DmiReadRequestBody dmiReadRequestBody,
- final String cmHandle) {
- if (dmiReadRequestBody.getOperation().toString().equals("read")) {
- final var moduleReferenceList = convertRestObjectToJavaApiObject(dmiReadRequestBody);
+ public ResponseEntity<YangResources> retrieveModuleResources(
+ final @Valid DmiModuleReadRequestBody dmiModuleReadRequestBody,
+ final String cmHandle) {
+ if (dmiModuleReadRequestBody.getOperation().toString().equals("read")) {
+ final var moduleReferenceList = convertRestObjectToJavaApiObject(dmiModuleReadRequestBody);
final var response = dmiService.getModuleResources(cmHandle, moduleReferenceList);
return new ResponseEntity<>(response, HttpStatus.OK);
}
return ResponseEntity.ok(modulesListAsJson);
}
- private List<ModuleReference> convertRestObjectToJavaApiObject(final DmiReadRequestBody dmiReadRequestBody) {
+ private List<ModuleReference> convertRestObjectToJavaApiObject(
+ final DmiModuleReadRequestBody dmiModuleSchemaReadRequestBody) {
return objectMapper
- .convertValue(dmiReadRequestBody.getData().getModules(), new TypeReference<List<ModuleReference>>() {
- });
+ .convertValue(dmiModuleSchemaReadRequestBody.getData().getModules(),
+ new TypeReference<List<ModuleReference>>() {});
}
}
\ No newline at end of file
given: 'REST endpoint for getting all modules'
def getModuleUrl = "$basePathV1/ch/node1/modules"
and: 'get modules for cm-handle returns a json'
- def moduleSetSchema = new ModuleSetSchemas()
- moduleSetSchema.namespace('some-namespace')
- moduleSetSchema.moduleName('some-moduleName')
- moduleSetSchema.revision('some-revision')
+ def json = '{"operation" : "read", "cmHandleProperties" : {}}'
+ def moduleSetSchema = new ModuleSetSchemas(namespace:'some-namespace',
+ moduleName:'some-moduleName',
+ revision:'some-revision')
def moduleSetSchemasList = [moduleSetSchema] as List<ModuleSetSchemas>
def moduleSet = new ModuleSet()
moduleSet.schemas(moduleSetSchemasList)
mockDmiService.getModulesForCmHandle('node1') >> moduleSet
when: 'post is being called'
def response = mvc.perform(post(getModuleUrl)
- .contentType(MediaType.APPLICATION_JSON))
+ .contentType(MediaType.APPLICATION_JSON).content(json))
.andReturn().response
then: 'status is OK'
response.status == HttpStatus.OK.value()
def 'Get all modules for given cm handle with exception handling of #scenario.'() {
given: 'REST endpoint for getting all modules'
def getModuleUrl = "$basePathV1/ch/node1/modules"
- and: 'get modules for cm-handle throws #exceptionClass'
+ and: 'given request body and get modules for cm-handle throws #exceptionClass'
+ def json = '{"operation" : "read", "cmHandleProperties" : {}}'
mockDmiService.getModulesForCmHandle('node1') >> { throw Mock(exceptionClass) }
when: 'post is invoked'
def response = mvc.perform( post(getModuleUrl)
- .contentType(MediaType.APPLICATION_JSON))
+ .contentType(MediaType.APPLICATION_JSON).content(json))
.andReturn().response
then: 'response status is #expectedResponse'
response.status == expectedResponse