X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Ftest%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fconfiguration%2FApplicationConfigTest.java;h=34ebdf99943f24a644e3225618271f1483a8a04e;hb=8831a02bce715562f3cacce1691bf4d9d3af206b;hp=c8bbdfd24ef998dcbc2e839538beedf64ffa1f3d;hpb=7adad623a64bfbb96b3c73ed7c1d0d49aabff659;p=nonrtric.git diff --git a/policy-agent/src/test/java/org/oransc/policyagent/configuration/ApplicationConfigTest.java b/policy-agent/src/test/java/org/oransc/policyagent/configuration/ApplicationConfigTest.java index c8bbdfd2..34ebdf99 100644 --- a/policy-agent/src/test/java/org/oransc/policyagent/configuration/ApplicationConfigTest.java +++ b/policy-agent/src/test/java/org/oransc/policyagent/configuration/ApplicationConfigTest.java @@ -17,13 +17,17 @@ * limitations under the License. * ========================LICENSE_END=================================== */ + package org.oransc.policyagent.configuration; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.read.ListAppender; @@ -41,13 +45,16 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.Properties; +import java.util.Vector; -import org.junit.Test; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.CbsClient; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.EnvProperties; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.ImmutableEnvProperties; +import org.oransc.policyagent.exceptions.ServiceException; import org.oransc.policyagent.utils.LoggingUtils; import reactor.core.publisher.Flux; @@ -59,6 +66,12 @@ public class ApplicationConfigTest { private ApplicationConfig appConfigUnderTest; CbsClient cbsClient = mock(CbsClient.class); + public static final ImmutableRicConfig CORRECT_RIC_CONIFG = ImmutableRicConfig.builder() // + .name("ric1") // + .baseUrl("http://localhost:8080/") // + .managedElementIds(new Vector(Arrays.asList("kista_1", "kista_2"))) // + .build(); + private static EnvProperties properties() { return ImmutableEnvProperties.builder() // .consulHost("host") // @@ -68,6 +81,39 @@ public class ApplicationConfigTest { .build(); } + @Test + public void whenTheConfigurationFits() throws IOException, ServiceException { + + appConfigUnderTest = spy(ApplicationConfig.class); + appConfigUnderTest.systemEnvironment = new Properties(); + // When + doReturn(getCorrectJson()).when(appConfigUnderTest).createInputStream(any()); + appConfigUnderTest.initialize(); + + // Then + verify(appConfigUnderTest, times(1)).loadConfigurationFromFile(any()); + + Vector ricConfigs = appConfigUnderTest.getRicConfigs(); + RicConfig ricConfig = ricConfigs.firstElement(); + assertThat(ricConfigs).isNotNull(); + assertThat(ricConfig).isEqualTo(CORRECT_RIC_CONIFG); + } + + @Test + public void whenFileIsExistsButJsonIsIncorrect() throws IOException, ServiceException { + + appConfigUnderTest = spy(ApplicationConfig.class); + appConfigUnderTest.systemEnvironment = new Properties(); + + // When + doReturn(getIncorrectJson()).when(appConfigUnderTest).createInputStream(any()); + appConfigUnderTest.loadConfigurationFromFile(any()); + + // Then + verify(appConfigUnderTest, times(1)).loadConfigurationFromFile(any()); + Assertions.assertNull(appConfigUnderTest.getRicConfigs()); + } + @Test public void whenPeriodicConfigRefreshNoEnvironmentVariables() { @@ -140,4 +186,11 @@ public class ApplicationConfigTest { return new ByteArrayInputStream((string.getBytes(StandardCharsets.UTF_8))); } + private static InputStream getIncorrectJson() { + String string = "{" + // + " \"config\": {" + // + " \"ric\": {"; // + return new ByteArrayInputStream((string.getBytes(StandardCharsets.UTF_8))); + } + }