Handle error in case of upgrade operation 28/137828/4
authorsourabh_sourabh <sourabh.sourabh@est.tech>
Thu, 2 May 2024 09:08:04 +0000 (10:08 +0100)
committerSourabh Sourabh <sourabh.sourabh@est.tech>
Thu, 2 May 2024 09:13:33 +0000 (09:13 +0000)
- Send an error response if cm handle not found for upgrade operation.
- Restrict upgrade operation if it is already in progress.

Issue-ID:CPS-2204
Change-Id: Iad63732c5b1d2215b06a09ddda1c0c604cd7648c
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java
cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryControllerSpec.groovy

index 453abca..5467eef 100755 (executable)
@@ -96,8 +96,9 @@ public class NetworkCmProxyInventoryController implements NetworkCmProxyInventor
     private boolean allRegistrationsSuccessful(
         final DmiPluginRegistrationErrorResponse dmiPluginRegistrationErrorResponse) {
         return dmiPluginRegistrationErrorResponse.getFailedCreatedCmHandles().isEmpty()
     private boolean allRegistrationsSuccessful(
         final DmiPluginRegistrationErrorResponse dmiPluginRegistrationErrorResponse) {
         return dmiPluginRegistrationErrorResponse.getFailedCreatedCmHandles().isEmpty()
-            && dmiPluginRegistrationErrorResponse.getFailedUpdatedCmHandles().isEmpty()
-            && dmiPluginRegistrationErrorResponse.getFailedRemovedCmHandles().isEmpty();
+                && dmiPluginRegistrationErrorResponse.getFailedUpdatedCmHandles().isEmpty()
+                && dmiPluginRegistrationErrorResponse.getFailedRemovedCmHandles().isEmpty()
+                && dmiPluginRegistrationErrorResponse.getFailedUpgradeCmHandles().isEmpty();
     }
 
     private DmiPluginRegistrationErrorResponse getFailureRegistrationResponse(
     }
 
     private DmiPluginRegistrationErrorResponse getFailureRegistrationResponse(
index 1d03be1..7b850a7 100644 (file)
@@ -201,7 +201,8 @@ class NetworkCmProxyInventoryControllerSpec extends Specification {
             def dmiRegistrationResponse = new DmiPluginRegistrationResponse(
                 createdCmHandles: [createCmHandleResponse],
                 updatedCmHandles: [updateCmHandleResponse],
             def dmiRegistrationResponse = new DmiPluginRegistrationResponse(
                 createdCmHandles: [createCmHandleResponse],
                 updatedCmHandles: [updateCmHandleResponse],
-                removedCmHandles: [removeCmHandleResponse]
+                removedCmHandles: [removeCmHandleResponse],
+                upgradedCmHandles: [upgradeCmHandleResponse]
             )
             mockNetworkCmProxyDataService.updateDmiRegistrationAndSyncModule(*_) >> dmiRegistrationResponse
         when: 'registration endpoint is invoked'
             )
             mockNetworkCmProxyDataService.updateDmiRegistrationAndSyncModule(*_) >> dmiRegistrationResponse
         when: 'registration endpoint is invoked'
@@ -218,15 +219,18 @@ class NetworkCmProxyInventoryControllerSpec extends Specification {
             responseBody.getFailedCreatedCmHandles() == expectedFailedCreatedCmHandle
             responseBody.getFailedUpdatedCmHandles() == expectedFailedUpdateCmHandle
             responseBody.getFailedRemovedCmHandles() == expectedFailedRemovedCmHandle
             responseBody.getFailedCreatedCmHandles() == expectedFailedCreatedCmHandle
             responseBody.getFailedUpdatedCmHandles() == expectedFailedUpdateCmHandle
             responseBody.getFailedRemovedCmHandles() == expectedFailedRemovedCmHandle
+            responseBody.getFailedUpgradeCmHandles() == expectedFailedUpgradedCmHandle
         where:
         where:
-        scenario               | createCmHandleResponse                 | updateCmHandleResponse                 | removeCmHandleResponse                 || expectedFailedCreatedCmHandle                 | expectedFailedUpdateCmHandle                  | expectedFailedRemovedCmHandle
-        'only create failed'   | expectedFailedResponse('cm-handle-1')  | expectedSuccessResponse('cm-handle-2') | expectedSuccessResponse('cm-handle-3') || [expectedUnknownErrorResponse('cm-handle-1')] | []                                            | []
-        'only update failed'   | expectedSuccessResponse('cm-handle-1') | expectedFailedResponse('cm-handle-2')  | expectedSuccessResponse('cm-handle-3') || []                                            | [expectedUnknownErrorResponse('cm-handle-2')] | []
-        'only delete failed'   | expectedSuccessResponse('cm-handle-1') | expectedSuccessResponse('cm-handle-2') | expectedFailedResponse('cm-handle-3')  || []                                            | []                                            | [expectedUnknownErrorResponse('cm-handle-3')]
-        'all three failed'     | expectedFailedResponse('cm-handle-1')  | expectedFailedResponse('cm-handle-2')  | expectedFailedResponse('cm-handle-3')  || [expectedUnknownErrorResponse('cm-handle-1')] | [expectedUnknownErrorResponse('cm-handle-2')] | [expectedUnknownErrorResponse('cm-handle-3')]
-        'create update failed' | expectedFailedResponse('cm-handle-1')  | expectedFailedResponse('cm-handle-2')  | expectedSuccessResponse('cm-handle-3') || [expectedUnknownErrorResponse('cm-handle-1')] | [expectedUnknownErrorResponse('cm-handle-2')] | []
-        'create delete failed' | expectedFailedResponse('cm-handle-1')  | expectedSuccessResponse('cm-handle-2') | expectedFailedResponse('cm-handle-3')  || [expectedUnknownErrorResponse('cm-handle-1')] | []                                            | [expectedUnknownErrorResponse('cm-handle-3')]
-        'update delete failed' | expectedSuccessResponse('cm-handle-1') | expectedFailedResponse('cm-handle-2')  | expectedFailedResponse('cm-handle-3')  || []                                            | [expectedUnknownErrorResponse('cm-handle-2')] | [expectedUnknownErrorResponse('cm-handle-3')]
+            scenario                | createCmHandleResponse                 | updateCmHandleResponse                 | removeCmHandleResponse                 | upgradeCmHandleResponse                || expectedFailedCreatedCmHandle                 | expectedFailedUpdateCmHandle                  | expectedFailedRemovedCmHandle                 | expectedFailedUpgradedCmHandle
+            'only create failed'    | expectedFailedResponse('cm-handle-1')  | expectedSuccessResponse('cm-handle-2') | expectedSuccessResponse('cm-handle-3') | expectedSuccessResponse('cm-handle-4') || [expectedUnknownErrorResponse('cm-handle-1')] | []                                            | []                                            | []
+            'only update failed'    | expectedSuccessResponse('cm-handle-1') | expectedFailedResponse('cm-handle-2')  | expectedSuccessResponse('cm-handle-3') | expectedSuccessResponse('cm-handle-4') || []                                            | [expectedUnknownErrorResponse('cm-handle-2')] | []                                            | []
+            'only delete failed'    | expectedSuccessResponse('cm-handle-1') | expectedSuccessResponse('cm-handle-2') | expectedFailedResponse('cm-handle-3')  | expectedSuccessResponse('cm-handle-4') || []                                            | []                                            | [expectedUnknownErrorResponse('cm-handle-3')] | []
+            'only upgrade failed'   | expectedSuccessResponse('cm-handle-1') | expectedSuccessResponse('cm-handle-2') | expectedSuccessResponse('cm-handle-3') | expectedFailedResponse('cm-handle-4')  || []                                            | []                                            | []                                            | [expectedUnknownErrorResponse('cm-handle-4')]
+            'all four failed'       | expectedFailedResponse('cm-handle-1')  | expectedFailedResponse('cm-handle-2')  | expectedFailedResponse('cm-handle-3')  | expectedFailedResponse('cm-handle-4')  || [expectedUnknownErrorResponse('cm-handle-1')] | [expectedUnknownErrorResponse('cm-handle-2')] | [expectedUnknownErrorResponse('cm-handle-3')] | [expectedUnknownErrorResponse('cm-handle-4')]
+            'create update failed'  | expectedFailedResponse('cm-handle-1')  | expectedFailedResponse('cm-handle-2')  | expectedSuccessResponse('cm-handle-3') | expectedSuccessResponse('cm-handle-4') || [expectedUnknownErrorResponse('cm-handle-1')] | [expectedUnknownErrorResponse('cm-handle-2')] | []                                            | []
+            'create delete failed'  | expectedFailedResponse('cm-handle-1')  | expectedSuccessResponse('cm-handle-2') | expectedFailedResponse('cm-handle-3')  | expectedSuccessResponse('cm-handle-4') || [expectedUnknownErrorResponse('cm-handle-1')] | []                                            | [expectedUnknownErrorResponse('cm-handle-3')] | []
+            'update delete failed'  | expectedSuccessResponse('cm-handle-1') | expectedFailedResponse('cm-handle-2')  | expectedFailedResponse('cm-handle-3')  | expectedSuccessResponse('cm-handle-4') || []                                            | [expectedUnknownErrorResponse('cm-handle-2')] | [expectedUnknownErrorResponse('cm-handle-3')] | []
+            'delete upgrade failed' | expectedSuccessResponse('cm-handle-1') | expectedSuccessResponse('cm-handle-2') | expectedFailedResponse('cm-handle-3')  | expectedFailedResponse('cm-handle-4')  || []                                            | []                                            | [expectedUnknownErrorResponse('cm-handle-3')] | [expectedUnknownErrorResponse('cm-handle-4')]
     }
 
     def 'Get all cm handle IDs by DMI plugin identifier.'() {
     }
 
     def 'Get all cm handle IDs by DMI plugin identifier.'() {