+/*
+ * ============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;
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;
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;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
-public class RappControllerTest {
+class RappControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
AcmDeployer acmDeployer;
+ @MockBean
+ DmeDeployer dmeDeployer;
+
@MockBean
SmeLifecycleManager smeLifecycleManager;
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)));
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()))
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)
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)
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());
}