Search in sources :

Example 1 with TestClassNotFoundException

use of org.mule.tck.classlaoder.TestClassLoader.TestClassNotFoundException in project mule by mulesoft.

the class FineGrainedControlClassLoaderTestCase method usesParentFirstAndChildLookupAndFails.

@Test
public void usesParentFirstAndChildLookupAndFails() throws Exception {
    ClassLoader parent = Thread.currentThread().getContextClassLoader();
    final ClassLoaderLookupPolicy lookupPolicy = mock(ClassLoaderLookupPolicy.class);
    when(lookupPolicy.getClassLookupStrategy(TEST_CLASS_NAME)).thenReturn(PARENT_FIRST);
    expected.expect(CompositeClassNotFoundException.class);
    expected.expectMessage(startsWith("Cannot load class '" + TEST_CLASS_NAME + "': ["));
    FineGrainedControlClassLoader ext = buildFineGrainedControlClassLoader(parent, lookupPolicy);
    expected.expect(expressionMatches((e) -> ((CompositeClassNotFoundException) e).getExceptions(), contains(hasMessage(is(TEST_CLASS_NAME)), expressionMatches((e) -> ((TestClassNotFoundException) e).getClassLoader(), is((ClassLoader) ext)))));
    invokeTestClassMethod(ext);
}
Also used : CoreMatchers.is(org.hamcrest.CoreMatchers.is) System.lineSeparator(java.lang.System.lineSeparator) FunctionExpressionMatcher.expressionMatches(org.mule.tck.junit4.matcher.FunctionExpressionMatcher.expressionMatches) PARENT_ONLY(org.mule.runtime.module.artifact.api.classloader.ParentOnlyLookupStrategy.PARENT_ONLY) URL(java.net.URL) CoreMatchers.startsWith(org.hamcrest.CoreMatchers.startsWith) PARENT_FIRST(org.mule.runtime.module.artifact.api.classloader.ParentFirstLookupStrategy.PARENT_FIRST) ClassUtils(org.mule.runtime.core.api.util.ClassUtils) URLClassLoader(java.net.URLClassLoader) AbstractMuleTestCase(org.mule.tck.junit4.AbstractMuleTestCase) SmallTest(org.mule.tck.size.SmallTest) TestClassNotFoundException(org.mule.tck.classlaoder.TestClassLoader.TestClassNotFoundException) Method(java.lang.reflect.Method) ExpectedException(org.junit.rules.ExpectedException) CoreMatchers.sameInstance(org.hamcrest.CoreMatchers.sameInstance) ThrowableMessageMatcher.hasMessage(org.junit.internal.matchers.ThrowableMessageMatcher.hasMessage) ClassLoaderLookupPolicy(org.mule.runtime.module.artifact.api.classloader.ClassLoaderLookupPolicy) CompositeClassNotFoundException(org.mule.runtime.module.artifact.api.classloader.exception.CompositeClassNotFoundException) TestClassLoader(org.mule.tck.classlaoder.TestClassLoader) CHILD_FIRST(org.mule.runtime.module.artifact.api.classloader.ChildFirstLookupStrategy.CHILD_FIRST) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) Rule(org.junit.Rule) FineGrainedControlClassLoader(org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader) Matchers.contains(org.hamcrest.Matchers.contains) Assert.assertEquals(org.junit.Assert.assertEquals) Mockito.mock(org.mockito.Mockito.mock) FineGrainedControlClassLoader(org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader) TestClassNotFoundException(org.mule.tck.classlaoder.TestClassLoader.TestClassNotFoundException) ClassLoaderLookupPolicy(org.mule.runtime.module.artifact.api.classloader.ClassLoaderLookupPolicy) URLClassLoader(java.net.URLClassLoader) TestClassLoader(org.mule.tck.classlaoder.TestClassLoader) FineGrainedControlClassLoader(org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader) CompositeClassNotFoundException(org.mule.runtime.module.artifact.api.classloader.exception.CompositeClassNotFoundException) SmallTest(org.mule.tck.size.SmallTest) Test(org.junit.Test)

Example 2 with TestClassNotFoundException

use of org.mule.tck.classlaoder.TestClassLoader.TestClassNotFoundException in project mule by mulesoft.

the class FineGrainedControlClassLoaderTestCase method usesChildFirstThenParentLookupAndFails.

