diff --git a/org.eclipse.sisu.inject/bnd.bnd b/org.eclipse.sisu.inject/bnd.bnd index 49b6ceca..efae3b2a 100644 --- a/org.eclipse.sisu.inject/bnd.bnd +++ b/org.eclipse.sisu.inject/bnd.bnd @@ -8,6 +8,9 @@ Main-Class: org.eclipse.sisu.launch.Main Import-Package: com.google.inject.servlet;resolution:=optional,\ javax.servlet.*;resolution:=optional,\ org.slf4j.*;resolution:=optional,\ + org.junit.jupiter.api.*;resolution:=optional,\ + org.junit.jupiter.params.*;resolution:=optional,\ + org.junit.platform.*;resolution:=optional,\ org.junit.*;resolution:=optional,\ junit.framework.*;resolution:=optional,\ org.testng.*;resolution:=optional,\ diff --git a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/AssistedTestCase.java b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/AssistedTestCase.java index b7a34f6c..0b4fb02d 100644 --- a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/AssistedTestCase.java +++ b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/AssistedTestCase.java @@ -10,6 +10,9 @@ *******************************************************************************/ package org.eclipse.sisu.launch; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.inject.Binder; import com.google.inject.Key; import com.google.inject.assistedinject.Assisted; @@ -18,12 +21,9 @@ import javax.inject.Inject; import javax.inject.Named; import org.eclipse.sisu.inject.BeanLocator; +import org.junit.jupiter.api.Test; -/** - * Still JUnit3 based test - * Execute with JUnit3 runner. - */ -public final class AssistedTestCase extends InjectedTestCase { +public class AssistedTestCase extends InjectedTest { interface FooFactory { Foo create(int port); } @@ -59,6 +59,7 @@ public void configure(final Properties properties) { @Inject BeanLocator beanLocator; + @Test public void testAssistedInject() { Foo bean = beanFactory.create(8080); assertTrue(bean instanceof AssistedFoo); diff --git a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom1TestCase.java b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom1TestCase.java index 3cd1b259..ec43f5cd 100644 --- a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom1TestCase.java +++ b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom1TestCase.java @@ -10,14 +10,16 @@ *******************************************************************************/ package org.eclipse.sisu.launch; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.inject.Binder; import javax.inject.Inject; +import org.junit.jupiter.api.Test; /** - * Still JUnit3 based test - * Execute with JUnit3 runner. + * Migrated to JUnit 5. */ -public final class Custom1TestCase extends InjectedTestCase { +public class Custom1TestCase extends InjectedTest { @Override public void configure(final Binder binder) { // override automatic binding @@ -27,6 +29,7 @@ public void configure(final Binder binder) { @Inject Foo bean; + @Test public void testPerTestCaseCustomization() { assertTrue(bean instanceof NamedFoo); } diff --git a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom3TestCase.java b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom3TestCase.java index a6b57934..b8a8cd82 100644 --- a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom3TestCase.java +++ b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/Custom3TestCase.java @@ -10,15 +10,18 @@ *******************************************************************************/ package org.eclipse.sisu.launch; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.util.Properties; import javax.inject.Inject; import javax.inject.Named; +import org.junit.jupiter.api.Test; /** - * Still JUnit3 based test - * Execute with JUnit3 runner. + * Migrated to JUnit 5. */ -public final class Custom3TestCase extends InjectedTestCase { +public class Custom3TestCase extends InjectedTest { @Override public void configure(final Properties properties) { properties.put("hint", "NameTag"); @@ -33,6 +36,7 @@ public void configure(final Properties properties) { @Named("${port}") int port; + @Test public void testPerTestCaseCustomization() { assertTrue(bean instanceof NamedAndTaggedFoo); diff --git a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/ExampleTestCase.java b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/ExampleTestCase.java index 667003c7..b53e0f11 100644 --- a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/ExampleTestCase.java +++ b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/ExampleTestCase.java @@ -10,17 +10,21 @@ *******************************************************************************/ package org.eclipse.sisu.launch; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.inject.name.Names; import java.io.File; import java.util.Map; import javax.inject.Inject; import javax.inject.Named; +import org.junit.jupiter.api.Test; /** - * Still JUnit3 based test - * Execute with JUnit3 runner. + * Migrated to JUnit 5. */ -public final class ExampleTestCase extends InjectedTestCase { +public class ExampleTestCase extends InjectedTest { @Inject @Named("${basedir}") String basedir; @@ -29,6 +33,7 @@ public final class ExampleTestCase extends InjectedTestCase { @Named("${basedir}/target/test-classes/org/eclipse/sisu/launch/inject.properties") File propertiesFile; + @Test public void testBasedir() { assertEquals(getBasedir(), basedir); assertTrue(propertiesFile.isFile()); @@ -40,6 +45,7 @@ public void testBasedir() { @Inject Map beans; + @Test public void testInjection() { assertTrue(bean instanceof DefaultFoo); @@ -53,6 +59,7 @@ public void testInjection() { assertTrue(bean == beans.get("default")); } + @Test public void testContainerLookup() { assertTrue(lookup(Foo.class) instanceof DefaultFoo); assertTrue(lookup(Foo.class, Named.class) instanceof DefaultFoo); diff --git a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/PrivateModuleTestCase.java b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/PrivateModuleTestCase.java index cba3dfbb..a7bbcc79 100644 --- a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/PrivateModuleTestCase.java +++ b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/PrivateModuleTestCase.java @@ -10,18 +10,21 @@ *******************************************************************************/ package org.eclipse.sisu.launch; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.inject.Binder; import com.google.inject.PrivateModule; import com.google.inject.name.Names; import java.util.Properties; import javax.inject.Inject; import javax.inject.Named; +import org.junit.jupiter.api.Test; /** - * Still JUnit3 based test - * Execute with JUnit3 runner. + * JUnit 5 version. */ -public final class PrivateModuleTestCase extends InjectedTestCase { +public final class PrivateModuleTestCase extends InjectedTest { static class PrivateFoo implements Foo { final String host; @@ -80,6 +83,7 @@ public void configure(final Properties properties) { @Named("B") Foo beanB; + @Test public void testAssistedInject() { assertTrue(bean instanceof PrivateFoo); assertEquals("127.0.0.1", ((PrivateFoo) bean).host); diff --git a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/RequireBindingsTestCase.java b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/RequireBindingsTestCase.java index 1e9fad9a..c50eabbd 100644 --- a/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/RequireBindingsTestCase.java +++ b/org.eclipse.sisu.inject/src/test/java/org/eclipse/sisu/launch/RequireBindingsTestCase.java @@ -10,14 +10,16 @@ *******************************************************************************/ package org.eclipse.sisu.launch; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import com.google.inject.Binder; import javax.inject.Inject; +import org.junit.jupiter.api.Test; /** - * Still JUnit3 based test - * Execute with JUnit3 runner. + * JUnit 5 version. */ -public final class RequireBindingsTestCase extends InjectedTestCase { +public final class RequireBindingsTestCase extends InjectedTest { @Override public void configure(final Binder binder) { binder.requireExplicitBindings(); @@ -26,6 +28,7 @@ public void configure(final Binder binder) { @Inject Foo bean; + @Test public void testRequireExplicitBindings() { assertNotNull(bean); } diff --git a/org.eclipse.sisu.mojos/pom.xml b/org.eclipse.sisu.mojos/pom.xml index cef66494..27bd480d 100644 --- a/org.eclipse.sisu.mojos/pom.xml +++ b/org.eclipse.sisu.mojos/pom.xml @@ -92,11 +92,6 @@ org.codehaus.plexus plexus-build-api - - junit - junit - test - diff --git a/org.eclipse.sisu.plexus/pom.xml b/org.eclipse.sisu.plexus/pom.xml index e0a1b8dd..80f7efa2 100644 --- a/org.eclipse.sisu.plexus/pom.xml +++ b/org.eclipse.sisu.plexus/pom.xml @@ -97,6 +97,12 @@ provided true + + org.junit.jupiter + junit-jupiter-api + provided + true + org.slf4j slf4j-simple diff --git a/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/basic/EnumConverterTest.java b/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/basic/EnumConverterTest.java index e46fa285..6ce23165 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/basic/EnumConverterTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/basic/EnumConverterTest.java @@ -6,9 +6,9 @@ *******************************************************************************/ package org.codehaus.plexus.component.configurator.converters.basic; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.nio.file.StandardCopyOption; @@ -16,7 +16,7 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator; import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class EnumConverterTest { @Test diff --git a/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/MapConverterTest.java b/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/MapConverterTest.java index 420eff32..c3500a72 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/MapConverterTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/MapConverterTest.java @@ -6,9 +6,9 @@ *******************************************************************************/ package org.codehaus.plexus.component.configurator.converters.composite; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.util.HashMap; @@ -17,7 +17,7 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator; import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class MapConverterTest { @Test diff --git a/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/PropertiesConverterTest.java b/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/PropertiesConverterTest.java index 53abb01c..31db4da0 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/PropertiesConverterTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/codehaus/plexus/component/configurator/converters/composite/PropertiesConverterTest.java @@ -6,9 +6,9 @@ *******************************************************************************/ package org.codehaus.plexus.component.configurator.converters.composite; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.util.Properties; @@ -16,7 +16,7 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator; import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class PropertiesConverterTest { @Test @@ -56,7 +56,7 @@ public File alignToBaseDirectory(File path) { null); assertTrue(object instanceof Properties); Properties result = (Properties) object; - assertTrue(result.size() == 2); + assertEquals(2, result.size()); assertEquals("value1", result.getProperty("key1")); assertEquals("value2", result.getProperty("key2")); } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ArrayConstantTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ArrayConstantTest.java index 12254872..a03afe98 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ArrayConstantTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ArrayConstantTest.java @@ -10,18 +10,22 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; + import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.name.Names; import java.net.URI; -import java.util.Arrays; import javax.inject.Inject; import javax.inject.Named; -import junit.framework.TestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class ArrayConstantTest { -public class ArrayConstantTest extends TestCase { - @Override - protected void setUp() throws Exception { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { private void bind(final String name, final String value) { bindConstant().annotatedWith(Names.named(name)).to(value); @@ -74,26 +78,29 @@ protected void configure() { @Named("Multi") double[][] multi2; + @Test public void testEmptyArray() { assertEquals(0, empty.length); } - @SuppressWarnings("boxing") + @Test public void testCustomArray() { - assertTrue(Arrays.equals(new Object[] {true, URI.create("file:temp"), 8.1f}, custom)); + assertArrayEquals(new Object[] {true, URI.create("file:temp"), 8.1f}, custom); } + @Test public void testStringArray() { - assertTrue(Arrays.equals(new String[] {"1", "2", "3"}, text)); + assertArrayEquals(new String[] {"1", "2", "3"}, text); } + @Test public void testPrimitiveArray() { - assertTrue(Arrays.equals(new int[] {4, 5, 6}, numbers)); + assertArrayEquals(new int[] {4, 5, 6}, numbers); } - @SuppressWarnings("boxing") + @Test public void testMultiArrays() { - assertTrue(Arrays.deepEquals(new Integer[][] {{1, 2}, {3, 4}, {5, 6}}, multi1)); - assertTrue(Arrays.deepEquals(new double[][] {{1, 2}, {3, 4}, {5, 6}}, multi2)); + assertArrayEquals(new Integer[][] {{1, 2}, {3, 4}, {5, 6}}, multi1); + assertArrayEquals(new double[][] {{1, 2}, {3, 4}, {5, 6}}, multi2); } } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BasicComponentConfiguratorTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BasicComponentConfiguratorTest.java index 326eba9f..2ebd5a7f 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BasicComponentConfiguratorTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BasicComponentConfiguratorTest.java @@ -6,10 +6,10 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import java.io.File; import java.io.IOException; @@ -40,18 +40,18 @@ import org.codehaus.plexus.component.configurator.expression.TypeAwareExpressionEvaluator; import org.codehaus.plexus.configuration.DefaultPlexusConfiguration; import org.codehaus.plexus.configuration.PlexusConfiguration; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; public class BasicComponentConfiguratorTest { - @Rule - public TemporaryFolder tmpDirectory = new TemporaryFolder(); + + @TempDir + Path tmpDirectory; private ComponentConfigurator configurator; - @Before + @BeforeEach public void setUp() { configurator = new BasicComponentConfigurator(); } @@ -70,11 +70,10 @@ public void testSimplePathOnDefaultFileSystem() throws ComponentConfigurationExc "readme.txt", "absoluteFile", absolutePath.toString()); - // path must be converted to absolute one - assertEquals(tmpDirectory.getRoot().toPath().resolve("readme.txt"), component.path); + assertEquals(tmpDirectory.resolve("readme.txt"), component.path); assertEquals(FileSystems.getDefault(), component.path.getFileSystem()); assertEquals(absolutePath, component.absolutePath); - assertEquals(new File(tmpDirectory.getRoot(), "readme.txt"), component.file); + assertEquals(tmpDirectory.resolve("readme.txt").toFile(), component.file); assertEquals(absolutePath.toFile(), component.absoluteFile); } @@ -213,9 +212,9 @@ public void testConfigureComplexBean() throws Exception { config, new ClassWorld("foo", Thread.currentThread().getContextClassLoader()).getClassRealm("foo")); - assertEquals(complexBean.resources.size(), 2); - assertTrue(complexBean.resources.toString(), complexBean.resources.contains(Resource.newResource("foo"))); - assertTrue(complexBean.resources.toString(), complexBean.resources.contains(Resource.newResource("bar"))); + assertEquals(2, complexBean.resources.size()); + assertTrue(complexBean.resources.contains(Resource.newResource("foo")), complexBean.resources.toString()); + assertTrue(complexBean.resources.contains(Resource.newResource("bar")), complexBean.resources.toString()); } private void configure(Object component, String... keysAndValues) throws ComponentConfigurationException { @@ -247,7 +246,7 @@ private void configure( @Override public File alignToBaseDirectory(File path) { if (!path.isAbsolute()) { - return new File(tmpDirectory.getRoot(), path.getPath()); + return tmpDirectory.resolve(path.getPath()).toFile(); } else { return path; } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BeanConstantTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BeanConstantTest.java index a5fcc757..dd55d048 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BeanConstantTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/BeanConstantTest.java @@ -10,6 +10,9 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + import com.google.inject.AbstractModule; import com.google.inject.ConfigurationException; import com.google.inject.Guice; @@ -22,11 +25,13 @@ import java.util.Calendar; import java.util.Date; import javax.inject.Inject; -import junit.framework.TestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class BeanConstantTest { -public class BeanConstantTest extends TestCase { - @Override - protected void setUp() throws Exception { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { private void bindBean(final String name, final String clazzName, final String content) { final String xml = "" + content + ""; @@ -91,14 +96,17 @@ public BrokenStringConstructor(final String text) { @Inject Injector injector; + @Test public void testEmptyBeanConversion() { assertEquals(EmptyBean.class, getBean("EmptyBean", Object.class).getClass()); } + @Test public void testMissingType() { testFailedConversion("MissingType", EmptyBean.class); } + @Test public void testPeerClassLoader1() { final ClassLoader tccl = Thread.currentThread().getContextClassLoader(); try { @@ -109,6 +117,7 @@ public void testPeerClassLoader1() { } } + @Test public void testPeerClassLoader2() { final ClassLoader tccl = Thread.currentThread().getContextClassLoader(); try { @@ -119,53 +128,63 @@ public void testPeerClassLoader2() { } } + @Test public void testBeanWithPropertiesConversion() { final BeanWithProperties beanWithProperties = (BeanWithProperties) getBean("BeanWithProperty", Object.class); assertEquals(4.2f, beanWithProperties.value, 0f); - assertEquals(beanWithProperties.text.length(), 0); + assertEquals(0, beanWithProperties.text.length()); } + @Test public void testMissingPropertyConversion() { testFailedConversion("MissingProperty", Object.class); } + @Test public void testStringXMLConversion() { final PlexusBeanConverter configurator = injector.getInstance(PlexusBeanConverter.class); assertEquals( + 0, configurator .convert(TypeLiteral.get(String.class), "") - .length(), - 0); + .length()); } + @Test public void testMissingDefaultConstructor() { testFailedConversion("MissingDefaultConstructor", Object.class); } + @Test public void testBrokenDefaultConstructor() { testFailedConversion("BrokenDefaultConstructor", Object.class); } + @Test public void testMissingStringConstructor() { testFailedConversion("MissingStringConstructor", Object.class); } + @Test public void testBrokenStringConstructor() { testFailedConversion("BrokenStringConstructor", Object.class); } + @Test public void testSimpleFileBean() { assertEquals( "readme.txt", injector.getInstance(Key.get(File.class, Names.named("README"))).getName()); } + @Test public void testSimpleUrlBean() { assertEquals( "www.sonatype.org", injector.getInstance(Key.get(URL.class, Names.named("SITE"))).getHost()); } + @Test public void testNonBean() { final Calendar calendar = Calendar.getInstance(); calendar.setTime(injector.getInstance(Key.get(Date.class, Names.named("DATE")))); @@ -174,7 +193,7 @@ public void testNonBean() { assertEquals(2009, calendar.get(Calendar.YEAR)); } - @SuppressWarnings("boxing") + @Test public void testConfigurator() { final PlexusBeanConverter configurator = injector.getInstance(PlexusBeanConverter.class); final float value = configurator.convert(TypeLiteral.get(float.class), "4.2"); @@ -186,10 +205,6 @@ private Object getBean(final String bindingName, final Class clazz) { } private void testFailedConversion(final String bindingName, final Class clazz) { - try { - getBean(bindingName, clazz); - fail("Expected ConfigurationException"); - } catch (final ConfigurationException e) { - } + assertThrows(ConfigurationException.class, () -> getBean(bindingName, clazz)); } } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ClassRealmConverterTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ClassRealmConverterTest.java index c72a22b0..b5d75aaa 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ClassRealmConverterTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ClassRealmConverterTest.java @@ -10,12 +10,15 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; -import junit.framework.TestCase; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.component.configurator.converters.special.ClassRealmConverter; +import org.junit.jupiter.api.Test; -public class ClassRealmConverterTest extends TestCase { +public class ClassRealmConverterTest { + @Test public void testClassRealmStack() throws Exception { final ClassWorld world = new ClassWorld(); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/CollectionConstantTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/CollectionConstantTest.java index 1054254a..76de7351 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/CollectionConstantTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/CollectionConstantTest.java @@ -10,6 +10,10 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.name.Names; @@ -22,11 +26,13 @@ import java.util.Set; import javax.inject.Inject; import javax.inject.Named; -import junit.framework.TestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class CollectionConstantTest { -public class CollectionConstantTest extends TestCase { - @Override - protected void setUp() throws Exception { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { private void bind(final String name, final String value) { bindConstant().annotatedWith(Names.named(name)).to(value); @@ -72,10 +78,12 @@ protected void configure() { @Named("Numbers") Collection> numbers; + @Test public void testEmptyCollection() { assertTrue(empty.isEmpty()); } + @Test public void testCustomCollections() { assertEquals(LinkedHashSet.class, custom.getClass()); final Iterator i = custom.iterator(); @@ -84,10 +92,12 @@ public void testCustomCollections() { assertFalse(i.hasNext()); } + @Test public void testStringCollection() { assertEquals(Arrays.asList("cat", "dog", "aardvark"), animals); } + @Test @SuppressWarnings({"unchecked", "boxing"}) public void testPrimitiveCollection() { assertEquals(Arrays.asList(Arrays.asList(1, 2), Arrays.asList(3, 4), Arrays.asList(5, 6)), numbers); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ComponentAnnotationTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ComponentAnnotationTest.java index 00c0f989..c9859f4e 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ComponentAnnotationTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ComponentAnnotationTest.java @@ -10,12 +10,17 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.util.Arrays; import java.util.HashSet; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Component; +import org.junit.jupiter.api.Test; -public class ComponentAnnotationTest extends TestCase { +public class ComponentAnnotationTest { interface A {} @Component(role = A.class) @@ -42,6 +47,7 @@ static class Simple2 extends Simple {} @Component(role = Simple.class, isolatedRealm = true) static class Simple3 extends Simple {} + @Test public void testComponentImpl() throws ClassNotFoundException { checkBehaviour("DefaultA"); checkBehaviour("NamedA"); @@ -89,6 +95,7 @@ private static Component replicate(final Component orig) { return new ComponentImpl(orig.role(), orig.hint(), orig.instantiationStrategy(), orig.description()); } + @Test public void testNullChecks() { checkNullNotAllowed(null, "", "", ""); checkNullNotAllowed(Object.class, null, "", ""); @@ -98,10 +105,7 @@ public void testNullChecks() { private static void checkNullNotAllowed( final Class role, final String hint, final String instantationStrategy, final String description) { - try { - new ComponentImpl(role, hint, instantationStrategy, description); - fail("Expected IllegalArgumentException"); - } catch (final IllegalArgumentException e) { - } + assertThrows( + IllegalArgumentException.class, () -> new ComponentImpl(role, hint, instantationStrategy, description)); } } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ConfigurationAnnotationTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ConfigurationAnnotationTest.java index 7086da7d..921d3341 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ConfigurationAnnotationTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ConfigurationAnnotationTest.java @@ -10,12 +10,17 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.util.Arrays; import java.util.HashSet; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Configuration; +import org.junit.jupiter.api.Test; -public class ConfigurationAnnotationTest extends TestCase { +public class ConfigurationAnnotationTest { @Configuration("Default") String defaultConfig; @@ -25,6 +30,7 @@ public class ConfigurationAnnotationTest extends TestCase { @Configuration("${property}") String propertyConfig; + @Test public void testConfigurationImpl() throws NoSuchFieldException { checkBehaviour("defaultConfig"); checkBehaviour("namedConfig"); @@ -64,16 +70,13 @@ private static Configuration replicate(final Configuration orig) { return new ConfigurationImpl(orig.name(), orig.value()); } + @Test public void testNullChecks() { checkNullNotAllowed(null, ""); checkNullNotAllowed("", null); } private static void checkNullNotAllowed(final String name, final String value) { - try { - new ConfigurationImpl(name, value); - fail("Expected IllegalArgumentException"); - } catch (final IllegalArgumentException e) { - } + assertThrows(IllegalArgumentException.class, () -> new ConfigurationImpl(name, value)); } } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DateConstantTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DateConstantTest.java index 9ef2e032..1f329738 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DateConstantTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DateConstantTest.java @@ -10,6 +10,9 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + import com.google.inject.AbstractModule; import com.google.inject.ConfigurationException; import com.google.inject.Guice; @@ -21,11 +24,12 @@ import java.util.Locale; import javax.inject.Inject; import javax.inject.Named; -import junit.framework.TestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class DateConstantTest extends TestCase { - @Override - protected void setUp() throws Exception { +public class DateConstantTest { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { private void bind(final String name, final String value) { bindConstant().annotatedWith(Names.named(name)).to(value); @@ -62,19 +66,20 @@ protected void configure() { @Inject Injector injector; + @Test public void testDateFormat1() { assertEquals(dateText1, new SimpleDateFormat("yyyy-MM-dd h:mm:ss.S a", Locale.US).format(date1)); } + @Test public void testDateFormat2() { assertEquals(dateText2, new SimpleDateFormat("yyyy-MM-dd h:mm:ssa", Locale.US).format(date2)); } + @Test public void testBadDateFormat() { - try { - injector.getInstance(Key.get(Date.class, Names.named("BadFormat"))); - fail("Expected ConfigurationException"); - } catch (final ConfigurationException e) { - } + assertThrows( + ConfigurationException.class, + () -> injector.getInstance(Key.get(Date.class, Names.named("BadFormat")))); } } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DefaultValuesTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DefaultValuesTest.java index fe8ede3e..f800b00e 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DefaultValuesTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/DefaultValuesTest.java @@ -10,15 +10,19 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.util.Arrays; import java.util.List; -import junit.framework.TestCase; import org.codehaus.plexus.component.configurator.BasicComponentConfigurator; import org.codehaus.plexus.component.configurator.ComponentConfigurationException; import org.codehaus.plexus.configuration.PlexusConfiguration; import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; +import org.junit.jupiter.api.Test; -public class DefaultValuesTest extends TestCase { +public class DefaultValuesTest { + @Test public void testDefaultBasicValue() throws ComponentConfigurationException { final ComponentWithInt componentWithString = new ComponentWithInt(); @@ -36,6 +40,7 @@ public void testDefaultBasicValue() throws ComponentConfigurationException { assertEquals("OVERRIDE", componentWithString.target); } + @Test public void testDefaultCollection() throws ComponentConfigurationException { final ComponentWithArray componentWithArray = new ComponentWithArray(); final ComponentWithList componentWithList = new ComponentWithList(); @@ -46,7 +51,7 @@ public void testDefaultCollection() throws ComponentConfigurationException { config.addChild(target); new BasicComponentConfigurator().configureComponent(componentWithArray, config, null); - assertTrue(Arrays.equals(new String[] {"one", "two", "three"}, componentWithArray.target)); + assertArrayEquals(new String[] {"one", "two", "three"}, componentWithArray.target); new BasicComponentConfigurator().configureComponent(componentWithList, config, null); assertEquals(Arrays.asList("one", "two", "three"), componentWithList.target); @@ -56,7 +61,7 @@ public void testDefaultCollection() throws ComponentConfigurationException { target.addChild(element); new BasicComponentConfigurator().configureComponent(componentWithArray, config, null); - assertTrue(Arrays.equals(new String[] {"OVERRIDE"}, componentWithArray.target)); + assertArrayEquals(new String[] {"OVERRIDE"}, componentWithArray.target); new BasicComponentConfigurator().configureComponent(componentWithList, config, null); assertEquals(Arrays.asList("OVERRIDE"), componentWithList.target); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/HintsTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/HintsTest.java index 716c8b37..3f229f26 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/HintsTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/HintsTest.java @@ -10,12 +10,15 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.*; + import java.util.Arrays; import java.util.Collections; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Requirement; +import org.junit.jupiter.api.Test; -public class HintsTest extends TestCase { +public class HintsTest { + @Test public void testCanonicalHint() { assertEquals("default", Hints.canonicalHint(null)); assertEquals("default", Hints.canonicalHint("")); @@ -23,6 +26,7 @@ public void testCanonicalHint() { assertEquals("foo", Hints.canonicalHint("foo")); } + @Test public void testCanonicalHints() { assertArrayEquals(new String[0], Hints.canonicalHints()); assertArrayEquals(new String[0], Hints.canonicalHints(requirement())); @@ -33,6 +37,7 @@ public void testCanonicalHints() { assertArrayEquals(new String[] {"foo", "default"}, Hints.canonicalHints(requirement("foo", ""))); } + @Test public void testCanonicalHintList() { assertEquals(Collections.emptyList(), Hints.canonicalHints(Arrays.asList())); assertEquals(Collections.emptyList(), Hints.canonicalHints(Arrays.asList(""))); @@ -42,6 +47,7 @@ public void testCanonicalHintList() { assertEquals(Arrays.asList("foo", "default"), Hints.canonicalHints(Arrays.asList("foo", ""))); } + @Test public void testHintsAreInterned() { assertSame("hint", Hints.canonicalHint(new String("hint"))); assertSame("hint", Hints.canonicalHints(requirement(new String("hint")))[0]); @@ -52,6 +58,7 @@ public void testHintsAreInterned() { assertEquals(new String("hint"), Hints.canonicalHint("hint")); } + @Test public void testIsDefaultHint() { assertTrue(Hints.isDefaultHint(null)); assertTrue(Hints.isDefaultHint("")); @@ -59,10 +66,6 @@ public void testIsDefaultHint() { assertFalse(Hints.isDefaultHint("foo")); } - private static void assertArrayEquals(final T[] a, final T[] b) { - assertTrue("Expected: " + Arrays.toString(a) + "but was: " + Arrays.toString(b), Arrays.equals(a, b)); - } - @SuppressWarnings("deprecation") private static Requirement requirement(final String... hints) { return new RequirementImpl(Object.class, true, hints); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/MapConstantTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/MapConstantTest.java index 14d6c8cf..43803299 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/MapConstantTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/MapConstantTest.java @@ -10,6 +10,9 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.name.Names; @@ -20,11 +23,12 @@ import java.util.Properties; import javax.inject.Inject; import javax.inject.Named; -import junit.framework.TestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class MapConstantTest extends TestCase { - @Override - protected void setUp() throws Exception { +public class MapConstantTest { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { private void bind(final String name, final String value) { bindConstant().annotatedWith(Names.named(name)).to(value); @@ -70,10 +74,12 @@ protected void configure() { @Named("Properties") Properties properties; + @Test public void testEmptyMap() { assertTrue(empty.isEmpty()); } + @Test public void testCustomMap() { assertEquals(LinkedHashMap.class, custom.getClass()); assertEquals("TEST", custom.get("builder").toString()); @@ -81,6 +87,7 @@ public void testCustomMap() { assertEquals(new File("TEST"), custom.get("file")); } + @Test public void testMapAndProperties() { final HashMap testMap = new HashMap<>(); testMap.put("key1", "value1"); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ParameterizedCollectionTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ParameterizedCollectionTest.java index 5086ccde..d7bc6c14 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ParameterizedCollectionTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/ParameterizedCollectionTest.java @@ -12,13 +12,13 @@ import static java.util.Arrays.asList; import static java.util.Collections.singletonMap; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.StringReader; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import junit.framework.TestCase; import org.codehaus.plexus.component.configurator.BasicComponentConfigurator; import org.codehaus.plexus.component.configurator.ComponentConfigurator; import org.codehaus.plexus.component.configurator.expression.DefaultExpressionEvaluator; @@ -27,8 +27,9 @@ import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; import org.codehaus.plexus.util.xml.Xpp3Dom; import org.codehaus.plexus.util.xml.Xpp3DomBuilder; +import org.junit.jupiter.api.Test; -public class ParameterizedCollectionTest extends TestCase { +public class ParameterizedCollectionTest { static class MapHolder { Map>>> map; } @@ -41,6 +42,7 @@ static class ArrayHolder { Map>>[] array; } + @Test public void testParameterizedMap() throws Exception { final MapHolder mapHolder = new MapHolder(); @@ -59,6 +61,7 @@ public void testParameterizedMap() throws Exception { assertEquals(expectedMap, mapHolder.map); } + @Test public void testParameterizedList() throws Exception { final ListHolder listHolder = new ListHolder(); @@ -77,6 +80,7 @@ public void testParameterizedList() throws Exception { assertEquals(expectedList, listHolder.list); } + @Test public void testParameterizedArray() throws Exception { final ArrayHolder arrayHolder = new ArrayHolder(); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusAnnotatedBeanMetadataTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusAnnotatedBeanMetadataTest.java index 2c45ba8c..bfe60ff6 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusAnnotatedBeanMetadataTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusAnnotatedBeanMetadataTest.java @@ -10,17 +10,22 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.util.Collections; import java.util.Iterator; import java.util.Map; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Configuration; import org.codehaus.plexus.component.annotations.Requirement; import org.eclipse.sisu.bean.BeanProperties; import org.eclipse.sisu.bean.BeanProperty; +import org.junit.jupiter.api.Test; -public class PlexusAnnotatedBeanMetadataTest extends TestCase { +public class PlexusAnnotatedBeanMetadataTest { @Component(role = Bean.class) protected static class Bean { @Configuration(name = "1", value = "BLANK") @@ -37,6 +42,7 @@ protected static class Bean { String dummy2; } + @Test @SuppressWarnings("deprecation") public void testRawAnnotations() { final PlexusBeanMetadata metadata = new PlexusAnnotatedMetadata(null); @@ -59,6 +65,7 @@ public void testRawAnnotations() { assertNull(requirement2); } + @Test @SuppressWarnings("deprecation") public void testInterpolatedAnnotations() { final Map variables = Collections.singletonMap("some.value", "INTERPOLATED"); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanLocatorTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanLocatorTest.java index f7973f66..20191231 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanLocatorTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanLocatorTest.java @@ -10,6 +10,13 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + import com.google.inject.AbstractModule; import com.google.inject.Binder; import com.google.inject.Guice; @@ -22,7 +29,6 @@ import com.google.inject.name.Names; import java.util.Iterator; import java.util.Map.Entry; -import junit.framework.TestCase; import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.classworlds.ClassWorldException; import org.codehaus.plexus.classworlds.realm.DuplicateRealmException; @@ -32,8 +38,10 @@ import org.eclipse.sisu.inject.InjectorBindings; import org.eclipse.sisu.inject.MutableBeanLocator; import org.eclipse.sisu.inject.Sources; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class PlexusBeanLocatorTest extends TestCase { +public class PlexusBeanLocatorTest { @ImplementedBy(BeanImpl.class) interface Bean {} @@ -47,8 +55,8 @@ static class BeanImpl implements Bean {} Injector child3; - @Override - public void setUp() throws Exception { + @BeforeEach + void setUp() { parent = Guice.createInjector(new AbstractModule() { @Override protected void configure() { @@ -82,6 +90,7 @@ protected void configure() { }); } + @Test public void testInjectorOrdering() { final MutableBeanLocator locator = new DefaultBeanLocator(); @@ -150,6 +159,7 @@ public void testInjectorOrdering() { assertFalse(i.hasNext()); } + @Test public void testExistingInjectors() { final MutableBeanLocator locator = new DefaultBeanLocator(); @@ -173,6 +183,7 @@ public void testExistingInjectors() { assertFalse(i.hasNext()); } + @Test public void testRoleHintLookup() { final MutableBeanLocator locator = new DefaultBeanLocator(); @@ -282,6 +293,7 @@ public Bean get() { assertNull(m3.getValue()); } + @Test public void testInjectorVisibility() throws NoSuchRealmException { final MutableBeanLocator locator = new DefaultBeanLocator(); final ClassWorld world = new ClassWorld(); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanMetadataTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanMetadataTest.java index 1018a400..e5e42f2f 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanMetadataTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusBeanMetadataTest.java @@ -10,6 +10,9 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; + import com.google.inject.AbstractModule; import com.google.inject.Binder; import com.google.inject.Guice; @@ -18,7 +21,6 @@ import com.google.inject.name.Names; import javax.inject.Inject; import javax.inject.Named; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Configuration; import org.codehaus.plexus.component.annotations.Requirement; import org.eclipse.sisu.bean.BeanManager; @@ -26,8 +28,10 @@ import org.eclipse.sisu.bean.PropertyBinding; import org.eclipse.sisu.inject.DeferredClass; import org.eclipse.sisu.space.URLClassSpace; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class PlexusBeanMetadataTest extends TestCase { +public class PlexusBeanMetadataTest { @Inject @Named("2") Bean bean; @@ -35,8 +39,8 @@ public class PlexusBeanMetadataTest extends TestCase { @Inject Injector injector; - @Override - protected void setUp() { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { @Override protected void configure() { @@ -202,6 +206,7 @@ public Configuration getConfiguration(final BeanProperty property) { } } + @Test public void testExtraMetadata() { assertEquals("REQUIREMENT", bean.getExtraMetadata()); assertEquals("CONFIGURATION", injector.getInstance(DefaultBean2.class).extraMetadata); @@ -209,6 +214,6 @@ public void testExtraMetadata() { } static DeferredClass defer(final Class clazz) { - return new URLClassSpace(TestCase.class.getClassLoader()).deferLoadClass(clazz.getName()); + return new URLClassSpace(PlexusBeanMetadataTest.class.getClassLoader()).deferLoadClass(clazz.getName()); } } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusConfigurationTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusConfigurationTest.java index 9827671a..27a0905d 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusConfigurationTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusConfigurationTest.java @@ -12,6 +12,9 @@ import static java.util.Arrays.asList; import static java.util.Collections.singletonMap; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import com.google.inject.AbstractModule; import com.google.inject.Guice; @@ -21,15 +24,16 @@ import java.util.List; import java.util.Map; import javax.inject.Inject; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Configuration; import org.codehaus.plexus.util.xml.Xpp3Dom; import org.eclipse.sisu.bean.BeanManager; import org.eclipse.sisu.bean.BeanProperty; import org.eclipse.sisu.bean.PropertyBinding; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class PlexusConfigurationTest extends TestCase { +public class PlexusConfigurationTest { @Inject ConfiguredComponent component; @@ -66,8 +70,9 @@ public boolean unmanage() { } } - @Override - protected void setUp() { + @BeforeEach + void setUp() { + ComponentManager.SEEN = 0; Guice.createInjector(new AbstractModule() { @Override protected void configure() { @@ -130,6 +135,7 @@ public static class XmlContainerComponent { Xpp3Dom xml; } + @Test public void testConfiguration() { assertEquals("1", component.a); assertEquals(Integer.valueOf(2), component.b); @@ -160,11 +166,7 @@ public void testConfiguration() { assertEquals(2, ComponentManager.SEEN); - try { - injector.getInstance(MisconfiguredComponent.class); - fail("Expected ProvisionException"); - } catch (final ProvisionException e) { - } + assertThrows(ProvisionException.class, () -> injector.getInstance(MisconfiguredComponent.class)); assertEquals(2, ComponentManager.SEEN); } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLifecycleTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLifecycleTest.java index a70e6d91..7910eb3b 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLifecycleTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLifecycleTest.java @@ -10,17 +10,19 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; + import com.google.inject.AbstractModule; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; -import junit.framework.TestCase; import org.codehaus.plexus.ContainerConfiguration; import org.codehaus.plexus.DefaultContainerConfiguration; import org.codehaus.plexus.DefaultPlexusContainer; import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable; +import org.junit.jupiter.api.Test; -public class PlexusLifecycleTest extends TestCase { +public class PlexusLifecycleTest { static class PlexusBean implements Startable { private final StringBuilder results = new StringBuilder(); @@ -59,6 +61,7 @@ public String toString() { } } + @Test public void testPlexusLifecycle() throws Exception { // standard Plexus lifecycle is always enabled PlexusContainer container = createContainer(false); @@ -75,6 +78,7 @@ public void testPlexusLifecycle() throws Exception { assertEquals("<>", bean.toString()); } + @Test public void testJsr250Lifecycle() throws Exception { // nothing should happen as JSR250 is off by default PlexusContainer container = createContainer(false); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLoggingTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLoggingTest.java index ebc7cea6..72489005 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLoggingTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusLoggingTest.java @@ -10,19 +10,23 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import com.google.inject.AbstractModule; import com.google.inject.Guice; import javax.inject.Inject; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.eclipse.sisu.bean.BeanManager; import org.eclipse.sisu.bean.BeanProperty; import org.eclipse.sisu.bean.PropertyBinding; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class PlexusLoggingTest extends TestCase { +public class PlexusLoggingTest { static class LoggerManager implements BeanManager { @Override public boolean manage(final Class clazz) { @@ -60,8 +64,8 @@ public boolean unmanage() { } } - @Override - protected void setUp() { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { @Override protected void configure() { @@ -86,6 +90,7 @@ static class SomeComponent { @Inject SomeComponent component; + @Test public void testLogging() { assertNotNull(component.logger); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusRequirementTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusRequirementTest.java index 8322038c..3d61bc74 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusRequirementTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusRequirementTest.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.*; + import com.google.inject.AbstractModule; import com.google.inject.Binder; import com.google.inject.Guice; @@ -21,35 +23,30 @@ import java.io.File; import java.net.URL; import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import javax.inject.Inject; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.eclipse.sisu.inject.DeferredClass; import org.eclipse.sisu.space.ClassSpace; import org.eclipse.sisu.space.URLClassSpace; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class PlexusRequirementTest extends TestCase { +public class PlexusRequirementTest { @Inject Component1 component; @Inject Injector injector; - @Override - protected void setUp() { + @BeforeEach + void setUp() { Guice.createInjector(new AbstractModule() { @Override @SuppressWarnings("unchecked") protected void configure() { - final ClassSpace space = new URLClassSpace(TestCase.class.getClassLoader()); + final ClassSpace space = new URLClassSpace(PlexusRequirementTest.class.getClassLoader()); final DeferredClass deferA = (DeferredClass) space.deferLoadClass(BrokenAImpl.class.getName()); @@ -227,6 +224,7 @@ static class Component9 { B testNoDefault; } + @Test public void testRepeatInjection() { final Component1 duplicate = injector.getInstance(Component1.class); assertSame(component.testField, duplicate.testField); @@ -234,6 +232,7 @@ public void testRepeatInjection() { assertSame(component.testRole, duplicate.testRole); } + @Test public void testSingleRequirement() { assertEquals(AImpl.class, component.testField.getClass()); assertEquals(AImpl.class, component.testSetter.getClass()); @@ -243,6 +242,7 @@ public void testSingleRequirement() { assertEquals(BImpl.class, component.testWildcard.getClass()); } + @Test public void testRequirementMap() { assertEquals(5, component.testMap.size()); assertEquals(0, component.testEmptyMap.size()); @@ -262,20 +262,16 @@ public void testRequirementMap() { assertEquals("AC", keys.next()); assertFalse(keys.hasNext()); - // check value ordering is same as original map-binder final Iterator values = component.testMap.values().iterator(); assertEquals(AImpl.class, values.next().getClass()); assertEquals(AAImpl.class, values.next().getClass()); - try { - values.next(); - fail("Expected NoClassDefFoundError"); - } catch (final NoClassDefFoundError e) { - } + assertThrows(NoClassDefFoundError.class, values::next); assertEquals(ABImpl.class, values.next().getClass()); assertEquals(ACImpl.class, values.next().getClass()); assertFalse(values.hasNext()); } + @Test public void testRequirementSubMap() { assertEquals(2, component.testSubMap.size()); @@ -296,6 +292,7 @@ public void testRequirementSubMap() { assertFalse(values.hasNext()); } + @Test public void testRequirementList() { assertEquals(5, component.testList.size()); assertEquals(0, component.testEmptyList.size()); @@ -304,16 +301,13 @@ public void testRequirementList() { final Iterator i = component.testList.iterator(); assertEquals(AImpl.class, i.next().getClass()); assertEquals(AAImpl.class, i.next().getClass()); - try { - i.next(); - fail("Expected NoClassDefFoundError"); - } catch (final NoClassDefFoundError e) { - } + assertThrows(NoClassDefFoundError.class, i::next); assertEquals(ABImpl.class, i.next().getClass()); assertEquals(ACImpl.class, i.next().getClass()); assertFalse(i.hasNext()); } + @Test public void testRequirementSubList() { assertEquals(2, component.testSubList.size()); @@ -324,6 +318,7 @@ public void testRequirementSubList() { assertFalse(i.hasNext()); } + @Test public void testRequirementCollection() { assertEquals(5, component.testCollection.size()); @@ -331,31 +326,24 @@ public void testRequirementCollection() { final Iterator i = component.testCollection.iterator(); assertEquals(AImpl.class, i.next().getClass()); assertEquals(AAImpl.class, i.next().getClass()); - try { - i.next(); - fail("Expected NoClassDefFoundError"); - } catch (final NoClassDefFoundError e) { - } + assertThrows(NoClassDefFoundError.class, i::next); assertEquals(ABImpl.class, i.next().getClass()); assertEquals(ACImpl.class, i.next().getClass()); assertFalse(i.hasNext()); } + @Test public void testRequirementIterable() { - // check ordering is same as original map-binder final Iterator i = component.testIterable.iterator(); assertEquals(AImpl.class, i.next().getClass()); assertEquals(AAImpl.class, i.next().getClass()); - try { - i.next(); - fail("Expected NoClassDefFoundError"); - } catch (final NoClassDefFoundError e) { - } + assertThrows(NoClassDefFoundError.class, i::next); assertEquals(ABImpl.class, i.next().getClass()); assertEquals(ACImpl.class, i.next().getClass()); assertFalse(i.hasNext()); } + @Test public void testRequirementSet() { assertEquals(5, component.testSet.size()); @@ -363,56 +351,47 @@ public void testRequirementSet() { final Iterator i = component.testSet.iterator(); assertEquals(AImpl.class, i.next().getClass()); assertEquals(AAImpl.class, i.next().getClass()); - try { - i.next(); - fail("Expected NoClassDefFoundError"); - } catch (final NoClassDefFoundError e) { - } + assertThrows(NoClassDefFoundError.class, i::next); assertEquals(ABImpl.class, i.next().getClass()); assertEquals(ACImpl.class, i.next().getClass()); assertFalse(i.hasNext()); } + @Test public void testZeroArgSetterError() { injector.getInstance(Component2.class); } + @Test public void testMultiArgSetterError() { injector.getInstance(Component3.class); } + @Test public void testMissingRequirement() { - try { - injector.getInstance(Component4.class); - fail("Expected error for missing requirement"); - } catch (final ProvisionException e) { - } + assertThrows(ProvisionException.class, () -> injector.getInstance(Component4.class)); } + @Test public void testNoSuchHint() { - try { - injector.getInstance(Component5.class); - fail("Expected error for no such hint"); - } catch (final ProvisionException e) { - } + assertThrows(ProvisionException.class, () -> injector.getInstance(Component5.class)); } + @Test public void testNoSuchMapHint() { - try { - injector.getInstance(Component6.class).testNoSuchHint.toString(); - fail("Expected error for no such hint"); - } catch (final ProvisionException e) { - } + assertThrows( + ProvisionException.class, + () -> injector.getInstance(Component6.class).testNoSuchHint.toString()); } + @Test public void testNoSuchListHint() { - try { - injector.getInstance(Component7.class).testNoSuchHint.toString(); - fail("Expected error for no such hint"); - } catch (final ProvisionException e) { - } + assertThrows( + ProvisionException.class, + () -> injector.getInstance(Component7.class).testNoSuchHint.toString()); } + @Test public void testWildcardHint() { final List testList = injector.getInstance(Component8.class).testWildcardHint; @@ -422,22 +401,15 @@ public void testWildcardHint() { final Iterator i = testList.iterator(); assertEquals(AImpl.class, i.next().getClass()); assertEquals(AAImpl.class, i.next().getClass()); - try { - i.next(); - fail("Expected NoClassDefFoundError"); - } catch (final NoClassDefFoundError e) { - } + assertThrows(NoClassDefFoundError.class, i::next); assertEquals(ABImpl.class, i.next().getClass()); assertEquals(ACImpl.class, i.next().getClass()); assertFalse(i.hasNext()); } + @Test public void testNoDefault() { - try { - injector.getInstance(Component9.class); - fail("Expected error for missing default requirement"); - } catch (final ProvisionException e) { - } + assertThrows(ProvisionException.class, () -> injector.getInstance(Component9.class)); } interface Alpha {} @@ -464,6 +436,7 @@ static class OmegaImpl implements Omega { @Inject Omega omega; + @Test public void testCircularity() { assertNotNull(((OmegaImpl) omega).alpha); assertNotNull(((AlphaImpl) alpha).omega); @@ -472,14 +445,12 @@ public void testCircularity() { assertSame(omega, ((AlphaImpl) alpha).omega); } + @Test public void testBadDeferredRole() { - try { - injector.getInstance(Gamma.class); - fail("Expected ProvisionException"); - } catch (final ProvisionException e) { - } + assertThrows(ProvisionException.class, () -> injector.getInstance(Gamma.class)); } + @Test public void testPlexus121Compatibility() throws Exception { final List urls = new ArrayList<>(); urls.add(new File("target/dependency/plexus-component-annotations-1.2.1.jar") @@ -503,6 +474,7 @@ protected synchronized Class loadClass(final String name, final boolean resol @SuppressWarnings("unchecked") static DeferredClass defer(final Class clazz) { - return (DeferredClass) new URLClassSpace(TestCase.class.getClassLoader()).deferLoadClass(clazz.getName()); + return (DeferredClass) + new URLClassSpace(PlexusRequirementTest.class.getClassLoader()).deferLoadClass(clazz.getName()); } } diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusStrictClasspathScanningTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusStrictClasspathScanningTest.java index 354b84cb..29c361b1 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusStrictClasspathScanningTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusStrictClasspathScanningTest.java @@ -9,7 +9,9 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import com.google.inject.CreationException; import java.io.File; @@ -26,7 +28,6 @@ import java.util.Optional; import java.util.function.Consumer; import java.util.stream.Stream; -import junit.framework.TestCase; import org.codehaus.plexus.DefaultContainerConfiguration; import org.codehaus.plexus.DefaultPlexusContainer; import org.codehaus.plexus.PlexusConstants; @@ -36,13 +37,15 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.eclipse.sisu.plexus.component.Jsr330Component1; import org.eclipse.sisu.plexus.component.Jsr330Component2; +import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.FilteredClassLoader; /** * Tests the behaviour when classloading fails due to invalid class files in the classpath (both with strict and non-strict classpath scanning). */ -public class PlexusStrictClasspathScanningTest extends TestCase { +public class PlexusStrictClasspathScanningTest { + @Test public void testStrictClasspathScanningWithValidClassFileForPlexusComponent() throws IOException, PlexusContainerException, ComponentLookupException { try (TemporaryDirectoryClasspath dirClasspath = new TemporaryDirectoryClasspath()) { @@ -50,10 +53,13 @@ public void testStrictClasspathScanningWithValidClassFileForPlexusComponent() dirClasspath.addResource( Paths.get("target", "test-classes", "invalid-plexus-components"), "META-INF/plexus/components.xml"); - Consumer configConsumer = config -> { - config.setStrictClassPathScanning(true); + Consumer configConsumer = new Consumer() { + @Override + public void accept(DefaultContainerConfiguration config) { + config.setStrictClassPathScanning(true); + } }; - // test with container realm containing invalid class file + DefaultPlexusContainer plexus = createIsolatedPlexusContainer(configConsumer, Optional.of(dirClasspath.getURL())); try { @@ -68,6 +74,7 @@ public void testStrictClasspathScanningWithValidClassFileForPlexusComponent() } } + @Test public void testStrictClasspathScanningWithInvalidClassFileForPlexusComponent() throws Exception { try (TemporaryDirectoryClasspath dirClasspath = new TemporaryDirectoryClasspath()) { dirClasspath.addPackage(Paths.get("target", "test-classes"), "org.eclipse.sisu.plexus.component"); @@ -75,8 +82,11 @@ public void testStrictClasspathScanningWithInvalidClassFileForPlexusComponent() Paths.get("target", "test-classes", "invalid-plexus-components"), "META-INF/plexus/components.xml"); dirClasspath.invalidateClassFile(Jsr330Component2.class.getName()); - Consumer configConsumer = config -> { - config.setStrictClassPathScanning(true); + Consumer configConsumer = new Consumer() { + @Override + public void accept(DefaultContainerConfiguration config) { + config.setStrictClassPathScanning(true); + } }; // test with container realm containing invalid class file DefaultPlexusContainer plexus = @@ -110,23 +120,34 @@ public void testStrictClasspathScanningWithInvalidClassFileForPlexusComponent() } } + @Test public void testStrictClasspathScanningWithValidClassFileForSisuComponent() throws Exception { try (TemporaryDirectoryClasspath dirClasspath = new TemporaryDirectoryClasspath()) { dirClasspath.addPackage(Paths.get("target", "test-classes"), "org.eclipse.sisu.plexus.component"); dirClasspath.addResource( Paths.get("target", "test-classes", "invalid-sisu-components"), "META-INF/sisu/javax.inject.Named"); - Consumer configConsumer = config -> { - config.setStrictClassPathScanning(true); - config.setClassPathScanning(PlexusConstants.SCANNING_INDEX); + Consumer configConsumer = new Consumer() { + @Override + public void accept(DefaultContainerConfiguration config) { + config.setStrictClassPathScanning(true); + config.setClassPathScanning(PlexusConstants.SCANNING_INDEX); + } }; - // test with container realm containing invalid class file + DefaultPlexusContainer plexus = createIsolatedPlexusContainer(configConsumer, Optional.of(dirClasspath.getURL())); - assertNotNull(plexus.lookup(Jsr330Component1.class.getName())); + try { + assertNotNull(plexus.lookup(Jsr330Component1.class.getName())); + } finally { + if (plexus != null) { + plexus.dispose(); + } + } } } + @Test public void testStrictClasspathScanningWithInvalidClassFileForSisuComponent() throws Exception { try (TemporaryDirectoryClasspath dirClasspath = new TemporaryDirectoryClasspath()) { dirClasspath.addPackage(Paths.get("target", "test-classes"), "org.eclipse.sisu.plexus.component"); @@ -134,10 +155,14 @@ public void testStrictClasspathScanningWithInvalidClassFileForSisuComponent() th Paths.get("target", "test-classes", "invalid-sisu-components"), "META-INF/sisu/javax.inject.Named"); dirClasspath.invalidateClassFile(Jsr330Component2.class.getName()); - Consumer configConsumer = config -> { - config.setStrictClassPathScanning(true); - config.setClassPathScanning(PlexusConstants.SCANNING_INDEX); + Consumer configConsumer = new Consumer() { + @Override + public void accept(DefaultContainerConfiguration config) { + config.setStrictClassPathScanning(true); + config.setClassPathScanning(PlexusConstants.SCANNING_INDEX); + } }; + // test with container realm containing invalid class file CreationException e = assertThrows( CreationException.class, diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusXmlScannerTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusXmlScannerTest.java index b88124bb..4ae2701b 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusXmlScannerTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/PlexusXmlScannerTest.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.*; + import com.google.inject.TypeLiteral; import java.lang.annotation.Annotation; import java.lang.reflect.Modifier; @@ -21,7 +23,6 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.eclipse.sisu.bean.BeanProperty; @@ -30,11 +31,12 @@ import org.eclipse.sisu.space.ClassSpace; import org.eclipse.sisu.space.LoadedClass; import org.eclipse.sisu.space.URLClassSpace; +import org.junit.jupiter.api.Test; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; -public class PlexusXmlScannerTest extends TestCase { +public class PlexusXmlScannerTest { static class NamedProperty implements BeanProperty { final String name; @@ -112,6 +114,7 @@ public Enumeration findEntries(final String path, final String glob, final } } + @Test public void testLoadOnStart() { final URL plexusXml = getClass().getResource("/META-INF/plexus/plexus.xml"); final PlexusXmlScanner scanner = new PlexusXmlScanner(null, plexusXml, null); @@ -128,12 +131,14 @@ public void testLoadOnStart() { assertEquals(DebugBean.class, componentMap.get(component2).load()); } + @Test public void testBadPlexusXml() { final ClassSpace space = new URLClassSpace(PlexusXmlScannerTest.class.getClassLoader()); final URL plexusXml = getClass().getResource("/META-INF/plexus/bad_plexus_1.xml"); new PlexusXmlScanner(null, plexusXml, null).scan(space, true); } + @Test @SuppressWarnings("deprecation") public void testComponents() { final ClassSpace space = new URLClassSpace(PlexusXmlScannerTest.class.getClassLoader()); @@ -264,6 +269,7 @@ public Enumeration findEntries(final String path, final String glob, final } } + @Test public void testBadComponentsXml() { ClassSpace space; @@ -293,6 +299,7 @@ public void testBadComponentsXml() { assertTrue(scanner.scan(space, true).isEmpty()); } + @Test public void testInterpolatedComponentsXml() { final ClassSpace space = new FixedClassSpace("/META-INF/plexus/variable_components.xml"); @@ -317,6 +324,7 @@ public void testInterpolatedComponentsXml() { .value()); } + @Test public void testLocalizedXmlScanning() { final ClassSpace space = new URLClassSpace(PlexusXmlScannerTest.class.getClassLoader(), null); @@ -324,6 +332,7 @@ public void testLocalizedXmlScanning() { assertTrue(new PlexusXmlScanner(null, null, null).scan(space, false).isEmpty()); } + @Test public void testOptionalLogging() throws Exception { final Level level = Logger.getLogger("").getLevel(); try { diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RealmDisposalTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RealmDisposalTest.java index 8cf39186..57b8aadf 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RealmDisposalTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RealmDisposalTest.java @@ -10,26 +10,29 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import java.io.File; -import junit.framework.TestCase; import org.codehaus.plexus.DefaultPlexusContainer; import org.codehaus.plexus.classworlds.realm.ClassRealm; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class RealmDisposalTest extends TestCase { +public class RealmDisposalTest { private ClassLoader origCL; - @Override - protected void setUp() throws Exception { - super.setUp(); + @BeforeEach + void setUp() { origCL = Thread.currentThread().getContextClassLoader(); } - @Override - protected void tearDown() throws Exception { + @AfterEach + void tearDown() { Thread.currentThread().setContextClassLoader(origCL); - super.tearDown(); } + @Test public void test441254_recreateChildRealm() throws Exception { final String realmId = "child-realm"; diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RequirementAnnotationTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RequirementAnnotationTest.java index 092cb060..6d30e143 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RequirementAnnotationTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RequirementAnnotationTest.java @@ -10,15 +10,17 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.*; + import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Arrays; import java.util.HashSet; import java.util.List; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Requirement; +import org.junit.jupiter.api.Test; -public class RequirementAnnotationTest extends TestCase { +public class RequirementAnnotationTest { @Requirement String defaultReq; @@ -42,6 +44,7 @@ public class RequirementAnnotationTest extends TestCase { hints = {"A", "B", "C"}) List namedStringListReq; + @Test public void testRequirementImpl() throws NoSuchFieldException { checkBehaviour("defaultReq"); checkBehaviour("stringReq"); diff --git a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RolesTest.java b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RolesTest.java index e9b1c703..8adad378 100644 --- a/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RolesTest.java +++ b/org.eclipse.sisu.plexus/src/test/java/org/eclipse/sisu/plexus/RolesTest.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.eclipse.sisu.plexus; +import static org.junit.jupiter.api.Assertions.*; + import com.google.inject.Key; import com.google.inject.ProvisionException; import com.google.inject.TypeLiteral; @@ -17,11 +19,11 @@ import com.google.inject.util.Types; import java.util.List; import java.util.Map; -import junit.framework.TestCase; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; +import org.junit.jupiter.api.Test; -public class RolesTest extends TestCase { +public class RolesTest { private static final TypeLiteral OBJECT_LITERAL = TypeLiteral.get(Object.class); private static final TypeLiteral STRING_LITERAL = TypeLiteral.get(String.class); @@ -32,6 +34,7 @@ public class RolesTest extends TestCase { private static final Key OBJECT_FOO_COMPONENT_KEY = Key.get(Object.class, Names.named("foo")); + @Test public void testCanonicalRoleHint() { assertEquals(OBJECT_LITERAL + "", Roles.canonicalRoleHint(Object.class.getName(), null)); assertEquals(OBJECT_LITERAL + "", Roles.canonicalRoleHint(Object.class.getName(), "")); @@ -42,6 +45,7 @@ public void testCanonicalRoleHint() { assertEquals(OBJECT_LITERAL + ":foo", Roles.canonicalRoleHint(component("foo"))); } + @Test public void testDefaultComponentKeys() { assertEquals(OBJECT_COMPONENT_KEY, Roles.componentKey(Object.class, null)); assertEquals(OBJECT_COMPONENT_KEY, Roles.componentKey(OBJECT_LITERAL, "")); @@ -50,11 +54,13 @@ public void testDefaultComponentKeys() { assertEquals(OBJECT_COMPONENT_KEY, Roles.componentKey(component("default"))); } + @Test public void testComponentKeys() { assertEquals(OBJECT_FOO_COMPONENT_KEY, Roles.componentKey(Object.class, "foo")); assertEquals(OBJECT_FOO_COMPONENT_KEY, Roles.componentKey(component("foo"))); } + @Test public void testRoleAnalysis() { assertEquals(STRING_LITERAL, Roles.roleType(requirement(String.class), OBJECT_LITERAL)); assertEquals(STRING_LITERAL, Roles.roleType(requirement(Object.class), STRING_LITERAL)); @@ -83,20 +89,13 @@ private static Requirement requirement(final Class role) { return new RequirementImpl(role, false); } + @Test public void testMissingComponentExceptions() { - try { - Roles.throwMissingComponentException(STRING_LITERAL, null); - fail("Expected ProvisionException"); - } catch (final ProvisionException e) { - } - - try { - Roles.throwMissingComponentException(STRING_LITERAL, "foo"); - fail("Expected ProvisionException"); - } catch (final ProvisionException e) { - } + assertThrows(ProvisionException.class, () -> Roles.throwMissingComponentException(STRING_LITERAL, null)); + assertThrows(ProvisionException.class, () -> Roles.throwMissingComponentException(STRING_LITERAL, "foo")); } + @Test public void testCamelization() { assertSame("thisIsATest", Roles.camelizeName("thisIsATest")); assertEquals("thisIsATest", Roles.camelizeName("this-is-a-test"));