Add validation for asd descriptor and invariant id
[nonrtric/plt/rappmanager.git] / rapp-manager-application / src / test / java / com / oransc / rappmanager / rest / RappControllerTest.java
index 50d62fa..6e7566d 100755 (executable)
@@ -1,3 +1,21 @@
+/*
+ * ============LICENSE_START======================================================================
+ * 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.rest;
 
 import static org.hamcrest.Matchers.hasSize;
@@ -8,7 +26,9 @@ 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.csar.AsdMetadata;
 import com.oransc.rappmanager.models.rapp.PrimeOrder;
 import com.oransc.rappmanager.models.rapp.Rapp;
 import com.oransc.rappmanager.models.rapp.RappPrimeOrder;
@@ -16,6 +36,7 @@ import com.oransc.rappmanager.models.rapp.RappState;
 import com.oransc.rappmanager.sme.service.SmeLifecycleManager;
 import java.io.File;
 import java.io.FileInputStream;
+import java.util.List;
 import java.util.UUID;
 import org.apache.http.entity.ContentType;
 import org.junit.jupiter.api.Test;
@@ -32,7 +53,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;
@@ -43,6 +64,9 @@ public class RappControllerTest {
     @MockBean
     AcmDeployer acmDeployer;
 
+    @MockBean
+    DmeDeployer dmeDeployer;
+
     @MockBean
     SmeLifecycleManager smeLifecycleManager;
 
@@ -60,6 +84,11 @@ public class RappControllerTest {
         UUID rappId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().rappId(rappId).name(String.valueOf(rappId)).packageName(validRappFile)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        AsdMetadata asdMetadata = new AsdMetadata();
+        asdMetadata.setDescriptorId(UUID.randomUUID().toString());
+        asdMetadata.setDescriptorInvariantId(UUID.randomUUID().toString());
+        asdMetadata.setDeploymentItems(List.of());
+        rapp.setAsdMetadata(asdMetadata);
         rappCacheService.putRapp(rapp);
         mockMvc.perform(MockMvcRequestBuilders.get("/rapps")).andExpect(status().isOk())
                 .andExpect(jsonPath("$", hasSize(1)));
@@ -70,6 +99,11 @@ public class RappControllerTest {
         UUID rappId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().rappId(rappId).name(String.valueOf(rappId)).packageName(validRappFile)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        AsdMetadata asdMetadata = new AsdMetadata();
+        asdMetadata.setDescriptorId(UUID.randomUUID().toString());
+        asdMetadata.setDescriptorInvariantId(UUID.randomUUID().toString());
+        asdMetadata.setDeploymentItems(List.of());
+        rapp.setAsdMetadata(asdMetadata);
         rappCacheService.putRapp(rapp);
         mockMvc.perform(MockMvcRequestBuilders.get("/rapps/{rapp_id}", rappId)).andExpect(status().isOk())
                 .andExpect(jsonPath("$.rappId").value(rappId.toString()))
@@ -107,8 +141,14 @@ public class RappControllerTest {
         UUID rappId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().rappId(rappId).name(String.valueOf(rappId)).packageName(validRappFile)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        AsdMetadata asdMetadata = new AsdMetadata();
+        asdMetadata.setDescriptorId(UUID.randomUUID().toString());
+        asdMetadata.setDescriptorInvariantId(UUID.randomUUID().toString());
+        asdMetadata.setDeploymentItems(List.of());
+        rapp.setAsdMetadata(asdMetadata);
         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)
@@ -131,8 +171,14 @@ public class RappControllerTest {
         UUID rappId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().rappId(rappId).name(String.valueOf(rappId)).packageName(validRappFile)
                             .packageLocation(validCsarFileLocation).state(RappState.PRIMED).build();
+        AsdMetadata asdMetadata = new AsdMetadata();
+        asdMetadata.setDescriptorId(UUID.randomUUID().toString());
+        asdMetadata.setDescriptorInvariantId(UUID.randomUUID().toString());
+        asdMetadata.setDeploymentItems(List.of());
+        rapp.setAsdMetadata(asdMetadata);
         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)
@@ -144,6 +190,11 @@ public class RappControllerTest {
         UUID rappId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().rappId(rappId).name(String.valueOf(rappId)).packageName(validRappFile)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        AsdMetadata asdMetadata = new AsdMetadata();
+        asdMetadata.setDescriptorId(UUID.randomUUID().toString());
+        asdMetadata.setDescriptorInvariantId(UUID.randomUUID().toString());
+        asdMetadata.setDeploymentItems(List.of());
+        rapp.setAsdMetadata(asdMetadata);
         rappCacheService.putRapp(rapp);
         mockMvc.perform(MockMvcRequestBuilders.delete("/rapps/{rapp_id}", rappId)).andExpect(status().isOk());
     }