Simulate 400 reponse from DMI-stub and give generic response on ProvMnS 96/142896/1
authorseanbeirne <sean.beirne@est.tech>
Thu, 8 Jan 2026 12:29:15 +0000 (12:29 +0000)
committerseanbeirne <sean.beirne@est.tech>
Fri, 9 Jan 2026 13:20:04 +0000 (13:20 +0000)
Patch

- ProvMnS patch now returns generic response
- Module tag 'errorTag' now returns 400 response

Issue-ID: CPS-2826
Change-Id: I8bddef148719ced9998ff3da926c8f86995d5654
Signed-off-by: seanbeirne <sean.beirne@est.tech>
dmi-stub/dmi-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/DmiRestStubController.java
dmi-stub/dmi-stub-service/src/main/java/org/onap/cps/ncmp/dmi/rest/stub/controller/ProvMnsStubController.java

index 9e26d80..2712985 100644 (file)
@@ -82,6 +82,7 @@ public class DmiRestStubController {
     private static final Map<String, String> moduleSetTagPerCmHandleId = new HashMap<>();
     private static final List<String> MODULE_SET_TAGS = YangModuleFactory.generateTags();
     private static final String DEFAULT_TAG = "tagDefault";
+    private static final String ERROR_TAG = "errorTag";
 
     private final KafkaTemplate<String, CloudEvent> cloudEventKafkaTemplate;
     private final ObjectMapper objectMapper;
@@ -376,6 +377,10 @@ public class DmiRestStubController {
         String moduleResponseContent = "";
         String moduleSetTag = extractModuleSetTagFromRequest(moduleRequest);
 
+        if (ERROR_TAG.equals(moduleSetTag)) {
+            return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
+        }
+
         moduleSetTag = (!isModuleSetTagNullOrEmpty(moduleSetTag)
             && MODULE_SET_TAGS.contains(moduleSetTag)) ? moduleSetTag : DEFAULT_TAG;
 
index 091f98d..dffccb9 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.cps.ncmp.dmi.rest.stub.controller;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import jakarta.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -33,6 +34,7 @@ import org.onap.cps.ncmp.dmi.provmns.api.ProvMnS;
 import org.onap.cps.ncmp.dmi.provmns.model.ClassNameIdGetDataNodeSelectorParameter;
 import org.onap.cps.ncmp.dmi.provmns.model.ErrorResponseDefault;
 import org.onap.cps.ncmp.dmi.provmns.model.PatchItem;
+import org.onap.cps.ncmp.dmi.provmns.model.PatchOperation;
 import org.onap.cps.ncmp.dmi.provmns.model.Resource;
 import org.onap.cps.ncmp.dmi.provmns.model.ResourceOneOf;
 import org.onap.cps.ncmp.dmi.provmns.model.Scope;
@@ -124,8 +126,11 @@ public class ProvMnsStubController implements ProvMnS {
     public ResponseEntity<Object> patchMoi(final HttpServletRequest httpServletRequest,
                                            final List<PatchItem> patchItems) {
         log.info("patchMoi: {}", patchItems);
+        final List<PatchItem> stubResponse = new ArrayList<>();
+        stubResponse.add(new PatchItem(PatchOperation.ADD, "/path=setByStub"));
+        stubResponse.add(new PatchItem(PatchOperation.REMOVE, "/path=alsoSetByStub"));
         final Optional<ResponseEntity<Object>> optionalResponseEntity = simulate(httpServletRequest);
-        return optionalResponseEntity.orElseGet(() -> new ResponseEntity<>(patchItems, HttpStatus.OK));
+        return optionalResponseEntity.orElseGet(() -> new ResponseEntity<>(stubResponse, HttpStatus.OK));
     }
 
     /**