Add support to upload deployment helm artifacts to chartmuseum
[nonrtric/plt/rappmanager.git] / rapp-manager-application / src / test / java / com / oransc / rappmanager / service / RappServiceTest.java
index d9be9b7..9dc4987 100755 (executable)
@@ -1,3 +1,22 @@
+/*-
+ * ============LICENSE_START======================================================================
+ * Copyright (C) 2023 Nordix Foundation. All rights reserved.
+ * Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved.
+ * ===============================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END========================================================================
+ */
+
 package com.oransc.rappmanager.service;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -41,6 +60,9 @@ class RappServiceTest {
     @MockBean
     DmeDeployer dmeDeployer;
 
+    @MockBean
+    DeploymentArtifactsService deploymentArtifactsService;
+
     @MockBean
     SmeLifecycleManager smeLifecycleManager;
 
@@ -60,6 +82,8 @@ class RappServiceTest {
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
         when(acmDeployer.primeRapp(any())).thenReturn(true);
         when(dmeDeployer.primeRapp(any())).thenReturn(true);
+        when(smeDeployer.primeRapp(any())).thenReturn(true);
+        when(deploymentArtifactsService.configureDeploymentArtifacts(any())).thenReturn(true);
         assertEquals(HttpStatus.OK, rappService.primeRapp(rapp).getStatusCode());
         assertEquals(RappState.PRIMED, rapp.getState());
     }
@@ -80,9 +104,12 @@ class RappServiceTest {
     void testPrimeRappAcmFailure() {
         Rapp rapp = Rapp.builder().rappId(UUID.randomUUID()).name("").packageName(validRappFile)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        when(deploymentArtifactsService.configureDeploymentArtifacts(any())).thenReturn(true);
         when(acmDeployer.primeRapp(any())).thenReturn(false);
         when(dmeDeployer.primeRapp(any())).thenReturn(true);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.primeRapp(rapp).getStatusCode());
+        RappHandlerException rappHandlerException =
+                assertThrows(RappHandlerException.class, () -> rappService.primeRapp(rapp));
+        assertEquals(HttpStatus.BAD_GATEWAY, rappHandlerException.getStatusCode());
         assertEquals(RappState.COMMISSIONED, rapp.getState());
     }
 
@@ -90,12 +117,25 @@ class RappServiceTest {
     void testPrimeRappDmeFailure() {
         Rapp rapp = Rapp.builder().rappId(UUID.randomUUID()).name("").packageName(validRappFile)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        when(deploymentArtifactsService.configureDeploymentArtifacts(any())).thenReturn(true);
         when(acmDeployer.primeRapp(any())).thenReturn(true);
         when(dmeDeployer.primeRapp(any())).thenReturn(false);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.primeRapp(rapp).getStatusCode());
+        RappHandlerException rappHandlerException =
+                assertThrows(RappHandlerException.class, () -> rappService.primeRapp(rapp));
+        assertEquals(HttpStatus.BAD_GATEWAY, rappHandlerException.getStatusCode());
         assertEquals(RappState.COMMISSIONED, rapp.getState());
     }
 
+    @Test
+    void testPrimeRappDeployArtifactFailure() {
+        Rapp rapp = Rapp.builder().rappId(UUID.randomUUID()).name("").packageName(validRappFile)
+                            .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        when(deploymentArtifactsService.configureDeploymentArtifacts(any())).thenReturn(false);
+        RappHandlerException rappHandlerException =
+                assertThrows(RappHandlerException.class, () -> rappService.primeRapp(rapp));
+        assertEquals(HttpStatus.BAD_GATEWAY, rappHandlerException.getStatusCode());
+        assertEquals(RappState.COMMISSIONED, rapp.getState());
+    }
 
     @Test
     void testDeprimeRapp() {
@@ -103,6 +143,7 @@ class RappServiceTest {
                             .packageLocation(validCsarFileLocation).state(RappState.PRIMED).build();
         when(acmDeployer.deprimeRapp(any())).thenReturn(true);
         when(dmeDeployer.deprimeRapp(any())).thenReturn(true);
+        when(smeDeployer.deprimeRapp(any())).thenReturn(true);
         assertEquals(HttpStatus.OK, rappService.deprimeRapp(rapp).getStatusCode());
         assertEquals(RappState.COMMISSIONED, rapp.getState());
     }
@@ -113,7 +154,9 @@ class RappServiceTest {
                             .packageLocation(validCsarFileLocation).state(RappState.PRIMED).build();
         when(acmDeployer.deprimeRapp(any())).thenReturn(false);
         when(dmeDeployer.deprimeRapp(any())).thenReturn(true);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.deprimeRapp(rapp).getStatusCode());
+        RappHandlerException rappHandlerException =
+                assertThrows(RappHandlerException.class, () -> rappService.deprimeRapp(rapp));
+        assertEquals(HttpStatus.BAD_GATEWAY, rappHandlerException.getStatusCode());
         assertEquals(RappState.PRIMED, rapp.getState());
     }
 
@@ -123,7 +166,9 @@ class RappServiceTest {
                             .packageLocation(validCsarFileLocation).state(RappState.PRIMED).build();
         when(acmDeployer.deprimeRapp(any())).thenReturn(true);
         when(dmeDeployer.deprimeRapp(any())).thenReturn(false);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.deprimeRapp(rapp).getStatusCode());
+        RappHandlerException rappHandlerException =
+                assertThrows(RappHandlerException.class, () -> rappService.deprimeRapp(rapp));
+        assertEquals(HttpStatus.BAD_GATEWAY, rappHandlerException.getStatusCode());
         assertEquals(RappState.PRIMED, rapp.getState());
     }
 
