View Javadoc

1   /*
2    * $Id: FineGrainedControlClassLoaderTest.java 22850 2011-09-04 00:18:09Z mariano.capurro $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.module.launcher;
12  
13  import org.junit.Test;
14  
15  import java.net.URL;
16  import java.util.HashSet;
17  import java.util.Set;
18  
19  import static org.junit.Assert.assertFalse;
20  import static org.junit.Assert.assertTrue;
21  
22  public class FineGrainedControlClassLoaderTest
23  {
24      @Test
25      public void isBlockedFQClassName() throws Exception
26      {
27          Set<String> overrides = new HashSet<String>(1);
28          overrides.add("-org.mycompany.MyClass");
29          FineGrainedControlClassLoader classLoader = new FineGrainedControlClassLoader(new URL[0], null,
30              overrides);
31          assertTrue(classLoader.isBlocked("org.mycompany.MyClass"));
32          assertFalse(classLoader.isBlocked("MyClass"));
33          assertFalse(classLoader.isBlocked("org.mycompany.MyClassFactory"));
34      }
35  
36      @Test
37      public void isBlockedNotFQClassName() throws Exception
38      {
39          Set<String> overrides = new HashSet<String>(1);
40          overrides.add("-MyClass");
41          FineGrainedControlClassLoader classLoader = new FineGrainedControlClassLoader(new URL[0], null,
42              overrides);
43          assertTrue(classLoader.isBlocked("MyClass"));
44          assertFalse(classLoader.isBlocked("MyClassFactory"));
45          assertFalse(classLoader.isBlocked("org.mycompany.MyClass"));
46      }
47  
48      @Test
49      public void isBlockedPackageName() throws Exception
50      {
51          Set<String> overrides = new HashSet<String>(1);
52          overrides.add("-org.mycompany");
53          FineGrainedControlClassLoader classLoader = new FineGrainedControlClassLoader(new URL[0], null,
54              overrides);
55          assertTrue(classLoader.isBlocked("org.mycompany.MyClass"));
56          assertTrue(classLoader.isBlocked("org.mycompany.somepackage.MyClass"));
57      }
58  
59      @Test
60      public void isOverriddenFQClassName() throws Exception
61      {
62          Set<String> overrides = new HashSet<String>(1);
63          overrides.add("org.mycompany.MyClass");
64          FineGrainedControlClassLoader classLoader = new FineGrainedControlClassLoader(new URL[0], null,
65              overrides);
66          assertTrue(classLoader.isOverridden("org.mycompany.MyClass"));
67          assertFalse(classLoader.isOverridden("MyClass"));
68          assertFalse(classLoader.isOverridden("org.mycompany.MyClassFactory"));
69      }
70  
71      @Test
72      public void isOverriddenNotFQClassName() throws Exception
73      {
74          Set<String> overrides = new HashSet<String>(1);
75          overrides.add("MyClass");
76          FineGrainedControlClassLoader classLoader = new FineGrainedControlClassLoader(new URL[0], null,
77              overrides);
78          assertTrue(classLoader.isOverridden("MyClass"));
79          assertFalse(classLoader.isOverridden("MyClassFactory"));
80          assertFalse(classLoader.isOverridden("org.mycompany.MyClass"));
81      }
82  
83      @Test
84      public void isOverriddenPackageName() throws Exception
85      {
86          Set<String> overrides = new HashSet<String>(1);
87          overrides.add("org.mycompany");
88          FineGrainedControlClassLoader classLoader = new FineGrainedControlClassLoader(new URL[0], null,
89              overrides);
90          assertTrue(classLoader.isOverridden("org.mycompany.MyClass"));
91          assertTrue(classLoader.isOverridden("org.mycompany.somepackage.MyClass"));
92      }
93  }