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.tck.FunctionalTestCase;
16 import org.mule.transport.file.filters.FilenameRegexFilter;
17 import org.mule.transport.file.transformers.FileToByteArray;
18 import org.mule.transport.file.transformers.FileToString;
19
20 import java.util.List;
21
22 public class FileNamespaceHandlerTestCase extends FunctionalTestCase
23 {
24 protected String getConfigResources()
25 {
26 return "file-namespace-config.xml";
27 }
28
29 public void testConfig() throws Exception
30 {
31 FileConnector c = (FileConnector)muleContext.getRegistry().lookupConnector("fileConnector");
32 assertNotNull(c);
33
34 assertEquals(1234, c.getFileAge());
35 assertEquals("abc", c.getMoveToDirectory());
36 assertEquals("bcd", c.getMoveToPattern());
37 assertEquals("cde", c.getOutputPattern());
38 assertEquals(2345, c.getPollingFrequency());
39
40
41
42 assertEquals(false, c.isAutoDelete());
43 assertEquals(true, c.isOutputAppend());
44 assertEquals(true, c.isSerialiseObjects());
45 assertEquals(false, c.isStreaming());
46
47
48
49
50
51 FilenameParser parser = c.getFilenameParser();
52 assertTrue(parser.getClass().getName(), c.getFilenameParser() instanceof DummyFilenameParser);
53
54 assertTrue(c.isConnected());
55 assertTrue(c.isStarted());
56 }
57
58 public void testSecondConnector() throws Exception
59 {
60 FileConnector c = (FileConnector)muleContext.getRegistry().lookupConnector("secondConnector");
61 assertNotNull(c);
62
63 FilenameParser parser = c.getFilenameParser();
64 assertTrue(parser.getClass().getName(), c.getFilenameParser() instanceof SimpleFilenameParser);
65
66 assertTrue(c.isConnected());
67 assertTrue(c.isStarted());
68 }
69
70 public void testThirdConnector() throws Exception
71 {
72 FileConnector c = (FileConnector)muleContext.getRegistry().lookupConnector("thirdConnector");
73 assertNotNull(c);
74
75 FilenameParser parser = c.getFilenameParser();
76 assertTrue(parser.getClass().getName(), c.getFilenameParser() instanceof ExpressionFilenameParser);
77
78 assertTrue(c.isConnected());
79 assertTrue(c.isStarted());
80 }
81
82 public void testTransformersOnEndpoints() throws Exception
83 {
84 Object transformer1 = muleContext.getRegistry().lookupEndpointFactory().getInboundEndpoint("ep1").getTransformers().get(0);
85 assertNotNull(transformer1);
86 assertEquals(FileToByteArray.class, transformer1.getClass());
87
88 Object transformer2 = muleContext.getRegistry().lookupEndpointFactory().getInboundEndpoint("ep2").getTransformers().get(0);
89 assertNotNull(transformer2);
90 assertEquals(FileToString.class, transformer2.getClass());
91 }
92
93 public void testFileFilter() throws Exception
94 {
95 Service service = muleContext.getRegistry().lookupService("Test");
96 assertNotNull(service);
97 List endpoints = service.getInboundRouter().getEndpoints();
98 assertEquals(1, endpoints.size());
99
100 InboundEndpoint endpoint = (InboundEndpoint) endpoints.get(0);
101 Filter filter = endpoint.getFilter();
102 assertNotNull(filter);
103
104 assertTrue(filter instanceof FilenameRegexFilter);
105 final FilenameRegexFilter f = (FilenameRegexFilter) filter;
106 assertEquals(false, f.isCaseSensitive());
107 assertEquals("(^SemDirector_Report-\\d)(.*)(tab$)", f.getPattern());
108 }
109 }