Merge "Pass rAppInstanceId to k8s participant and create the invoker with the instanc...
[nonrtric/plt/rappmanager.git] / rapp-manager-acm / src / test / java / com / oransc / rappmanager / acm / service / AcmDeployerTest.java
index aab5f34..5f6b509 100755 (executable)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START======================================================================
  * Copyright (C) 2023 Nordix Foundation. All rights reserved.
- * Copyright (C) 2023 OpenInfra Foundation Europe. 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.
@@ -37,6 +37,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.oransc.rappmanager.acm.configuration.ACMConfiguration;
 import com.oransc.rappmanager.dme.service.DmeAcmInterceptor;
 import com.oransc.rappmanager.models.cache.RappCacheService;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
 import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
 import com.oransc.rappmanager.models.rapp.Rapp;
 import com.oransc.rappmanager.models.rapp.RappEvent;
@@ -78,8 +79,8 @@ import org.springframework.web.client.RestTemplate;
 
 @SpringBootTest(
         classes = {BeanTestConfiguration.class, ACMConfiguration.class, AcmDeployer.class, DmeAcmInterceptor.class,
-                RappCsarConfigurationHandler.class, RappCacheService.class, RappInstanceStateMachineConfig.class,
-                RappInstanceStateMachine.class})
+                RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class, RappCacheService.class,
+                RappInstanceStateMachineConfig.class, RappInstanceStateMachine.class})
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 @AutoConfigureMockMvc
 class AcmDeployerTest {
@@ -163,7 +164,6 @@ class AcmDeployerTest {
     void testDeployRappInstance() throws Exception {
 
         UUID compositionId = UUID.randomUUID();
-        UUID rappId = UUID.randomUUID();
         UUID instanceId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().name("").packageName(validRappFile).compositionId(compositionId)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
@@ -183,10 +183,33 @@ class AcmDeployerTest {
         mockServer.verify();
     }
 
+    @Test
+    void testDeployRappInstanceWithoutDmeInjection() throws Exception {
+
+        UUID compositionId = UUID.randomUUID();
+        UUID instanceId = UUID.randomUUID();
+        Rapp rapp = Rapp.builder().name("").packageName(validRappFile).compositionId(compositionId)
+                            .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
+        RappInstance rappInstance = rappResourceBuilder.getRappInstance();
+        rappInstance.setDme(null);
+        rappInstanceStateMachine.onboardRappInstance(rappInstance.getRappInstanceId());
+        InstantiationResponse instantiationResponse = new InstantiationResponse();
+        instantiationResponse.setInstanceId(instanceId);
+        mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_ACM_INSTANCES, compositionId)))
+                .andExpect(method(HttpMethod.POST)).andRespond(
+                        withStatus(HttpStatus.ACCEPTED).contentType(MediaType.APPLICATION_JSON)
+                                .body(objectMapper.writeValueAsString(instantiationResponse)));
+        mockServer.expect(ExpectedCount.once(),
+                        requestTo(acmConfiguration.getBaseUrl() + "compositions/" + compositionId + "/instances/" + instanceId))
+                .andExpect(method(HttpMethod.PUT)).andRespond(withStatus(HttpStatus.ACCEPTED));
+        boolean rappDeployStateActual = acmDeployer.deployRappInstance(rapp, rappInstance);
+        assertTrue(rappDeployStateActual);
+        mockServer.verify();
+    }
+
     @Test
     void testDeployRappInstanceFailureWithNoInstanceId() throws JsonProcessingException {
         UUID compositionId = UUID.randomUUID();
-        UUID rappId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().name("").packageName(validRappFile).compositionId(compositionId)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
         RappInstance rappInstance = rappResourceBuilder.getRappInstance();
@@ -205,7 +228,6 @@ class AcmDeployerTest {
     @Test
     void testDeployRappInstanceFailure() {
         UUID compositionId = UUID.randomUUID();
-        UUID rappId = UUID.randomUUID();
         Rapp rapp = Rapp.builder().name("").packageName(validRappFile).compositionId(compositionId)
                             .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
         RappInstance rappInstance = rappResourceBuilder.getRappInstance();