Skip to content

Commit

Permalink
Merge pull request #706 from Netflix/junit-5
Browse files Browse the repository at this point in the history
Upgrade to junit 5.
The archaius2-test module remains tied to junit4 because it provides utilities for users of that framework.
  • Loading branch information
rgallardo-netflix committed Feb 26, 2024
2 parents 1bc5462 + fe68341 commit aa7e7ff
Show file tree
Hide file tree
Showing 39 changed files with 878 additions and 861 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
package com.netflix.archaius.bridge;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.netflix.archaius.guice.ArchaiusModule;
import com.netflix.config.ConfigurationManager;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.io.PrintWriter;
import java.io.StringWriter;

import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class AbstractConfigurationBridgeFailureTest {
public static class TestModule extends AbstractModule {
@Override
Expand All @@ -29,26 +30,23 @@ protected void configure() {
}
}

@Before
public void before() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
@BeforeEach
public void before() throws SecurityException {
StaticAbstractConfiguration.reset();
StaticDeploymentContext.reset();
}

@Test
public void testStaticInModule() {
try {
Guice.createInjector(
new TestModule(),
new BadModule());
Assert.fail();
} catch (Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
String stack = sw.toString();
Exception exception = assertThrows(Exception.class, () ->
Guice.createInjector(
new TestModule(),
new BadModule()));
StringWriter sw = new StringWriter();
exception.printStackTrace(new PrintWriter(sw));
String stack = sw.toString();

Assert.assertTrue(stack.contains("com.netflix.archaius.bridge.AbstractConfigurationBridgeFailureTest$BadModule"));
Assert.assertTrue(stack.contains("**** Remove static reference"));
}
assertTrue(stack.contains("com.netflix.archaius.bridge.AbstractConfigurationBridgeFailureTest$BadModule"));
assertTrue(stack.contains("**** Remove static reference"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.MapConfiguration;
import org.apache.commons.configuration.event.ConfigurationListener;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestName;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

import com.google.inject.AbstractModule;
Expand All @@ -28,6 +25,12 @@
import java.io.IOException;
import java.util.Properties;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNotSame;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class AbstractConfigurationBridgeTest extends BaseBridgeTest {
public static class TestModule extends AbstractModule {
private Properties properties;
Expand All @@ -47,17 +50,13 @@ protected void configure() {
bind(SomeClient.class).asEagerSingleton();
}
}

@Rule
public TestName testName = new TestName();

private static SettableConfig settable;
private static Injector injector;
private static AbstractConfiguration commonsConfig;
private static Config config;

@BeforeClass
public static void before() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
@BeforeAll
public static void before() {
final Properties props = new Properties();
props.setProperty("app.override.foo", "bar");
props.setProperty(ContextKey.environment.getKey(), "test");
Expand All @@ -73,16 +72,16 @@ protected void configure() {

config = injector.getInstance(Config.class);
settable = injector.getInstance(Key.get(SettableConfig.class, RuntimeLayer.class));
Assert.assertTrue(ConfigurationManager.isConfigurationInstalled());
assertTrue(ConfigurationManager.isConfigurationInstalled());
commonsConfig = ConfigurationManager.getConfigInstance();
Assert.assertEquals(StaticAbstractConfiguration.class, commonsConfig.getClass());
assertEquals(StaticAbstractConfiguration.class, commonsConfig.getClass());
}

@Test
public void testBasicWiring() {
SomeClient client = injector.getInstance(SomeClient.class);
Assert.assertNotNull(ConfigurationManager.getConfigInstance());
Assert.assertEquals("bar", client.fooValue);
assertNotNull(ConfigurationManager.getConfigInstance());
assertEquals("bar", client.fooValue);
}

@ConfigurationSource(value={"AbstractConfigurationBridgeTest_libA"})
Expand All @@ -94,52 +93,52 @@ static class LibB {
}

@Test
public void lastLoadedLibraryWins() throws IOException {
public void lastLoadedLibraryWins() {
Config config = injector.getInstance(Config.class);

injector.getInstance(LibA.class);

Assert.assertTrue(config.getBoolean("libA.loaded", false));
Assert.assertEquals("libA", config.getString("lib.override", null));
assertTrue(config.getBoolean("libA.loaded", false));
assertEquals("libA", config.getString("lib.override", null));

injector.getInstance(LibB.class);

Assert.assertTrue(config.getBoolean("libB.loaded", false));
Assert.assertEquals("libA", config.getString("lib.override", null));
assertTrue(config.getBoolean("libB.loaded", false));
assertEquals("libA", config.getString("lib.override", null));
}

@Test
public void basicBridgeTest() throws IOException {
DeploymentContext context1 = ConfigurationManager.getDeploymentContext();
Assert.assertNotNull(context1);
Assert.assertEquals("test", context1.getDeploymentEnvironment());
assertNotNull(context1);
assertEquals("test", context1.getDeploymentEnvironment());

AbstractConfiguration config1 = ConfigurationManager.getConfigInstance();
DeploymentContext contextDi = injector.getInstance(DeploymentContext.class);
Assert.assertNotSame(contextDi, context1);
assertNotSame(contextDi, context1);
ConfigurationManager.loadCascadedPropertiesFromResources("AbstractConfigurationBridgeTest_libA");
Assert.assertTrue(config1.getBoolean("libA.loaded", false));
Assert.assertEquals("libA", config1.getString("lib.override", null));
assertTrue(config1.getBoolean("libA.loaded", false));
assertEquals("libA", config1.getString("lib.override", null));

Config config2 = injector.getInstance(Config.class);
SettableConfig settable = injector.getInstance(Key.get(SettableConfig.class, RuntimeLayer.class));
settable.setProperty("@environment", "foo");

DeploymentContext context2 = ConfigurationManager.getDeploymentContext();

Assert.assertEquals("foo", ConfigurationManager.getDeploymentContext().getDeploymentEnvironment());
Assert.assertEquals("foo", context2.getDeploymentEnvironment());
Assert.assertNotSame(contextDi, context1);
Assert.assertEquals("foo", context1.getDeploymentEnvironment());
assertEquals("foo", ConfigurationManager.getDeploymentContext().getDeploymentEnvironment());
assertEquals("foo", context2.getDeploymentEnvironment());
assertNotSame(contextDi, context1);
assertEquals("foo", context1.getDeploymentEnvironment());

Assert.assertTrue(config2.getBoolean("libA.loaded", false));
Assert.assertEquals("libA", config2.getString("lib.override", null));
assertTrue(config2.getBoolean("libA.loaded", false));
assertEquals("libA", config2.getString("lib.override", null));

ConfigurationManager.loadCascadedPropertiesFromResources("AbstractConfigurationBridgeTest_libB");
Assert.assertTrue(config1.getBoolean("libB.loaded", false));
Assert.assertEquals("libA", config1.getString("lib.override", null));
Assert.assertTrue(config2.getBoolean("libB.loaded", false));
Assert.assertEquals("libA", config2.getString("lib.override", null));
assertTrue(config1.getBoolean("libB.loaded", false));
assertEquals("libA", config1.getString("lib.override", null));
assertTrue(config2.getBoolean("libB.loaded", false));
assertEquals("libA", config2.getString("lib.override", null));

}

Expand All @@ -155,16 +154,16 @@ public void testBridgePropertiesFromLegacyToNew() throws IOException {
Config config2 = injector.getInstance(Config.class);

ConfigurationManager.loadCascadedPropertiesFromResources("AbstractConfigurationBridgeTest_libA");
Assert.assertTrue(config1.getBoolean("libA.loaded", false));
Assert.assertEquals("libA", config1.getString("lib.override", null));
Assert.assertTrue(config2.getBoolean("libA.loaded", false));
Assert.assertEquals("libA", config2.getString("lib.override", null));
assertTrue(config1.getBoolean("libA.loaded", false));
assertEquals("libA", config1.getString("lib.override", null));
assertTrue(config2.getBoolean("libA.loaded", false));
assertEquals("libA", config2.getString("lib.override", null));

ConfigurationManager.loadCascadedPropertiesFromResources("AbstractConfigurationBridgeTest_libB");
Assert.assertTrue(config1.getBoolean("libB.loaded", false));
Assert.assertEquals("libA", config1.getString("lib.override", null));
Assert.assertTrue(config2.getBoolean("libB.loaded", false));
Assert.assertEquals("libA", config2.getString("lib.override", null));
assertTrue(config1.getBoolean("libB.loaded", false));
assertEquals("libA", config1.getString("lib.override", null));
assertTrue(config2.getBoolean("libB.loaded", false));
assertEquals("libA", config2.getString("lib.override", null));

}

Expand All @@ -179,12 +178,12 @@ public void confirmLegacyOverrideOrder() throws IOException {
AbstractConfiguration config = ConfigurationManager.getConfigInstance();

ConfigurationManager.loadCascadedPropertiesFromResources("AbstractConfigurationBridgeTest_libA");
Assert.assertTrue(config.getBoolean("libA.loaded", false));
Assert.assertEquals("libA", config.getString("lib.override", null));
assertTrue(config.getBoolean("libA.loaded", false));
assertEquals("libA", config.getString("lib.override", null));

ConfigurationManager.loadCascadedPropertiesFromResources("AbstractConfigurationBridgeTest_libB");
Assert.assertTrue(config.getBoolean("libB.loaded", false));
Assert.assertEquals("libA", config.getString("lib.override", null));
assertTrue(config.getBoolean("libB.loaded", false));
assertEquals("libA", config.getString("lib.override", null));

ConfigurationManager.loadCascadedPropertiesFromResources("AbstractConfigurationBridgeTest_libB");
}
Expand All @@ -200,9 +199,9 @@ public void confirmLegacyOverrideOrder() throws IOException {
public void confirmLegacyOverrideOrderResources() throws IOException, ConfigurationException {
super.confirmLegacyOverrideOrderResources();

Assert.assertEquals("libA", config.getString("lib.legacy.override"));
Assert.assertTrue(config.getBoolean("libA.legacy.loaded"));
Assert.assertTrue(config.getBoolean("libB.legacy.loaded"));
assertEquals("libA", config.getString("lib.legacy.override"));
assertTrue(config.getBoolean("libA.legacy.loaded"));
assertTrue(config.getBoolean("libB.legacy.loaded"));
}

/**
Expand All @@ -220,16 +219,16 @@ public void confirmLegacyOverrideOrderAddConfig() throws IOException {
p1.setProperty("libA.loaded", "true");
aggregatedConfig.addConfiguration(new MapConfiguration(p1));

Assert.assertTrue(aggregatedConfig.getBoolean("libA.loaded", false));
Assert.assertEquals("libA", aggregatedConfig.getString("lib.override", null));
assertTrue(aggregatedConfig.getBoolean("libA.loaded", false));
assertEquals("libA", aggregatedConfig.getString("lib.override", null));

Properties p2 = new Properties();
p2.setProperty("lib.override", "libB");
p2.setProperty("libB.loaded", "true");
aggregatedConfig.addConfiguration(new MapConfiguration(p2));

Assert.assertTrue(aggregatedConfig.getBoolean("libB.loaded", false));
Assert.assertEquals("libA", aggregatedConfig.getString("lib.override", null));
assertTrue(aggregatedConfig.getBoolean("libB.loaded", false));
assertEquals("libA", aggregatedConfig.getString("lib.override", null));
}

@Test
Expand All @@ -250,13 +249,13 @@ public void verifyValueInterpollation() {
AbstractConfiguration config = ConfigurationManager.getConfigInstance();
config.setProperty("foo", "${ABC:true}");
boolean value = config.getBoolean("foo");
Assert.assertTrue(value);
assertTrue(value);
}

@Test
public void verifyMissingProperty() {
AbstractConfiguration config = ConfigurationManager.getConfigInstance();
Boolean value = config.getBoolean("foo", null);
Assert.assertNull(value);
assertNull(value);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,22 @@

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;

import com.netflix.archaius.api.Config;
import com.netflix.config.AggregatedConfiguration;
import com.netflix.config.ConfigurationManager;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

import java.io.IOException;

import javax.inject.Inject;
import javax.inject.Singleton;

@Ignore
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

@Disabled
public class BaseBridgeTest {
@Singleton
public static class SomeClient {
Expand All @@ -34,16 +36,14 @@ public void confirmLegacyOverrideOrderResources() throws IOException, Configurat
ConfigurationManager.loadPropertiesFromConfiguration(
new PropertiesConfiguration("AbstractConfigurationBridgeTest_libA_legacy.properties"));

Assert.assertTrue(config.getBoolean("libA.legacy.loaded", false));
Assert.assertEquals("libA", config.getString("lib.legacy.override", null));
Assert.assertTrue(config.getBoolean("libA.legacy.loaded"));
assertTrue(config.getBoolean("libA.legacy.loaded", false));
assertEquals("libA", config.getString("lib.legacy.override", null));
assertTrue(config.getBoolean("libA.legacy.loaded"));

ConfigurationManager.loadPropertiesFromConfiguration(
new PropertiesConfiguration("AbstractConfigurationBridgeTest_libB_legacy.properties"));
Assert.assertTrue(config.getBoolean("libB.legacy.loaded", false));
Assert.assertEquals("libA", config.getString("lib.legacy.override", null));
Assert.assertTrue(config.getBoolean("libB.legacy.loaded"));

assertTrue(config.getBoolean("libB.legacy.loaded", false));
assertEquals("libA", config.getString("lib.legacy.override", null));
assertTrue(config.getBoolean("libB.legacy.loaded"));
}

}
Loading

0 comments on commit aa7e7ff

Please sign in to comment.