1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.boot;
12
13 import org.mule.tck.AbstractMuleTestCase;
14 import org.mule.util.FileUtils;
15 import org.mule.util.SystemUtils;
16
17 import java.io.File;
18 import java.net.URL;
19 import java.util.List;
20
21 public class DefaultMuleClassPathConfigTestCase extends AbstractMuleTestCase
22 {
23
24
25
26
27
28
29
30
31 public void testMuleBaseUserFolderOverridesMuleHome() throws Exception
32 {
33 final File tempDir = SystemUtils.getJavaIoTmpDir();
34 final long now = System.currentTimeMillis();
35 final File currentTestFolder = new File(tempDir, "mule_test_delete_me_" + now);
36
37 File testMuleHome = new File(currentTestFolder, "mule_home");
38 File testMuleBase = new File(currentTestFolder, "mule_base");
39
40 try
41 {
42 assertTrue("Couldn't create test Mule home folder.", testMuleHome.mkdirs());
43 assertTrue("Couldn't create test Mule base folder.", testMuleBase.mkdirs());
44
45 DefaultMuleClassPathConfig cp = new DefaultMuleClassPathConfig(testMuleHome, testMuleBase);
46 List urls = cp.getURLs();
47 assertNotNull("Urls shouldn't be null.", urls);
48 assertFalse("Urls shouldn't be empty.", urls.isEmpty());
49
50 URL muleBaseUserFolder = new File(testMuleBase, DefaultMuleClassPathConfig.USER_DIR)
51 .getAbsoluteFile().toURI().toURL();
52 String expectedMuleBaseUserFolder = muleBaseUserFolder.toExternalForm();
53 String firstUrl = ((URL) urls.get(0)).toExternalForm();
54 assertEquals("$MULE_BASE/lib/user must come first.", expectedMuleBaseUserFolder, firstUrl);
55 }
56 finally
57 {
58
59 FileUtils.deleteTree(currentTestFolder);
60 }
61 }
62
63 }