@@ -171,19 +216,9 @@ class RappServiceTest {
         when(acmDeployer.deployRappInstance(any(), any())).thenReturn(true);
         when(smeDeployer.deployRappInstance(any(), any())).thenReturn(false);
         when(dmeDeployer.deployRappInstance(any(), any())).thenReturn(true);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.deployRappInstance(rapp, rappInstance).getStatusCode());
-    }
-
-    @Test
-    void testDeployRappInstanceDmeFailure() {
-        Rapp rapp = Rapp.builder().rappId(UUID.randomUUID()).name("").packageName(validRappFile)
-                            .packageLocation(validCsarFileLocation).state(RappState.PRIMED).build();
-        RappInstance rappInstance = new RappInstance();
-        rappInstanceStateMachine.onboardRappInstance(rappInstance.getRappInstanceId());
-        when(acmDeployer.deployRappInstance(any(), any())).thenReturn(true);
-        when(smeDeployer.deployRappInstance(any(), any())).thenReturn(true);
-        when(dmeDeployer.deployRappInstance(any(), any())).thenReturn(false);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.deployRappInstance(rapp, rappInstance).getStatusCode());
+        RappHandlerException rappHandlerException =
+                assertThrows(RappHandlerException.class, () -> rappService.deployRappInstance(rapp, rappInstance));
+        assertEquals(HttpStatus.BAD_GATEWAY, rappHandlerException.getStatusCode());
     }
 
     @Test
@@ -225,20 +260,9 @@ class RappServiceTest {
         when(acmDeployer.undeployRappInstance(any(), any())).thenReturn(true);
         when(smeDeployer.undeployRappInstance(any(), any())).thenReturn(false);
         when(dmeDeployer.undeployRappInstance(any(), any())).thenReturn(true);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.undeployRappInstance(rapp, rappInstance).getStatusCode());
-    }
-
-    @Test
-    void testUndeployRappInstanceDmeFailure() {
-        Rapp rapp = Rapp.builder().rappId(UUID.randomUUID()).name("").packageName(validRappFile)
-                            .packageLocation(validCsarFileLocation).state(RappState.PRIMED).build();
-        RappInstance rappInstance = new RappInstance();
-        rappInstance.setState(RappInstanceState.DEPLOYED);
-        rappInstanceStateMachine.onboardRappInstance(rappInstance.getRappInstanceId());
-        when(acmDeployer.undeployRappInstance(any(), any())).thenReturn(true);
-        when(smeDeployer.undeployRappInstance(any(), any())).thenReturn(true);
-        when(dmeDeployer.undeployRappInstance(any(), any())).thenReturn(false);
-        assertEquals(HttpStatus.BAD_GATEWAY, rappService.undeployRappInstance(rapp, rappInstance).getStatusCode());
+        RappHandlerException rappHandlerException =
+                assertThrows(RappHandlerException.class, () -> rappService.undeployRappInstance(rapp, rappInstance));
+        assertEquals(HttpStatus.BAD_GATEWAY, rappHandlerException.getStatusCode());
     }
 
     @Test