1
2
3
4
5
6
7
8
9
10 package org.mule.transport.file;
11
12 import org.mule.api.endpoint.InboundEndpoint;
13 import org.mule.api.routing.filter.Filter;
14 import org.mule.api.service.Service;
15 import org.mule.service.ServiceCompositeMessageSource;
16 import org.mule.tck.FunctionalTestCase;
17 import org.mule.transport.file.filters.FilenameRegexFilter;
18 import org.mule.transport.file.transformers.FileToByteArray;
19 import org.mule.transport.file.transformers.FileToString;
20 import org.mule.util.FileUtils;
21
22 import java.io.File;
23 import java.util.List;
24
25 public class FileNamespaceHandlerTestCase extends FunctionalTestCase
26 {
27 protected String getConfigResources()
28 {
29 return "file-namespace-config.xml";
30 }
31
32 @Override
33 protected void doTearDown() throws Exception
34 {
35 File workDir = new File(".mule");
36 assertTrue(FileUtils.deleteTree(workDir));
37
38 super.doTearDown();
39 }
40
41 public void testConfig() throws Exception
42 {
43 FileConnector c = (FileConnector)muleContext.getRegistry().lookupConnector("fileConnector");
44 assertNotNull(c);
45
46 assertEquals(1234, c.getFileAge());
47 assertEquals("abc", c.getMoveToDirectory());
48 assertEquals("bcd", c.getMoveToPattern());
49 assertEquals("cde", c.getOutputPattern());
50 assertEquals(2345, c.getPollingFrequency());
51 assertEquals(".mule/readFromDirectory", c.getReadFromDirectory());
52 assertEquals(".mule/writeToDirectory", c.getWriteToDirectory());
53 assertEquals(".mule/workDirectory", c.getWorkDirectory());
54 assertEquals("#[function:uuid]", c.getWorkFileNamePattern());
55 assertEquals(false, c.isAutoDelete());
56 assertEquals(true, c.isOutputAppend());
57 assertEquals(true, c.isSerialiseObjects());
58 assertEquals(false, c.isStreaming());
59 assertTrue(c.isRecursive());
60
61
62
63
64
65 FilenameParser parser = c.getFilenameParser();
66 assertTrue(parser.getClass().getName(), c.getFilenameParser() instanceof DummyFilenameParser);
67
68 assertTrue(c.isConnected());
69 assertTrue(c.isStarted());
70 }
71
72 public void testThirdConnector() throws Exception
73 {
74 FileConnector c = (FileConnector)muleContext.getRegistry().lookupConnector("thirdConnector");
75 assertNotNull(c);
76
77 FilenameParser parser = c.getFilenameParser();
78 assertTrue(parser.getClass().getName(), c.getFilenameParser() instanceof ExpressionFilenameParser);
79
80 assertTrue(c.isConnected());
81 assertTrue(c.isStarted());
82 assertFalse(c.isRecursive());
83 }
84
85 public void testTransformersOnEndpoints() throws Exception
86 {
87 Object transformer1 = muleContext.getEndpointFactory().getInboundEndpoint("ep1").getTransformers().get(0);
88 assertNotNull(transformer1);
89 assertEquals(FileToByteArray.class, transformer1.getClass());
90
91 Object transformer2 = muleContext.getEndpointFactory().getInboundEndpoint("ep2").getTransformers().get(0);
92 assertNotNull(transformer2);
93 assertEquals(FileToString.class, transformer2.getClass());
94 }
95
96 public void testFileFilter() throws Exception
97 {
98 Service service = muleContext.getRegistry().lookupService("Test");
99 assertNotNull(service);
100 List endpoints = ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints();
101 assertEquals(1, endpoints.size());
102
103 InboundEndpoint endpoint = (InboundEndpoint) endpoints.get(0);
104 Filter filter = endpoint.getFilter();
105 assertNotNull(filter);
106
107 assertTrue(filter instanceof FilenameRegexFilter);
108 final FilenameRegexFilter f = (FilenameRegexFilter) filter;
109 assertEquals(false, f.isCaseSensitive());
110 assertEquals("(^SemDirector_Report-\\d)(.*)(tab$)", f.getPattern());
111 }
112 }