1
2
3
4
5
6
7
8
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 }