diff options
Diffstat (limited to 'sdc-distribution-ci/src/test/java/org/onap/test/core/service/ClientInitializerTest.java')
-rw-r--r-- | sdc-distribution-ci/src/test/java/org/onap/test/core/service/ClientInitializerTest.java | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/sdc-distribution-ci/src/test/java/org/onap/test/core/service/ClientInitializerTest.java b/sdc-distribution-ci/src/test/java/org/onap/test/core/service/ClientInitializerTest.java index 40278b1..797009d 100644 --- a/sdc-distribution-ci/src/test/java/org/onap/test/core/service/ClientInitializerTest.java +++ b/sdc-distribution-ci/src/test/java/org/onap/test/core/service/ClientInitializerTest.java @@ -19,6 +19,8 @@ */ package org.onap.test.core.service; +import org.awaitility.Duration; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -26,17 +28,26 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.onap.sdc.impl.DistributionClientDownloadResultImpl; import org.onap.sdc.impl.DistributionClientImpl; import org.onap.test.core.config.DistributionClientConfig; import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testcontainers.containers.GenericContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; +import java.io.IOException; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; import static org.mockito.Mockito.verify; @Testcontainers @@ -47,12 +58,16 @@ class ClientInitializerTest { private static final int SUCCESSFUL_UNREGISTER_MSG_INDEX = 3; private static final int SUCCESSFUL_INIT_MSG_INDEX = 0; private static final int SUCCESSFUL_DIST_MSG_INDEX = 3; + private static final int EXPECTED_HEAT_ARTIFACTS = 4; private ClientInitializer clientInitializer; + private ClientNotifyCallback clientNotifyCallback; + private static final Logger testLog = LoggerFactory.getLogger(ClientInitializerTest.class); @Container public GenericContainer mockDmaap = new GenericContainer("registry.gitlab.com/orange-opensource/lfn/onap/mock_servers/mock-dmaap:latest") .withNetworkMode("host"); + @Container public GenericContainer mockSdc = new GenericContainer("registry.gitlab.com/orange-opensource/lfn/onap/mock_servers/mock-sdc:latest") .withNetworkMode("host"); @@ -62,13 +77,14 @@ class ClientInitializerTest { @Mock Logger distClientLog; + @BeforeEach public void initializeClient() { DistributionClientConfig clientConfig = new DistributionClientConfig(); List<ArtifactsValidator> validators = new ArrayList<>(); DistributionClientImpl client = new DistributionClientImpl(distClientLog); - ClientNotifyCallback callback = new ClientNotifyCallback(validators, client); - clientInitializer = new ClientInitializer(clientConfig, callback, client); + clientNotifyCallback = new ClientNotifyCallback(validators, client); + clientInitializer = new ClientInitializer(clientConfig, clientNotifyCallback, client); } @Test @@ -98,4 +114,28 @@ class ClientInitializerTest { assertThat(allValues.get(SUCCESSFUL_STOP_MSG_INDEX)).isEqualTo("stop DistributionClient"); assertThat(allValues.get(SUCCESSFUL_UNREGISTER_MSG_INDEX)).isEqualTo("client unregistered from topics successfully"); } -}
\ No newline at end of file + + @Test + public void shouldDownloadArtifactsWithArtifactTypeHeat() throws IOException, InterruptedException { + + //given + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("http://localhost:3904/events/testName/add")) + .POST(HttpRequest.BodyPublishers.ofFile(Paths.get("src/test/resources/artifacts.json"))) + .build(); + HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); + //when + clientInitializer.initialize(); + waitForArtifacts(); + List<DistributionClientDownloadResultImpl> calls = clientNotifyCallback.getPulledArtifacts(); + //then + Assertions.assertEquals(EXPECTED_HEAT_ARTIFACTS, calls.size()); + } + + private void waitForArtifacts() { + testLog.info("Waiting for artifacts"); + await() + .atMost(Duration.ONE_MINUTE) + .until(() -> !clientNotifyCallback.getPulledArtifacts().isEmpty()); + } +} |