From f3780e1348ab0ff50ebcf880da2b8ea91f307b38 Mon Sep 17 00:00:00 2001 From: Cameron Lee Date: Thu, 6 Feb 2020 14:16:13 -0800 Subject: [PATCH 1/5] migrate tests to junit --- NOTICE | 6 +- cytodynamics-nucleus/pom.xml | 4 +- .../isolation/TestChooserMappingFactory.java | 9 +- .../isolation/TestFullIsolationChooser.java | 4 +- .../isolation/TestNoneIsolationChooser.java | 4 +- .../TestNoneIsolationListChooser.java | 4 +- .../TestTransitionalIsolationChooser.java | 4 +- .../TestTransitionalIsolationListChooser.java | 4 +- .../matcher/BootstrapClassPredicateTest.java | 8 +- .../cytodynamics/matcher/GlobMatcherTest.java | 4 +- .../FileOriginRestrictionFilterTest.java | 16 ++-- .../GlobPatternRestrictionFilterTest.java | 5 +- .../nucleus/OriginRestrictionTest.java | 5 +- .../ProtocolOriginRestrictionFilterTest.java | 14 ++-- cytodynamics-test-container/pom.xml | 4 +- .../nucleus/TestLoadClassResolve.java | 32 ++++--- .../cytodynamics/test/TestDynamicLoad.java | 84 +++++++++++-------- pom.xml | 20 +---- 18 files changed, 122 insertions(+), 109 deletions(-) diff --git a/NOTICE b/NOTICE index fce7515..7e1a9aa 100644 --- a/NOTICE +++ b/NOTICE @@ -12,9 +12,9 @@ This product includes/uses Apache log4j (https://logging.apache.org/log4j/) Copyright 1999-2005 The Apache Software Foundation License: Apache 2.0 -This product includes/uses TestNG (https://testng.org/) -Copyright 2004-2017 Cédric Beust -License: Apache 2.0 +This product includes/uses JUnit (https://junit.org/) +Copyright 2002-2020 JUnit +License: Eclipse Public License 1.0 This product includes/uses JCommander (https://jcommander.org/) Copyright 2012 Cédric Beust diff --git a/cytodynamics-nucleus/pom.xml b/cytodynamics-nucleus/pom.xml index 7b21759..fbdcf68 100644 --- a/cytodynamics-nucleus/pom.xml +++ b/cytodynamics-nucleus/pom.xml @@ -40,8 +40,8 @@ - org.testng - testng + junit + junit test diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java index 27c3bb7..6d4f33e 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java @@ -10,9 +10,9 @@ import com.linkedin.cytodynamics.nucleus.IsolationLevel; import java.util.List; import java.util.Map; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.*; +import static org.junit.Assert.*; public class TestChooserMappingFactory { @@ -35,7 +35,10 @@ public void testBuildChooserMappingForList() { assertTrue(chooserMappingFactory.get(IsolationLevel.FULL) instanceof FullIsolationChooser); } - @Test(description = "Validates that all isolation levels are handled in the mapping built by the factory") + /** + * Validates that all isolation levels are handled in the mapping built by the factory + */ + @Test public void testAllLevelsHandled() { Map> chooserMappingFactory = ChooserMappingFactory.buildChooserMapping(obj -> { }); diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java index d3e691b..de28e92 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java @@ -7,9 +7,9 @@ */ package com.linkedin.cytodynamics.isolation; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.*; +import static org.junit.Assert.*; public class TestFullIsolationChooser { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java index ad991e3..476f3d9 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java @@ -7,9 +7,9 @@ */ package com.linkedin.cytodynamics.isolation; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.*; +import static org.junit.Assert.*; public class TestNoneIsolationChooser { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java index 1635de2..0c977c9 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java @@ -11,9 +11,9 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.*; +import static org.junit.Assert.*; public class TestNoneIsolationListChooser { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java index 7d5d6b6..b2ba71c 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java @@ -8,10 +8,10 @@ package com.linkedin.cytodynamics.isolation; import java.util.function.Consumer; -import org.testng.annotations.Test; +import org.junit.Test; +import static org.junit.Assert.*; import static org.mockito.Mockito.*; -import static org.testng.Assert.*; public class TestTransitionalIsolationChooser { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java index 7cc67df..ec541c8 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java @@ -12,10 +12,10 @@ import java.util.Collections; import java.util.List; import java.util.function.Consumer; -import org.testng.annotations.Test; +import org.junit.Test; +import static org.junit.Assert.*; import static org.mockito.Mockito.*; -import static org.testng.Assert.*; public class TestTransitionalIsolationListChooser { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java index f34def1..3703154 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java @@ -7,16 +7,16 @@ */ package com.linkedin.cytodynamics.matcher; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; +import org.junit.Before; +import org.junit.Test; -import static org.testng.Assert.*; +import static org.junit.Assert.*; public class BootstrapClassPredicateTest { private BootstrapClassPredicate bootstrapClassPredicate; - @BeforeMethod + @Before public void setup() { this.bootstrapClassPredicate = new BootstrapClassPredicate(); } diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java index 4a7b6f0..8058117 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java @@ -7,9 +7,9 @@ */ package com.linkedin.cytodynamics.matcher; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.*; +import static org.junit.Assert.*; public class GlobMatcherTest { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java index d0b7d38..fd0f6ae 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java @@ -8,9 +8,9 @@ package com.linkedin.cytodynamics.nucleus; import java.io.File; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.assertEquals; +import static org.junit.Assert.*; public class FileOriginRestrictionFilterTest { @@ -31,13 +31,13 @@ public void testFileOrigin() throws Exception { File fileNotInTempDir = new File(tempDir.getParent(), "test3.jar"); FileOriginRestrictionFilter nonRecursiveFilter = new FileOriginRestrictionFilter(tempDir, false, OriginMatchResults.ALLOW); - assertEquals(nonRecursiveFilter.isAllowed(fileInTempDir.toURI().toURL()), OriginMatchResults.ALLOW); - assertEquals(nonRecursiveFilter.isAllowed(fileInSubdirOfTempDir.toURI().toURL()), OriginMatchResults.NO_MATCH); - assertEquals(nonRecursiveFilter.isAllowed(fileNotInTempDir.toURI().toURL()), OriginMatchResults.NO_MATCH); + assertEquals(OriginMatchResults.ALLOW, nonRecursiveFilter.isAllowed(fileInTempDir.toURI().toURL())); + assertEquals(OriginMatchResults.NO_MATCH, nonRecursiveFilter.isAllowed(fileInSubdirOfTempDir.toURI().toURL())); + assertEquals(OriginMatchResults.NO_MATCH, nonRecursiveFilter.isAllowed(fileNotInTempDir.toURI().toURL())); FileOriginRestrictionFilter recursiveFilter = new FileOriginRestrictionFilter(tempDir, true, OriginMatchResults.ALLOW); - assertEquals(recursiveFilter.isAllowed(fileInTempDir.toURI().toURL()), OriginMatchResults.ALLOW); - assertEquals(recursiveFilter.isAllowed(fileInSubdirOfTempDir.toURI().toURL()), OriginMatchResults.ALLOW); - assertEquals(recursiveFilter.isAllowed(fileNotInTempDir.toURI().toURL()), OriginMatchResults.NO_MATCH); + assertEquals(OriginMatchResults.ALLOW, recursiveFilter.isAllowed(fileInTempDir.toURI().toURL())); + assertEquals(OriginMatchResults.ALLOW, recursiveFilter.isAllowed(fileInSubdirOfTempDir.toURI().toURL())); + assertEquals(OriginMatchResults.NO_MATCH, recursiveFilter.isAllowed(fileNotInTempDir.toURI().toURL())); } } diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java index 8deb2f0..b3c2f19 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java @@ -8,10 +8,9 @@ package com.linkedin.cytodynamics.nucleus; import java.net.URL; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; +import static org.junit.Assert.*; public class GlobPatternRestrictionFilterTest { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java index 54aa7ee..8fd733e 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java @@ -8,10 +8,9 @@ package com.linkedin.cytodynamics.nucleus; import java.net.URL; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; +import static org.junit.Assert.*; public class OriginRestrictionTest { diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java index 64386ec..b42e93e 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java @@ -12,11 +12,9 @@ import java.util.Collections; import java.util.HashSet; import java.util.Set; -import org.testng.annotations.Test; +import org.junit.Test; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; +import static org.junit.Assert.*; public class ProtocolOriginRestrictionFilterTest { @@ -26,19 +24,19 @@ public void testProtocolOriginRestrictionFilter() throws Exception { ProtocolOriginRestrictionFilter(Collections.singleton("http"), OriginMatchResults.ALLOW); assertTrue(httpOnly.matches(new URL("http://www.example.com/"))); - assertEquals(httpOnly.isAllowed(new URL("http://www.example.com/")), OriginMatchResults.ALLOW); + assertEquals(OriginMatchResults.ALLOW, httpOnly.isAllowed(new URL("http://www.example.com/"))); assertFalse(httpOnly.matches(new URL("https://www.example.com/"))); - assertEquals(httpOnly.isAllowed(new URL("https://www.example.com/")), OriginMatchResults.NO_MATCH); + assertEquals(OriginMatchResults.NO_MATCH, httpOnly.isAllowed(new URL("https://www.example.com/"))); Set protocolSet = new HashSet<>(Arrays.asList("http", "https")); ProtocolOriginRestrictionFilter httpAndHttpsDeny = new ProtocolOriginRestrictionFilter(protocolSet, OriginMatchResults.DENY); assertTrue(httpAndHttpsDeny.matches(new URL("http://www.example.com/"))); - assertEquals(httpAndHttpsDeny.isAllowed(new URL("http://www.example.com/")), OriginMatchResults.DENY); + assertEquals(OriginMatchResults.DENY, httpAndHttpsDeny.isAllowed(new URL("http://www.example.com/"))); assertTrue(httpAndHttpsDeny.matches(new URL("https://www.example.com/"))); - assertEquals(httpAndHttpsDeny.isAllowed(new URL("https://www.example.com/")), OriginMatchResults.DENY); + assertEquals(OriginMatchResults.DENY, httpAndHttpsDeny.isAllowed(new URL("https://www.example.com/"))); } } diff --git a/cytodynamics-test-container/pom.xml b/cytodynamics-test-container/pom.xml index 900947b..d07a5c2 100644 --- a/cytodynamics-test-container/pom.xml +++ b/cytodynamics-test-container/pom.xml @@ -38,8 +38,8 @@ ${project.version} - org.testng - testng + junit + junit test diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java index 0051fbb..32a4fa1 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java +++ b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java @@ -14,8 +14,8 @@ import java.net.URL; import java.net.URLClassLoader; import java.util.Collections; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; +import org.junit.Before; +import org.junit.Test; import static com.linkedin.cytodynamics.util.JarUtil.*; import static org.mockito.Mockito.*; @@ -30,7 +30,7 @@ public class TestLoadClassResolve { private IsolatingClassLoader isolatingClassLoader; - @BeforeMethod + @Before public void setup() throws Exception { URL cytodynamics = getJarUri("cytodynamics-nucleus").toURL(); URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); @@ -61,8 +61,10 @@ public void setup() throws Exception { this.isolatingClassLoader = spy((IsolatingClassLoader) loader); } - @Test(description = "Given that loadClass is called with the resolve argument as false, loadClass should properly " - + "skip the resolve step") + /** + * Given that loadClass is called with the resolve argument as false, loadClass should properly skip the resolve step. + */ + @Test public void testLoadClassWithResolveFalse() throws Exception { // from parent classloader this.isolatingClassLoader.loadClass(TestInterface.class.getName(), false); @@ -73,22 +75,30 @@ public void testLoadClassWithResolveFalse() throws Exception { verify(this.isolatingClassLoader, never()).doResolveClass(any()); } - @Test(description = "Given a class to be loaded from the parent classloader and resolve as true, loadClass should " - + "execute the resolve step") + /** + * Given a class to be loaded from the parent classloader and resolve as true, loadClass should execute the resolve + * step. + */ + @Test public void testLoadClassWithResolveTrueFromParent() throws Exception { Class testInterfaceClass = this.isolatingClassLoader.loadClass(TestInterface.class.getName(), true); verify(isolatingClassLoader).doResolveClass(testInterfaceClass); } - @Test(description = "Given a class to be loaded from the classpath and resolve as true, loadClass should execute the " - + "resolve step") + /** + * Given a class to be loaded from the classpath and resolve as true, loadClass should execute the resolve step. + */ + @Test public void testLoadClassWithResolveTrueFromClasspath() throws Exception { Class testInterfaceImplClass = isolatingClassLoader.loadClass(TestInterfaceImpl.class.getName(), true); verify(isolatingClassLoader).doResolveClass(testInterfaceImplClass); } - @Test(description = "Given a class to be loaded from the fallback classloader and resolve as true, loadClass should " - + "execute the resolve step") + /** + * Given a class to be loaded from the fallback classloader and resolve as true, loadClass should execute the resolve + * step. + */ + @Test public void testLoadClassWithResolveTrueFromFallback() throws Exception { Class testInterfaceAOnlyImplClass = isolatingClassLoader.loadClass(TestInterfaceAOnlyImpl.class.getName(), true); verify(isolatingClassLoader).doResolveClass(testInterfaceAOnlyImplClass); diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java index bef8e9c..623d050 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java +++ b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java @@ -33,10 +33,11 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import com.linkedin.cytodynamics.nucleus.DelegateRelationshipBuilder; -import org.testng.annotations.Test; +import org.junit.Ignore; +import org.junit.Test; import static com.linkedin.cytodynamics.util.JarUtil.*; -import static org.testng.Assert.*; +import static org.junit.Assert.*; /** @@ -291,8 +292,10 @@ public void testLoadB() throws Exception { assertEquals(implementation.getValue(), "B"); } - @Test(description = "Given that the loader is a parent of another classloader, then it should still properly do " - + "classloading") + /** + * Given that the loader is a parent of another classloader, then it should still properly do classloading. + */ + @Test public void testLoadAsParent() throws Exception { URI apiJarUri = getJarUri("cytodynamics-test-api"); // need cytodynamics-nucleus for Api annotation in parent @@ -312,14 +315,14 @@ public void testLoadAsParent() throws Exception { // build a URLClassLoader with no classpath so only the parent would be used ClassLoader mainClassLoader = new URLClassLoader(new URL[]{}, loader); Class testInterfaceClass = mainClassLoader.loadClass(TestInterface.class.getName()); - assertEquals(testInterfaceClass.getClassLoader(), apiClassLoader, - "Should delegate up to the API classloader for the API class"); + assertEquals("Should delegate up to the API classloader for the API class", testInterfaceClass.getClassLoader(), + apiClassLoader); Class nonApiTestInterface = mainClassLoader.loadClass(NonApiTestInterface.class.getName()); - assertEquals(nonApiTestInterface.getClassLoader(), loader, - "If there is a non-API class which is also in API classloader, shouldn't load from API classloader"); + assertEquals("If there is a non-API class which is also in API classloader, shouldn't load from API classloader", + nonApiTestInterface.getClassLoader(), loader); Class testInterfaceImplClass = mainClassLoader.loadClass(TestInterfaceImpl.class.getName()); - assertEquals(testInterfaceImplClass.getClassLoader(), loader, - "Should delegate up to the isolating loader for the concrete (non-API) class"); + assertEquals("Should delegate up to the isolating loader for the concrete (non-API) class", + testInterfaceImplClass.getClassLoader(), loader); } @Test @@ -463,8 +466,11 @@ public void testLoadAandB() throws Exception { assertEquals(implementationB.getValue(), "B"); } - @Test(description = "Given that there is a parent and a fallback delegate, and all can load a class, the class " - + "should be loaded from the parent") + /** + * Given that there is a parent and a fallback delegate, and all can load a class, the class should be loaded from the + * parent. + */ + @Test public void testLoadFromParentNotFallback() throws Exception { URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderA = @@ -493,8 +499,11 @@ public void testLoadFromParentNotFallback() throws Exception { assertEquals(clazz.getClassLoader(), parentClassLoaderA); } - @Test(description = "Given that there is a parent and a fallback delegate, but only the fallback parent has a " - + "class, the class should be loaded by the fallback") + /** + * Given that there is a parent and a fallback delegate, but only the fallback parent has a class, the class should be + * loaded by the fallback. + */ + @Test public void testLoadFromFallback() throws Exception { URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderA = @@ -531,8 +540,11 @@ public void testLoadFromFallback() throws Exception { assertEquals(clazz.getClassLoader(), fallbackClassLoaderB); } - @Test(description = "Given that there is a parent and a fallback delegate, but only the final fallback has a class, " - + "the class should be loaded by that final fallback") + /** + * Given that there is a parent and a fallback delegate, but only the final fallback has a class, the class should be + * loaded by that final fallback. + */ + @Test public void testLoadFromFinalFallback() throws Exception { URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderB = @@ -569,10 +581,11 @@ public void testLoadFromFinalFallback() throws Exception { } /** + * Given FULL isolation level set for the parent and fallback, and a class is not an API, an exception should be + * thrown. * This also tests that a {@link CytodynamicsClassNotFoundException} is thrown when a class can't be found. */ - @Test(description = "Given FULL isolation level set for the parent and fallback, and a class is not an API, an " - + "exception should be thrown", expectedExceptions = CytodynamicsClassNotFoundException.class) + @Test(expected = CytodynamicsClassNotFoundException.class) public void testIsolationForFallback() throws Exception { URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderA = @@ -598,6 +611,9 @@ public void testIsolationForFallback() throws Exception { } /** + * Given a structure in which the classloader relationships form a graph, and two of the loaders have a common parent, + * then delegation should properly load from the correct loaders. + * * Graph structure: * * (common parent <------------ (partial delegation @@ -622,8 +638,7 @@ public void testIsolationForFallback() throws Exception { * to construct A, and A would need to exist to construct B. We can't have both (excluding reflection). Therefore, we * are just considering an acyclic graph here. */ - @Test(description = "Given a structure in which the classloader relationships form a graph, and two of the loaders " - + "have a common parent, then delegation should properly load from the correct loaders") + @Test public void testGraphRelationshipWithCommonParent() throws Exception { URL apiJarUrl = getJarUri("cytodynamics-test-api").toURL(); // need cytodynamics-nucleus for Api annotation in parent @@ -652,20 +667,21 @@ public void testGraphRelationshipWithCommonParent() throws Exception { .build(); Object testInterfaceImpl = loader.loadClass(TestInterfaceImpl.class.getName()).newInstance(); - assertEquals(testInterfaceImpl.getClass().getClassLoader(), loader, - "TestInterfaceImpl needs to come from the main loader"); + assertEquals("TestInterfaceImpl needs to come from the main loader", testInterfaceImpl.getClass().getClassLoader(), + loader); Class testInterfaceImplInterface = findTestInterface(testInterfaceImpl.getClass()); - assertEquals(testInterfaceImplInterface.getClassLoader(), commonParent, - "TestInterface which is implemented by TestInterfaceImpl needs to come from the common parent"); + assertEquals("TestInterface which is implemented by TestInterfaceImpl needs to come from the common parent", + testInterfaceImplInterface.getClassLoader(), commonParent); Object testInterfaceAOnlyImpl = loader.loadClass(TestInterfaceAOnlyImpl.class.getName()).newInstance(); - assertEquals(testInterfaceAOnlyImpl.getClass().getClassLoader(), partialDelegation, - "TestInterfaceAOnlyImpl needs to come from the partial delegation classpath"); + assertEquals("TestInterfaceAOnlyImpl needs to come from the partial delegation classpath", + testInterfaceAOnlyImpl.getClass().getClassLoader(), partialDelegation); Class testInterfaceAOnlyImplInterface = findTestInterface(testInterfaceAOnlyImpl.getClass()); - assertEquals(testInterfaceAOnlyImplInterface.getClassLoader(), commonParent, - "TestInterfaceAOnlyImpl which is implemented by TestInterfaceImpl needs to come from the common parent"); + assertEquals( + "TestInterfaceAOnlyImpl which is implemented by TestInterfaceImpl needs to come from the common parent", + testInterfaceAOnlyImplInterface.getClassLoader(), commonParent); // since these are both loaded from the common parent, then this should always be true, but double checking anyways - assertEquals(testInterfaceImplInterface, testInterfaceAOnlyImplInterface, - "TestInterface Class should be the same for TestInterfaceImpl and TestInterfaceAOnlyImpl"); + assertEquals("TestInterface Class should be the same for TestInterfaceImpl and TestInterfaceAOnlyImpl", + testInterfaceImplInterface, testInterfaceAOnlyImplInterface); } @Test @@ -714,7 +730,8 @@ public void testParentPreferredBootstrapClass() throws Exception { assertFalse(implementation.classExists(this.getClass().getName())); } - @Test(enabled = false) + @Ignore + @Test public void testRepeatedLoad() throws Exception { System.out.println("Waiting to start"); Thread.sleep(10000); @@ -817,8 +834,9 @@ private static void assertResourcesFound(ClassLoader loader, String resourceName assertEquals(readLine(loader.getResourceAsStream(resourceName)), resourceContent.get(0)); Enumeration dataUrls = loader.getResources(resourceName); for (String expectedContent : resourceContent) { - assertTrue(dataUrls.hasMoreElements(), - String.format("Expected to find resource with content %s, but no more resources found", expectedContent)); + assertTrue( + String.format("Expected to find resource with content %s, but no more resources found", expectedContent), + dataUrls.hasMoreElements()); assertEquals(readLine(dataUrls.nextElement().openStream()), expectedContent); } assertFalse(dataUrls.hasMoreElements()); diff --git a/pom.xml b/pom.xml index a40a411..c1a29ec 100644 --- a/pom.xml +++ b/pom.xml @@ -211,24 +211,10 @@ - org.testng - testng - 6.8 + junit + junit + 4.12 test - - - junit - junit - - - org.yaml - snakeyaml - - - bsh - org.beanshell - - org.mockito From 3f5d99ebbc4c54bbc3d9cc08f7bb6bde2c3f3b8f Mon Sep 17 00:00:00 2001 From: Cameron Lee Date: Thu, 6 Feb 2020 14:21:39 -0800 Subject: [PATCH 2/5] remove jcommander reference from NOTICE --- NOTICE | 4 ---- 1 file changed, 4 deletions(-) diff --git a/NOTICE b/NOTICE index 7e1a9aa..3dd7bef 100644 --- a/NOTICE +++ b/NOTICE @@ -15,7 +15,3 @@ License: Apache 2.0 This product includes/uses JUnit (https://junit.org/) Copyright 2002-2020 JUnit License: Eclipse Public License 1.0 - -This product includes/uses JCommander (https://jcommander.org/) -Copyright 2012 Cédric Beust -License: Apache 2.0 From 5da17d7c0bd1c69e9d05acd79b287c3cc6077eab Mon Sep 17 00:00:00 2001 From: Cameron Lee Date: Thu, 6 Feb 2020 14:33:59 -0800 Subject: [PATCH 3/5] cleaning up IDE warnings: remove double-star from license comment, remove unused variables --- .../exception/CytodynamicsClassNotFoundException.java | 2 +- .../exception/InvalidBuilderParametersException.java | 2 +- .../cytodynamics/exception/OriginValidationException.java | 2 +- .../java/com/linkedin/cytodynamics/isolation/Chooser.java | 2 +- .../cytodynamics/isolation/ChooserMappingFactory.java | 2 +- .../linkedin/cytodynamics/isolation/FullIsolationChooser.java | 2 +- .../linkedin/cytodynamics/isolation/NoneIsolationChooser.java | 2 +- .../cytodynamics/isolation/NoneIsolationListChooser.java | 2 +- .../cytodynamics/isolation/TransitionalIsolationChooser.java | 2 +- .../isolation/TransitionalIsolationListChooser.java | 2 +- .../cytodynamics/matcher/BootstrapClassPredicate.java | 2 +- .../java/com/linkedin/cytodynamics/matcher/GlobMatcher.java | 2 +- .../src/main/java/com/linkedin/cytodynamics/nucleus/Api.java | 2 +- .../cytodynamics/nucleus/BaseOriginRestrictionFilter.java | 2 +- .../linkedin/cytodynamics/nucleus/DelegateRelationship.java | 2 +- .../cytodynamics/nucleus/DelegateRelationshipBuilder.java | 2 +- .../cytodynamics/nucleus/FileOriginRestrictionFilter.java | 2 +- .../cytodynamics/nucleus/GlobPatternRestrictionFilter.java | 2 +- .../linkedin/cytodynamics/nucleus/IsolatingClassLoader.java | 2 +- .../com/linkedin/cytodynamics/nucleus/IsolationLevel.java | 2 +- .../java/com/linkedin/cytodynamics/nucleus/JulLogAdapter.java | 2 +- .../java/com/linkedin/cytodynamics/nucleus/LoaderBuilder.java | 2 +- .../com/linkedin/cytodynamics/nucleus/Log4j1LogAdapter.java | 4 ++-- .../com/linkedin/cytodynamics/nucleus/Log4j2LogAdapter.java | 4 ++-- .../java/com/linkedin/cytodynamics/nucleus/LogAdapter.java | 2 +- .../java/com/linkedin/cytodynamics/nucleus/LogApiAdapter.java | 2 +- .../main/java/com/linkedin/cytodynamics/nucleus/Logger.java | 2 +- .../com/linkedin/cytodynamics/nucleus/OriginMatchResults.java | 2 +- .../com/linkedin/cytodynamics/nucleus/OriginRestriction.java | 2 +- .../cytodynamics/nucleus/OriginRestrictionFilter.java | 2 +- .../cytodynamics/nucleus/ProtocolOriginRestrictionFilter.java | 2 +- .../com/linkedin/cytodynamics/nucleus/SLF4jLogAdapter.java | 4 ++-- .../cytodynamics/isolation/TestChooserMappingFactory.java | 2 +- .../cytodynamics/isolation/TestFullIsolationChooser.java | 2 +- .../cytodynamics/isolation/TestNoneIsolationChooser.java | 2 +- .../cytodynamics/isolation/TestNoneIsolationListChooser.java | 2 +- .../isolation/TestTransitionalIsolationChooser.java | 2 +- .../isolation/TestTransitionalIsolationListChooser.java | 2 +- .../cytodynamics/matcher/BootstrapClassPredicateTest.java | 2 +- .../com/linkedin/cytodynamics/matcher/GlobMatcherTest.java | 2 +- .../cytodynamics/nucleus/FileOriginRestrictionFilterTest.java | 2 +- .../nucleus/GlobPatternRestrictionFilterTest.java | 2 +- .../linkedin/cytodynamics/nucleus/OriginRestrictionTest.java | 2 +- .../nucleus/ProtocolOriginRestrictionFilterTest.java | 2 +- .../linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java | 2 +- .../com/linkedin/cytodynamics/test/TestInterfaceImpl.java | 2 +- .../com/linkedin/cytodynamics/test/NonApiTestInterface.java | 2 +- .../java/com/linkedin/cytodynamics/test/TestInterface.java | 2 +- .../com/linkedin/cytodynamics/test/TestInterfaceImpl.java | 2 +- .../linkedin/cytodynamics/nucleus/TestLoadClassResolve.java | 2 +- .../java/com/linkedin/cytodynamics/test/TestDynamicLoad.java | 2 +- .../src/test/java/com/linkedin/cytodynamics/util/JarUtil.java | 2 +- 52 files changed, 55 insertions(+), 55 deletions(-) diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/CytodynamicsClassNotFoundException.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/CytodynamicsClassNotFoundException.java index 7ae22f8..ccf4230 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/CytodynamicsClassNotFoundException.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/CytodynamicsClassNotFoundException.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/InvalidBuilderParametersException.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/InvalidBuilderParametersException.java index b53a641..c206c03 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/InvalidBuilderParametersException.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/InvalidBuilderParametersException.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/OriginValidationException.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/OriginValidationException.java index 172a532..0e056f0 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/OriginValidationException.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/exception/OriginValidationException.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/Chooser.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/Chooser.java index bb0274f..9d8174a 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/Chooser.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/Chooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/ChooserMappingFactory.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/ChooserMappingFactory.java index 8da4a3e..e574b60 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/ChooserMappingFactory.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/ChooserMappingFactory.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/FullIsolationChooser.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/FullIsolationChooser.java index 31eb044..f1c9f49 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/FullIsolationChooser.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/FullIsolationChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationChooser.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationChooser.java index 217d5f1..32458a0 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationChooser.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationListChooser.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationListChooser.java index 2fabb4e..9dbb111 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationListChooser.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/NoneIsolationListChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationChooser.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationChooser.java index b333433..9ed6c2d 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationChooser.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationListChooser.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationListChooser.java index 20e27be..bbc2692 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationListChooser.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/isolation/TransitionalIsolationListChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicate.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicate.java index d21011a..fa55609 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicate.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicate.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/GlobMatcher.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/GlobMatcher.java index b3fc8c4..bc3c32b 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/GlobMatcher.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/matcher/GlobMatcher.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Api.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Api.java index f1852b5..1367b93 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Api.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Api.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/BaseOriginRestrictionFilter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/BaseOriginRestrictionFilter.java index 306bffd..898512d 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/BaseOriginRestrictionFilter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/BaseOriginRestrictionFilter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationship.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationship.java index 6e6817b..00b23ab 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationship.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationship.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationshipBuilder.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationshipBuilder.java index 404e8b6..b78a7e8 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationshipBuilder.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/DelegateRelationshipBuilder.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilter.java index 18fa3a6..656da14 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilter.java index c4de60d..19270e5 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolatingClassLoader.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolatingClassLoader.java index 092d447..a83aa25 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolatingClassLoader.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolatingClassLoader.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolationLevel.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolationLevel.java index d0d1b76..97d4e2d 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolationLevel.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/IsolationLevel.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/JulLogAdapter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/JulLogAdapter.java index 22b2b1c..aff2a8c 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/JulLogAdapter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/JulLogAdapter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LoaderBuilder.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LoaderBuilder.java index 5cae763..b9f5bbb 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LoaderBuilder.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LoaderBuilder.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j1LogAdapter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j1LogAdapter.java index 0dfda9d..67221c1 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j1LogAdapter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j1LogAdapter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * @@ -16,7 +16,7 @@ class Log4j1LogAdapter implements LogAdapter { static boolean isAvailable() { try { - Class ignored = Class.forName("org.apache.log4j.Logger"); + Class.forName("org.apache.log4j.Logger"); return true; } catch (ClassNotFoundException e) { return false; diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j2LogAdapter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j2LogAdapter.java index ff210cd..0004bff 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j2LogAdapter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Log4j2LogAdapter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * @@ -16,7 +16,7 @@ class Log4j2LogAdapter implements LogAdapter { static boolean isAvailable() { try { - Class ignored = Class.forName("org.apache.logging.log4j.Logger"); + Class.forName("org.apache.logging.log4j.Logger"); return true; } catch (ClassNotFoundException e) { return false; diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogAdapter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogAdapter.java index 7c3f46d..ec61df6 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogAdapter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogAdapter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogApiAdapter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogApiAdapter.java index e2657c3..845a5d5 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogApiAdapter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/LogApiAdapter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Logger.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Logger.java index c788b98..1e0a7cc 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Logger.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/Logger.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginMatchResults.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginMatchResults.java index 74234c5..f406294 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginMatchResults.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginMatchResults.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestriction.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestriction.java index 6e7f8ce..4e727c3 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestriction.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestriction.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionFilter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionFilter.java index f3e953f..0930681 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionFilter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionFilter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilter.java index e63d3f9..f9f5113 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/SLF4jLogAdapter.java b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/SLF4jLogAdapter.java index 97fc48e..d3794f1 100644 --- a/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/SLF4jLogAdapter.java +++ b/cytodynamics-nucleus/src/main/java/com/linkedin/cytodynamics/nucleus/SLF4jLogAdapter.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * @@ -16,7 +16,7 @@ class SLF4jLogAdapter implements LogAdapter { static boolean isAvailable() { try { - Class ignored = Class.forName("org.slf4j.Logger"); + Class.forName("org.slf4j.Logger"); return true; } catch (ClassNotFoundException e) { return false; diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java index 6d4f33e..1bba17c 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestChooserMappingFactory.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java index de28e92..0b5f8f9 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestFullIsolationChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java index 476f3d9..fe51891 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java index 0c977c9..a764a69 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestNoneIsolationListChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java index b2ba71c..19b2c89 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java index ec541c8..46ce7bb 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/isolation/TestTransitionalIsolationListChooser.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java index 3703154..b340eb2 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/BootstrapClassPredicateTest.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java index 8058117..ea3a154 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/matcher/GlobMatcherTest.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java index fd0f6ae..583e4bd 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/FileOriginRestrictionFilterTest.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java index b3c2f19..d4da763 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/GlobPatternRestrictionFilterTest.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java index 8fd733e..338d3f5 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/OriginRestrictionTest.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java index b42e93e..d2cc5db 100644 --- a/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java +++ b/cytodynamics-nucleus/src/test/java/com/linkedin/cytodynamics/nucleus/ProtocolOriginRestrictionFilterTest.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java b/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java index b279421..f1e3126 100644 --- a/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java +++ b/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java b/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java index 6d44d06..9cfa7de 100644 --- a/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java +++ b/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java b/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java index a695c00..9ca483b 100644 --- a/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java +++ b/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java b/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java index 7011fef..24f9423 100644 --- a/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java +++ b/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java b/cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java index b848436..66e03f6 100644 --- a/cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java +++ b/cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java index 32a4fa1..41590e5 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java +++ b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java index 623d050..9a9daee 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java +++ b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java index 19c45be..a408ee3 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java +++ b/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2018-2019 LinkedIn Corporation * All Rights Reserved. * From cda59f64be154bebf538e42b19af3d2411598420 Mon Sep 17 00:00:00 2001 From: Cameron Lee Date: Thu, 6 Feb 2020 15:11:27 -0800 Subject: [PATCH 4/5] updating style for java files for license --- pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pom.xml b/pom.xml index c1a29ec..fad1e92 100644 --- a/pom.xml +++ b/pom.xml @@ -130,6 +130,9 @@ LinkedIn Corporation cytodynamics@linkedin.com + + SLASHSTAR_STYLE + **/README **/*.md From dec7f4944e9b12bf09659dccf8c1fcaa9cee6543 Mon Sep 17 00:00:00 2001 From: Cameron Lee Date: Fri, 7 Feb 2020 11:22:41 -0800 Subject: [PATCH 5/5] move test components into a aggregator module since we should not publish them --- .gitignore | 5 +- .../cytodynamics-integ-test}/pom.xml | 6 +- .../nucleus/TestLoadClassResolve.java | 8 +- .../cytodynamics/test/TestDynamicLoad.java | 120 +++++++++--------- .../linkedin/cytodynamics/util/JarUtil.java | 26 +++- .../cytodynamics-test-a}/pom.xml | 2 +- .../test/TestInterfaceAOnlyImpl.java | 0 .../cytodynamics/test/TestInterfaceImpl.java | 0 .../src/main/resources/data.txt | 0 .../cytodynamics-test-api}/pom.xml | 2 +- .../test/NonApiTestInterface.java | 0 .../cytodynamics/test/TestInterface.java | 0 .../src/main/resources/api-only.txt | 0 .../src/main/resources/data.txt | 0 .../cytodynamics-test-b}/pom.xml | 2 +- .../cytodynamics/test/TestInterfaceImpl.java | 0 .../src/main/resources/data.txt | 0 cytodynamics-test/pom.xml | 36 ++++++ pom.xml | 5 +- 19 files changed, 127 insertions(+), 85 deletions(-) rename {cytodynamics-test-container => cytodynamics-test/cytodynamics-integ-test}/pom.xml (90%) rename {cytodynamics-test-container => cytodynamics-test/cytodynamics-integ-test}/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java (94%) rename {cytodynamics-test-container => cytodynamics-test/cytodynamics-integ-test}/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java (88%) rename {cytodynamics-test-container => cytodynamics-test/cytodynamics-integ-test}/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java (61%) rename {cytodynamics-test-a => cytodynamics-test/cytodynamics-test-a}/pom.xml (94%) rename {cytodynamics-test-a => cytodynamics-test/cytodynamics-test-a}/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java (100%) rename {cytodynamics-test-a => cytodynamics-test/cytodynamics-test-a}/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java (100%) rename {cytodynamics-test-a => cytodynamics-test/cytodynamics-test-a}/src/main/resources/data.txt (100%) rename {cytodynamics-test-api => cytodynamics-test/cytodynamics-test-api}/pom.xml (94%) rename {cytodynamics-test-api => cytodynamics-test/cytodynamics-test-api}/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java (100%) rename {cytodynamics-test-api => cytodynamics-test/cytodynamics-test-api}/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java (100%) rename {cytodynamics-test-api => cytodynamics-test/cytodynamics-test-api}/src/main/resources/api-only.txt (100%) rename {cytodynamics-test-api => cytodynamics-test/cytodynamics-test-api}/src/main/resources/data.txt (100%) rename {cytodynamics-test-b => cytodynamics-test/cytodynamics-test-b}/pom.xml (94%) rename {cytodynamics-test-b => cytodynamics-test/cytodynamics-test-b}/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java (100%) rename {cytodynamics-test-b => cytodynamics-test/cytodynamics-test-b}/src/main/resources/data.txt (100%) create mode 100644 cytodynamics-test/pom.xml diff --git a/.gitignore b/.gitignore index 89c3b89..a00a90c 100644 --- a/.gitignore +++ b/.gitignore @@ -74,8 +74,5 @@ hs_err_pid* *.iml *.iws -# Linkedin stuff -.doppelganger - # files generated by maven -*/target +**/target diff --git a/cytodynamics-test-container/pom.xml b/cytodynamics-test/cytodynamics-integ-test/pom.xml similarity index 90% rename from cytodynamics-test-container/pom.xml rename to cytodynamics-test/cytodynamics-integ-test/pom.xml index d07a5c2..7b8d784 100644 --- a/cytodynamics-test-container/pom.xml +++ b/cytodynamics-test/cytodynamics-integ-test/pom.xml @@ -11,15 +11,15 @@ 4.0.0 - cytodynamics-parent + cytodynamics-test com.linkedin.cytodynamics 0.2.0 - cytodynamics-test-container + cytodynamics-integ-test 0.2.0 - Cytodynamics Test Container + Cytodynamics integration tests diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java b/cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java similarity index 94% rename from cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java rename to cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java index 41590e5..789f585 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java +++ b/cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/nucleus/TestLoadClassResolve.java @@ -32,15 +32,15 @@ public class TestLoadClassResolve { @Before public void setup() throws Exception { - URL cytodynamics = getJarUri("cytodynamics-nucleus").toURL(); - URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); + URL cytodynamics = getNucleusUri().toURL(); + URL testApiJarURL = getTestJarUri("cytodynamics-test-api").toURL(); ClassLoader parent = new URLClassLoader(new URL[]{cytodynamics, testApiJarURL}, null); ClassLoader fallback = - new URLClassLoader(new URL[]{cytodynamics, testApiJarURL, getJarUri("cytodynamics-test-a").toURL()}, null); + new URLClassLoader(new URL[]{cytodynamics, testApiJarURL, getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-b"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-b"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(parent) .withIsolationLevel(IsolationLevel.FULL) diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java b/cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java similarity index 88% rename from cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java rename to cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java index 9a9daee..d4f459a 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java +++ b/cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/test/TestDynamicLoad.java @@ -64,7 +64,7 @@ public void testLoadA() throws Exception { ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -86,11 +86,11 @@ public void testLoadA() throws Exception { @Test public void testLoadResourcesFullIsolation() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.FULL) @@ -102,11 +102,11 @@ public void testLoadResourcesFullIsolation() throws IOException { @Test public void testLoadResourcesFullIsolationNoneFound() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.FULL) @@ -119,11 +119,11 @@ public void testLoadResourcesFullIsolationNoneFound() throws IOException { @Test public void testLoadResourcesNoneIsolation() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.NONE) @@ -135,11 +135,11 @@ public void testLoadResourcesNoneIsolation() throws IOException { @Test public void testLoadResourcesNoneIsolationNoneFound() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.NONE) @@ -152,11 +152,11 @@ public void testLoadResourcesNoneIsolationNoneFound() throws IOException { @Test public void testLoadResourcesNoneIsolationOnlyInParent() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.NONE) @@ -168,11 +168,11 @@ public void testLoadResourcesNoneIsolationOnlyInParent() throws IOException { @Test public void testLoadResourcesWithDelegatePreferredFullIsolation() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.FULL) @@ -186,11 +186,11 @@ public void testLoadResourcesWithDelegatePreferredFullIsolation() throws IOExcep @Test public void testLoadResourcesWithDelegatePreferredFullIsolationOnlyInParent() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.FULL) @@ -204,11 +204,11 @@ public void testLoadResourcesWithDelegatePreferredFullIsolationOnlyInParent() th @Test public void testLoadResourcesWithDelegatePreferredNoneIsolation() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.NONE) @@ -222,11 +222,11 @@ public void testLoadResourcesWithDelegatePreferredNoneIsolation() throws IOExcep @Test public void testLoadResourcesWithDelegatePreferredNoneIsolationOnlyInParent() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.NONE) @@ -240,11 +240,11 @@ public void testLoadResourcesWithDelegatePreferredNoneIsolationOnlyInParent() th @Test public void testLoadResourcesWithWhitelist() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.FULL) @@ -256,12 +256,12 @@ public void testLoadResourcesWithWhitelist() throws IOException { @Test public void testLoadResourcesWithFallback() throws IOException { - ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-api").toURL()}, null); - ClassLoader fallbackClassLoaderA = new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-a").toURL()}, null); + ClassLoader apiClassLoader = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-api").toURL()}, null); + ClassLoader fallbackClassLoaderA = new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-b"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-b"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.NONE) @@ -280,7 +280,7 @@ public void testLoadB() throws Exception { ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-b"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-b"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -297,14 +297,14 @@ public void testLoadB() throws Exception { */ @Test public void testLoadAsParent() throws Exception { - URI apiJarUri = getJarUri("cytodynamics-test-api"); + URI apiJarUri = getTestJarUri("cytodynamics-test-api"); // need cytodynamics-nucleus for Api annotation in parent - URL cytodynamics = getJarUri("cytodynamics-nucleus").toURL(); + URL cytodynamics = getNucleusUri().toURL(); ClassLoader apiClassLoader = new URLClassLoader(new URL[]{cytodynamics, apiJarUri.toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Arrays.asList(apiJarUri, getJarUri("cytodynamics-test-a"))) + .withClasspath(Arrays.asList(apiJarUri, getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(apiClassLoader) .withIsolationLevel(IsolationLevel.FULL) @@ -330,7 +330,7 @@ public void testIsolation() throws Exception { ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -349,7 +349,7 @@ public void testIsolationLevels() throws Exception { ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.lang.*")) @@ -364,7 +364,7 @@ public void testIsolationLevels() throws Exception { loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.TRANSITIONAL) .build()) @@ -377,7 +377,7 @@ public void testIsolationLevels() throws Exception { loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.NONE) .build()) @@ -393,7 +393,7 @@ public void testBlacklist() throws Exception { ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -409,7 +409,7 @@ public void testBlacklist() throws Exception { loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.TRANSITIONAL) .addBlacklistedClassPredicate(new GlobMatcher("java.util.*")) @@ -423,7 +423,7 @@ public void testBlacklist() throws Exception { loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.NONE) .addBlacklistedClassPredicate(new GlobMatcher("java.util.Set")) @@ -440,7 +440,7 @@ public void testLoadAandB() throws Exception { ClassLoader loaderA = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -451,7 +451,7 @@ public void testLoadAandB() throws Exception { ClassLoader loaderB = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-b"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-b"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -472,11 +472,11 @@ public void testLoadAandB() throws Exception { */ @Test public void testLoadFromParentNotFallback() throws Exception { - URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); + URL testApiJarURL = getTestJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderA = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-a").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader fallbackClassLoaderB = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-b").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-b").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) @@ -505,13 +505,13 @@ public void testLoadFromParentNotFallback() throws Exception { */ @Test public void testLoadFromFallback() throws Exception { - URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); + URL testApiJarURL = getTestJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderA = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-a").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader fallbackClassLoaderA = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-a").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader fallbackClassLoaderB = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-b").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-b").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) @@ -546,13 +546,13 @@ public void testLoadFromFallback() throws Exception { */ @Test public void testLoadFromFinalFallback() throws Exception { - URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); + URL testApiJarURL = getTestJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderB = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-b").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-b").toURL()}, null); ClassLoader fallbackClassLoaderB = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-b").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-b").toURL()}, null); ClassLoader fallbackClassLoaderA = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-a").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) @@ -587,11 +587,11 @@ public void testLoadFromFinalFallback() throws Exception { */ @Test(expected = CytodynamicsClassNotFoundException.class) public void testIsolationForFallback() throws Exception { - URL testApiJarURL = getJarUri("cytodynamics-test-api").toURL(); + URL testApiJarURL = getTestJarUri("cytodynamics-test-api").toURL(); ClassLoader parentClassLoaderA = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-a").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader fallbackClassLoaderA = - new URLClassLoader(new URL[]{testApiJarURL, getJarUri("cytodynamics-test-a").toURL()}, null); + new URLClassLoader(new URL[]{testApiJarURL, getTestJarUri("cytodynamics-test-a").toURL()}, null); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) @@ -640,16 +640,16 @@ public void testIsolationForFallback() throws Exception { */ @Test public void testGraphRelationshipWithCommonParent() throws Exception { - URL apiJarUrl = getJarUri("cytodynamics-test-api").toURL(); + URL apiJarUrl = getTestJarUri("cytodynamics-test-api").toURL(); // need cytodynamics-nucleus for Api annotation in parent - URL cytodynamics = getJarUri("cytodynamics-nucleus").toURL(); + URL cytodynamics = getNucleusUri().toURL(); ClassLoader commonParent = new URLClassLoader(new URL[]{cytodynamics, apiJarUrl}, null); ClassLoader partialDelegation = - new URLClassLoader(new URL[]{getJarUri("cytodynamics-test-a").toURL()}, commonParent); + new URLClassLoader(new URL[]{getTestJarUri("cytodynamics-test-a").toURL()}, commonParent); ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-b"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-b"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withDelegateClassLoader(commonParent) .withIsolationLevel(IsolationLevel.FULL) @@ -699,7 +699,7 @@ public void testParentPreferred() throws Exception { ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri(jarToUse))) + .withClasspath(Collections.singletonList(getTestJarUri(jarToUse))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -718,7 +718,7 @@ public void testParentPreferred() throws Exception { public void testParentPreferredBootstrapClass() throws Exception { ClassLoader loader = LoaderBuilder.anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new BootstrapClassPredicate()) @@ -740,7 +740,7 @@ public void testRepeatedLoad() throws Exception { ClassLoader loader = LoaderBuilder .anIsolatingLoader() .withOriginRestriction(OriginRestriction.allowByDefault()) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) @@ -761,7 +761,7 @@ public void testRepeatedLoad() throws Exception { @Test public void testSecurity() throws Exception { File tempDir = new File(System.getProperty("java.io.tmpdir")); - Path sourcePath = new File(getJarUri("cytodynamics-test-a")).toPath(); + Path sourcePath = new File(getTestJarUri("cytodynamics-test-a")).toPath(); File destinationFile = new File(tempDir, "a.jar"); if (destinationFile.exists()) { @@ -777,7 +777,7 @@ public void testSecurity() throws Exception { LoaderBuilder .anIsolatingLoader() .withOriginRestriction(onlyTmpOriginRestriction) - .withClasspath(Collections.singletonList(getJarUri("cytodynamics-test-a"))) + .withClasspath(Collections.singletonList(getTestJarUri("cytodynamics-test-a"))) .withParentRelationship(DelegateRelationshipBuilder.builder() .withIsolationLevel(IsolationLevel.FULL) .addWhitelistedClassPredicate(new GlobMatcher("java.*")) diff --git a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java b/cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java similarity index 61% rename from cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java rename to cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java index a408ee3..451f9cd 100644 --- a/cytodynamics-test-container/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java +++ b/cytodynamics-test/cytodynamics-integ-test/src/test/java/com/linkedin/cytodynamics/util/JarUtil.java @@ -13,11 +13,23 @@ public class JarUtil { + private static final String CYTODYNAMICS_NUCLEUS = "cytodynamics-nucleus"; + + public static URI getNucleusUri() throws IOException { + return getJarUri(findBaseDirectory(), CYTODYNAMICS_NUCLEUS); + } + /** - * Find the {@link URI} corersponding to the JAR for a module. + * Find the {@link URI} corresponding to the JAR for a test module. + * This assumes that the test module is inside a module "cytodynamics-test", which is inside the top-level module. */ - public static URI getJarUri(String moduleName) throws IOException { - File targetDir = new File(new File(findBaseDirectory(), moduleName), "target"); + public static URI getTestJarUri(String moduleName) throws IOException { + File testDir = new File(findBaseDirectory(), "cytodynamics-test"); + return getJarUri(testDir, moduleName); + } + + private static URI getJarUri(File moduleParent, String moduleName) { + File targetDir = new File(new File(moduleParent, moduleName), "target"); if (!targetDir.exists()) { throw new IllegalStateException(String.format("No target directory exists for module %s", moduleName)); @@ -44,16 +56,16 @@ public static URI getJarUri(String moduleName) throws IOException { private static File findBaseDirectory() throws IOException { File currentDirectory = new File(".").getCanonicalFile(); - File testADirectory = new File(currentDirectory, "cytodynamics-test-a"); - if (testADirectory.exists() && testADirectory.isDirectory()) { + File nucleusDirectory = new File(currentDirectory, CYTODYNAMICS_NUCLEUS); + if (nucleusDirectory.exists() && nucleusDirectory.isDirectory()) { return currentDirectory; } while (currentDirectory.getParentFile() != null) { currentDirectory = currentDirectory.getParentFile(); - testADirectory = new File(currentDirectory, "cytodynamics-test-a"); - if (testADirectory.exists() && testADirectory.isDirectory()) { + nucleusDirectory = new File(currentDirectory, CYTODYNAMICS_NUCLEUS); + if (nucleusDirectory.exists() && nucleusDirectory.isDirectory()) { return currentDirectory; } } diff --git a/cytodynamics-test-a/pom.xml b/cytodynamics-test/cytodynamics-test-a/pom.xml similarity index 94% rename from cytodynamics-test-a/pom.xml rename to cytodynamics-test/cytodynamics-test-a/pom.xml index de882a3..d4745d7 100644 --- a/cytodynamics-test-a/pom.xml +++ b/cytodynamics-test/cytodynamics-test-a/pom.xml @@ -11,7 +11,7 @@ 4.0.0 - cytodynamics-parent + cytodynamics-test com.linkedin.cytodynamics 0.2.0 diff --git a/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java b/cytodynamics-test/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java similarity index 100% rename from cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java rename to cytodynamics-test/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceAOnlyImpl.java diff --git a/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java b/cytodynamics-test/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java similarity index 100% rename from cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java rename to cytodynamics-test/cytodynamics-test-a/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java diff --git a/cytodynamics-test-a/src/main/resources/data.txt b/cytodynamics-test/cytodynamics-test-a/src/main/resources/data.txt similarity index 100% rename from cytodynamics-test-a/src/main/resources/data.txt rename to cytodynamics-test/cytodynamics-test-a/src/main/resources/data.txt diff --git a/cytodynamics-test-api/pom.xml b/cytodynamics-test/cytodynamics-test-api/pom.xml similarity index 94% rename from cytodynamics-test-api/pom.xml rename to cytodynamics-test/cytodynamics-test-api/pom.xml index 3a6583e..4ea1813 100644 --- a/cytodynamics-test-api/pom.xml +++ b/cytodynamics-test/cytodynamics-test-api/pom.xml @@ -11,7 +11,7 @@ 4.0.0 - cytodynamics-parent + cytodynamics-test com.linkedin.cytodynamics 0.2.0 diff --git a/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java b/cytodynamics-test/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java similarity index 100% rename from cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java rename to cytodynamics-test/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/NonApiTestInterface.java diff --git a/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java b/cytodynamics-test/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java similarity index 100% rename from cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java rename to cytodynamics-test/cytodynamics-test-api/src/main/java/com/linkedin/cytodynamics/test/TestInterface.java diff --git a/cytodynamics-test-api/src/main/resources/api-only.txt b/cytodynamics-test/cytodynamics-test-api/src/main/resources/api-only.txt similarity index 100% rename from cytodynamics-test-api/src/main/resources/api-only.txt rename to cytodynamics-test/cytodynamics-test-api/src/main/resources/api-only.txt diff --git a/cytodynamics-test-api/src/main/resources/data.txt b/cytodynamics-test/cytodynamics-test-api/src/main/resources/data.txt similarity index 100% rename from cytodynamics-test-api/src/main/resources/data.txt rename to cytodynamics-test/cytodynamics-test-api/src/main/resources/data.txt diff --git a/cytodynamics-test-b/pom.xml b/cytodynamics-test/cytodynamics-test-b/pom.xml similarity index 94% rename from cytodynamics-test-b/pom.xml rename to cytodynamics-test/cytodynamics-test-b/pom.xml index 629e4dc..efffcc1 100644 --- a/cytodynamics-test-b/pom.xml +++ b/cytodynamics-test/cytodynamics-test-b/pom.xml @@ -11,7 +11,7 @@ 4.0.0 - cytodynamics-parent + cytodynamics-test com.linkedin.cytodynamics 0.2.0 diff --git a/cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java b/cytodynamics-test/cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java similarity index 100% rename from cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java rename to cytodynamics-test/cytodynamics-test-b/src/main/java/com/linkedin/cytodynamics/test/TestInterfaceImpl.java diff --git a/cytodynamics-test-b/src/main/resources/data.txt b/cytodynamics-test/cytodynamics-test-b/src/main/resources/data.txt similarity index 100% rename from cytodynamics-test-b/src/main/resources/data.txt rename to cytodynamics-test/cytodynamics-test-b/src/main/resources/data.txt diff --git a/cytodynamics-test/pom.xml b/cytodynamics-test/pom.xml new file mode 100644 index 0000000..dffd886 --- /dev/null +++ b/cytodynamics-test/pom.xml @@ -0,0 +1,36 @@ + + + + 4.0.0 + com.linkedin.cytodynamics + cytodynamics-test + 0.2.0 + pom + Cytodynamics testing modules + + + cytodynamics-parent + com.linkedin.cytodynamics + 0.2.0 + + + + true + + + + cytodynamics-test-api + cytodynamics-test-a + cytodynamics-test-b + cytodynamics-integ-test + + + diff --git a/pom.xml b/pom.xml index fad1e92..f8c2b17 100644 --- a/pom.xml +++ b/pom.xml @@ -42,10 +42,7 @@ cytodynamics-nucleus - cytodynamics-test-a - cytodynamics-test-b - cytodynamics-test-container - cytodynamics-test-api + cytodynamics-test