X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=rapp-manager-acm%2Fsrc%2Ftest%2Fjava%2Fcom%2Foransc%2Frappmanager%2Facm%2Fservice%2FAcmDeployerTest.java;h=b866b5a3ee24bbc24e4a03555ce72f151ff4f787;hb=54dca75507277ff5bf3009d482e6bf0c8a053743;hp=928f4bcbaeed4f4b09c03f8fb32d5d2db2397e12;hpb=a071d6befe8d38a5e589dffbbf1dc3904ff3aa79;p=nonrtric%2Fplt%2Frappmanager.git diff --git a/rapp-manager-acm/src/test/java/com/oransc/rappmanager/acm/service/AcmDeployerTest.java b/rapp-manager-acm/src/test/java/com/oransc/rappmanager/acm/service/AcmDeployerTest.java index 928f4bc..b866b5a 100755 --- a/rapp-manager-acm/src/test/java/com/oransc/rappmanager/acm/service/AcmDeployerTest.java +++ b/rapp-manager-acm/src/test/java/com/oransc/rappmanager/acm/service/AcmDeployerTest.java @@ -33,14 +33,14 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.oransc.rappmanager.acm.configuration.ACMConfiguration; -import com.oransc.rappmanager.models.rapp.Rapp; +import com.oransc.rappmanager.models.cache.RappCacheService; import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler; +import com.oransc.rappmanager.models.rapp.Rapp; import com.oransc.rappmanager.models.rapp.RappEvent; -import com.oransc.rappmanager.models.rappinstance.RappInstance; import com.oransc.rappmanager.models.rapp.RappResourceBuilder; import com.oransc.rappmanager.models.rapp.RappResources; import com.oransc.rappmanager.models.rapp.RappState; -import com.oransc.rappmanager.models.cache.RappCacheService; +import com.oransc.rappmanager.models.rappinstance.RappInstance; import com.oransc.rappmanager.models.statemachine.RappInstanceStateMachine; import com.oransc.rappmanager.models.statemachine.RappInstanceStateMachineConfig; import java.io.IOException; @@ -71,7 +71,7 @@ import org.springframework.web.client.RestTemplate; RappInstanceStateMachine.class}) @TestInstance(TestInstance.Lifecycle.PER_CLASS) @AutoConfigureMockMvc -public class AcmDeployerTest { +class AcmDeployerTest { MockRestServiceServer mockServer; @SpyBean @@ -170,18 +170,36 @@ public class AcmDeployerTest { } @Test - void testDeployRappInstanceFailure() throws Exception { + void testDeployRappInstanceFailureWithNoInstanceId() throws JsonProcessingException { UUID compositionId = UUID.randomUUID(); UUID rappId = UUID.randomUUID(); - UUID instanceId = UUID.randomUUID(); Rapp rapp = Rapp.builder().name(rappId.toString()).packageName(validRappFile).compositionId(compositionId) .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build(); + RappInstance rappInstance = rappResourceBuilder.getRappInstance(); + 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))); + + boolean rappDeployStateActual = acmDeployer.deployRappInstance(rapp, rappInstance); + mockServer.verify(); + assertFalse(rappDeployStateActual); + } + + @Test + void testDeployRappInstanceFailure() { + UUID compositionId = UUID.randomUUID(); + UUID rappId = UUID.randomUUID(); + Rapp rapp = Rapp.builder().name(rappId.toString()).packageName(validRappFile).compositionId(compositionId) + .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build(); + RappInstance rappInstance = rappResourceBuilder.getRappInstance(); + rappInstanceStateMachine.onboardRappInstance(rappInstance.getRappInstanceId()); mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_ACM_INSTANCES, compositionId))) .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.BAD_GATEWAY)); - boolean rappDeployStateActual = acmDeployer.deployRappInstance(rapp, rappResourceBuilder.getRappInstance()); + boolean rappDeployStateActual = acmDeployer.deployRappInstance(rapp, rappInstance); mockServer.verify(); assertFalse(rappDeployStateActual); } @@ -287,8 +305,6 @@ public class AcmDeployerTest { boolean primeRapp = acmDeployer.primeRapp(rapp); mockServer.verify(); assertTrue(primeRapp); - assertEquals(RappState.PRIMED, rapp.getState()); - } @Test @@ -312,6 +328,23 @@ public class AcmDeployerTest { assertEquals(RappState.COMMISSIONED, rapp.getState()); } + @Test + void testPrimeRappFailureWithoutCompositionId() throws JsonProcessingException { + UUID compositionId = UUID.randomUUID(); + RappResources rappResources = rappResourceBuilder.getResources(); + Rapp rapp = Rapp.builder().rappId(UUID.randomUUID()).name("").packageName(validRappFile) + .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED) + .compositionId(compositionId).rappResources(rappResources).build(); + + CommissioningResponse commissioningResponseExpected = new CommissioningResponse(); + mockServer.expect(ExpectedCount.once(), requestTo(URI_ACM_COMPOSITIONS)).andExpect(method(HttpMethod.POST)) + .andRespond(withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON) + .body(objectMapper.writeValueAsString(commissioningResponseExpected))); + boolean primeRapp = acmDeployer.primeRapp(rapp); + mockServer.verify(); + assertFalse(primeRapp); + } + @Test void testDeprimeRapp() throws JsonProcessingException { UUID compositionId = UUID.randomUUID(); @@ -352,6 +385,14 @@ public class AcmDeployerTest { assertFalse(deprimeRapp); } + @Test + void testDeprimeExceptionRapp() { + Rapp rapp = Rapp.builder().rappId(UUID.randomUUID()).name("").packageName(validRappFile) + .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build(); + boolean deprimeRapp = acmDeployer.deprimeRapp(rapp); + assertFalse(deprimeRapp); + } + @Test void testDeleteComposition() throws JsonProcessingException { UUID compositionId = UUID.randomUUID();