@Test
public void usesChildFirstThenParentLookupAndFails() throws Exception {
    ClassLoader parent = Thread.currentThread().getContextClassLoader();
    final ClassLoaderLookupPolicy lookupPolicy = mock(ClassLoaderLookupPolicy.class);
    when(lookupPolicy.getClassLookupStrategy(TEST_CLASS_NAME)).thenReturn(CHILD_FIRST);
    expected.expect(CompositeClassNotFoundException.class);
    expected.expectMessage(startsWith("Cannot load class '" + TEST_CLASS_NAME + "': ["));
    FineGrainedControlClassLoader ext = buildFineGrainedControlClassLoader(parent, lookupPolicy);
    expected.expect(expressionMatches((e) -> ((CompositeClassNotFoundException) e).getExceptions(), contains(expressionMatches((e) -> ((TestClassNotFoundException) e).getClassLoader(), is((ClassLoader) ext)), hasMessage(is(TEST_CLASS_NAME)))));
    invokeTestClassMethod(ext);
}
Also used : CoreMatchers.is(org.hamcrest.CoreMatchers.is) System.lineSeparator(java.lang.System.lineSeparator) FunctionExpressionMatcher.expressionMatches(org.mule.tck.junit4.matcher.FunctionExpressionMatcher.expressionMatches) PARENT_ONLY(org.mule.runtime.module.artifact.api.classloader.ParentOnlyLookupStrategy.PARENT_ONLY) URL(java.net.URL) CoreMatchers.startsWith(org.hamcrest.CoreMatchers.startsWith) PARENT_FIRST(org.mule.runtime.module.artifact.api.classloader.ParentFirstLookupStrategy.PARENT_FIRST) ClassUtils(org.mule.runtime.core.api.util.ClassUtils) URLClassLoader(java.net.URLClassLoader) AbstractMuleTestCase(org.mule.tck.junit4.AbstractMuleTestCase) SmallTest(org.mule.tck.size.SmallTest) TestClassNotFoundException(org.mule.tck.classlaoder.TestClassLoader.TestClassNotFoundException) Method(java.lang.reflect.Method) ExpectedException(org.junit.rules.ExpectedException) CoreMatchers.sameInstance(org.hamcrest.CoreMatchers.sameInstance) ThrowableMessageMatcher.hasMessage(org.junit.internal.matchers.ThrowableMessageMatcher.hasMessage) ClassLoaderLookupPolicy(org.mule.runtime.module.artifact.api.classloader.ClassLoaderLookupPolicy) CompositeClassNotFoundException(org.mule.runtime.module.artifact.api.classloader.exception.CompositeClassNotFoundException) TestClassLoader(org.mule.tck.classlaoder.TestClassLoader) CHILD_FIRST(org.mule.runtime.module.artifact.api.classloader.ChildFirstLookupStrategy.CHILD_FIRST) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) Rule(org.junit.Rule) FineGrainedControlClassLoader(org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader) Matchers.contains(org.hamcrest.Matchers.contains) Assert.assertEquals(org.junit.Assert.assertEquals) Mockito.mock(org.mockito.Mockito.mock) FineGrainedControlClassLoader(org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader) TestClassNotFoundException(org.mule.tck.classlaoder.TestClassLoader.TestClassNotFoundException) ClassLoaderLookupPolicy(org.mule.runtime.module.artifact.api.classloader.ClassLoaderLookupPolicy) URLClassLoader(java.net.URLClassLoader) TestClassLoader(org.mule.tck.classlaoder.TestClassLoader) FineGrainedControlClassLoader(org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader) CompositeClassNotFoundException(org.mule.runtime.module.artifact.api.classloader.exception.CompositeClassNotFoundException) SmallTest(org.mule.tck.size.SmallTest) Test(org.junit.Test)

Aggregations

System.lineSeparator (java.lang.System.lineSeparator)2 Method (java.lang.reflect.Method)2 URL (java.net.URL)2 URLClassLoader (java.net.URLClassLoader)2 CoreMatchers.is (org.hamcrest.CoreMatchers.is)2 CoreMatchers.sameInstance (org.hamcrest.CoreMatchers.sameInstance)2 CoreMatchers.startsWith (org.hamcrest.CoreMatchers.startsWith)2 Matchers.contains (org.hamcrest.Matchers.contains)2 Assert.assertEquals (org.junit.Assert.assertEquals)2 Rule (org.junit.Rule)2 Test (org.junit.Test)2 ThrowableMessageMatcher.hasMessage (org.junit.internal.matchers.ThrowableMessageMatcher.hasMessage)2 ExpectedException (org.junit.rules.ExpectedException)2 Mockito.mock (org.mockito.Mockito.mock)2 Mockito.when (org.mockito.Mockito.when)2 ClassUtils (org.mule.runtime.core.api.util.ClassUtils)2 CHILD_FIRST (org.mule.runtime.module.artifact.api.classloader.ChildFirstLookupStrategy.CHILD_FIRST)2 ClassLoaderLookupPolicy (org.mule.runtime.module.artifact.api.classloader.ClassLoaderLookupPolicy)2 FineGrainedControlClassLoader (org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader)2 PARENT_FIRST (org.mule.runtime.module.artifact.api.classloader.ParentFirstLookupStrategy.PARENT_FIRST)2