Add reason for rApp priming/depriming failures
[nonrtric/plt/rappmanager.git] / rapp-manager-application / src / test / java / com / oransc / rappmanager / rest / RappControllerTest.java
index 896eef3..072e205 100755 (executable)
@@ -1,5 +1,6 @@
 package com.oransc.rappmanager.rest;
 
+import static org.hamcrest.Matchers.hasSize;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
@@ -7,11 +8,13 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.oransc.rappmanager.acm.service.AcmDeployer;
+import com.oransc.rappmanager.dme.service.DmeDeployer;
+import com.oransc.rappmanager.models.cache.RappCacheService;
 import com.oransc.rappmanager.models.rapp.PrimeOrder;
 import com.oransc.rappmanager.models.rapp.Rapp;
 import com.oransc.rappmanager.models.rapp.RappPrimeOrder;
 import com.oransc.rappmanager.models.rapp.RappState;
-import com.oransc.rappmanager.models.cache.RappCacheService;
+import com.oransc.rappmanager.sme.service.SmeLifecycleManager;
 import java.io.File;
 import java.io.FileInputStream;
 import java.util.UUID;
@@ -30,7 +33,7 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
 
 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 @AutoConfigureMockMvc
-public class RappControllerTest {
+class RappControllerTest {
 
     @Autowired
     private MockMvc mockMvc;
@@ -41,6 +44,12 @@ public class RappControllerTest {
     @MockBean
     AcmDeployer acmDeployer;
 
+    @MockBean
+    DmeDeployer dmeDeployer;
+
+    @MockBean
+    SmeLifecycleManager smeLifecycleManager;
+
     private final String validRappFile = "valid-rapp-package.csar";
 
     private final String invalidRappFile = "invalid-rapp-package.csar";
@@ -50,7 +59,14 @@ public class RappControllerTest {
 
     @Test
     void testGetRapps() throws Exception {
-        mockMvc.perform(MockMvcRequestBuilders.get("/rapps")).andExpect(status().isOk());
+        mockMvc.perform(MockMvcRequestBuilders.get("/rapps")).andExpect(status().isOk())
+                .andExpect(jsonPath("$", hasSize(0)));
+        UUID rappId = UUID.randomUUID();
+        Rapp rapp = Rapp.builder().rappId(rappId).name(String.valueOf(rappId)).packageName(validRappFile)
+                            .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        rappCacheService.putRapp(rapp);
+        mockMvc.perform(MockMvcRequestBuilders.get("/rapps")).andExpect(status().isOk())
+                .andExpect(jsonPath("$", hasSize(1)));
     }
 
     @Test
@@ -67,7 +83,7 @@ public class RappControllerTest {
     @Test
     void testGetInvalidRapp() throws Exception {
         mockMvc.perform(MockMvcRequestBuilders.get("/rapps/{rapp_id}", UUID.randomUUID()))
-                .andExpect(status().isBadRequest());
+                .andExpect(status().isNotFound());
     }
 
     @Test
@@ -97,6 +113,7 @@ public class RappControllerTest {
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
         rappCacheService.putRapp(rapp);
         when(acmDeployer.primeRapp(any())).thenReturn(true);
+        when(dmeDeployer.primeRapp(any())).thenReturn(true);
         RappPrimeOrder rappPrimeOrder = new RappPrimeOrder();
         rappPrimeOrder.setPrimeOrder(PrimeOrder.PRIME);
         mockMvc.perform(MockMvcRequestBuilders.put("/rapps/{rapp_id}", rappId).contentType(MediaType.APPLICATION_JSON)
@@ -121,6 +138,7 @@ public class RappControllerTest {
                             .packageLocation(validCsarFileLocation).state(RappState.PRIMED).build();
         rappCacheService.putRapp(rapp);
         when(acmDeployer.deprimeRapp(any())).thenReturn(true);
+        when(dmeDeployer.deprimeRapp(any())).thenReturn(true);
         RappPrimeOrder rappPrimeOrder = new RappPrimeOrder();
         rappPrimeOrder.setPrimeOrder(PrimeOrder.DEPRIME);
         mockMvc.perform(MockMvcRequestBuilders.put("/rapps/{rapp_id}", rappId).contentType(MediaType.APPLICATION_JSON)