1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.file;
12
13 import org.mule.api.transport.MessageAdapter;
14 import org.mule.tck.AbstractMuleTestCase;
15 import org.mule.transport.DefaultMessageAdapter;
16 import org.mule.transport.file.FileConnector;
17
18
19
20
21 public class ExpressionFilenameParserTestCase extends AbstractMuleTestCase
22 {
23 private ExpressionFilenameParser parser;
24 private MessageAdapter adapter;
25
26 protected void doSetUp() throws Exception
27 {
28 super.doSetUp();
29
30 parser = new ExpressionFilenameParser();
31
32 adapter = new DefaultMessageAdapter("hello");
33 adapter.setProperty("foo", "bar");
34 adapter.setProperty(FileConnector.PROPERTY_ORIGINAL_FILENAME, "originalName");
35 adapter.setProperty(FileConnector.PROPERTY_FILENAME, "newName");
36 }
37
38 public void testAntStyleParsing()
39 {
40 String result = parser.getFilename(adapter, "Test1_${function:count}.txt");
41 assertEquals("Test1_0.txt", result);
42
43 result = parser.getFilename(adapter, "Test2_${function:datestamp-yyMMdd}.txt");
44 assertEquals(16, result.length());
45
46 result = parser.getFilename(adapter, "Test3_${function:datestamp}.txt");
47 assertEquals(31, result.length());
48
49 result = parser.getFilename(adapter, "Test4_${function:systime}.txt");
50 assertFalse(result.equals("Test4_${function:systime}.txt"));
51
52 result = parser.getFilename(adapter, "Test5_${function:uuid}.txt");
53 assertFalse(result.equals("Test5_${function:uuid}.txt"));
54
55 result = parser.getFilename(adapter, "Test6_${function:count}.txt");
56 assertEquals("Test6_1.txt", result);
57
58 result = parser.getFilename(adapter, "Test7_${header:originalFilename}.txt");
59 assertEquals("Test7_originalName.txt", result);
60
61 result = parser.getFilename(adapter, "Test8_${header:foo}.txt");
62 assertEquals("Test8_bar.txt", result);
63
64 result = parser.getFilename(adapter, "Test9_${header:xxx}.txt");
65 assertEquals("Test9_${header:xxx}.txt", result);
66
67 }
68
69 public void testSquareStyleParsing()
70 {
71 String result = parser.getFilename(adapter, "Test1_[function:count].txt");
72 assertEquals("Test1_0.txt", result);
73
74 result = parser.getFilename(adapter, "Test2_[function:dateStamp-yyMMdd].txt");
75 assertEquals("got result: " + result, 16, result.length());
76
77 result = parser.getFilename(adapter, "Test3_[function:dateStamp].txt");
78 assertEquals("got result: '" + result, 31, result.length());
79
80 result = parser.getFilename(adapter, "Test4_[function:systime].txt");
81 assertFalse(result.equals("Test4_[function:systime].txt"));
82
83 result = parser.getFilename(adapter, "Test5_[function:uuid].txt");
84 assertFalse(result.equals("Test5_[function:uuid].txt"));
85
86 result = parser.getFilename(adapter, "Test6_[function:count].txt");
87 assertEquals("Test6_1.txt", result);
88
89 result = parser.getFilename(adapter, "Test7_[header:originalFilename].txt");
90 assertEquals("Test7_originalName.txt", result);
91
92 result = parser.getFilename(adapter, "Test8_[header:foo].txt");
93 assertEquals("Test8_bar.txt", result);
94
95 result = parser.getFilename(adapter, "Test9_[header:xxx].txt");
96 assertEquals("Test9_[header:xxx].txt", result);
97 }
98
99 }