Search in sources :

Example 1 with CHILD_FIRST

use of org.mule.runtime.module.artifact.api.classloader.ChildFirstLookupStrategy.CHILD_FIRST 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)1 Method (java.lang.reflect.Method)1 URL (java.net.URL)1 URLClassLoader (java.net.URLClassLoader)1 CoreMatchers.is (org.hamcrest.CoreMatchers.is)1 CoreMatchers.sameInstance (org.hamcrest.CoreMatchers.sameInstance)1 CoreMatchers.startsWith (org.hamcrest.CoreMatchers.startsWith)1 Matchers.contains (org.hamcrest.Matchers.contains)1 Assert.assertEquals (org.junit.Assert.assertEquals)1 Rule (org.junit.Rule)1 Test (org.junit.Test)1 ThrowableMessageMatcher.hasMessage (org.junit.internal.matchers.ThrowableMessageMatcher.hasMessage)1 ExpectedException (org.junit.rules.ExpectedException)1 Mockito.mock (org.mockito.Mockito.mock)1 Mockito.when (org.mockito.Mockito.when)1 ClassUtils (org.mule.runtime.core.api.util.ClassUtils)1 CHILD_FIRST (org.mule.runtime.module.artifact.api.classloader.ChildFirstLookupStrategy.CHILD_FIRST)1 ClassLoaderLookupPolicy (org.mule.runtime.module.artifact.api.classloader.ClassLoaderLookupPolicy)1 FineGrainedControlClassLoader (org.mule.runtime.module.artifact.api.classloader.FineGrainedControlClassLoader)1 PARENT_FIRST (org.mule.runtime.module.artifact.api.classloader.ParentFirstLookupStrategy.PARENT_FIRST)1