1   /*
2    * $Id: SimpleFilenameParserTestCase.java 7976 2007-08-21 14:26:13Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.providers.file;
12  
13  import org.mule.providers.DefaultMessageAdapter;
14  import org.mule.tck.AbstractMuleTestCase;
15  import org.mule.umo.provider.UMOMessageAdapter;
16  
17  /**
18   * Test the syntax of the SimpleFilename parser
19   */
20  public class SimpleFilenameParserTestCase extends AbstractMuleTestCase
21  {
22      private SimpleFilenameParser parser;
23      private UMOMessageAdapter adapter;
24  
25      protected void doSetUp() throws Exception
26      {
27          super.doSetUp();
28  
29          parser = new SimpleFilenameParser();
30  
31          adapter = new DefaultMessageAdapter("hello");
32          adapter.setProperty("foo", "bar");
33          adapter.setProperty(FileConnector.PROPERTY_ORIGINAL_FILENAME, "originalName");
34          adapter.setProperty(FileConnector.PROPERTY_FILENAME, "newName");
35      }
36  
37      public void testAntStyleParsing()
38      {
39          String result = parser.getFilename(adapter, "Test1_${COUNT}.txt");
40          assertEquals("Test1_0.txt", result);
41  
42          result = parser.getFilename(adapter, "Test2_${DATE:yyMMdd}.txt");
43          assertEquals(16, result.length());
44  
45          result = parser.getFilename(adapter, "Test3_${DATE}.txt");
46          assertEquals(31, result.length());
47  
48          result = parser.getFilename(adapter, "Test4_${SYSTIME}.txt");
49          assertFalse(result.equals("Test4_${SYSTIME}.txt"));
50  
51          result = parser.getFilename(adapter, "Test5_${UUID}.txt");
52          assertFalse(result.equals("Test5_${UUID}.txt"));
53  
54          result = parser.getFilename(adapter, "Test6_${COUNT}.txt");
55          assertEquals("Test6_1.txt", result);
56  
57          result = parser.getFilename(adapter, "Test7_${ORIGINALNAME}.txt");
58          assertEquals("Test7_originalName.txt", result);
59  
60          result = parser.getFilename(adapter, "Test8_${foo}.txt");
61          assertEquals("Test8_bar.txt", result);
62  
63          result = parser.getFilename(adapter, "Test9_${xxx}.txt");
64          assertEquals("Test9_${xxx}.txt", result);
65  
66      }
67  
68      public void testSquareStyleParsing()
69      {
70          String result = parser.getFilename(adapter, "Test1_[COUNT].txt");
71          assertEquals("Test1_0.txt", result);
72  
73          result = parser.getFilename(adapter, "Test2_[DATE:yyMMdd].txt");
74          assertEquals("got result: " + result, 16, result.length());
75  
76          result = parser.getFilename(adapter, "Test3_[DATE].txt");
77          assertEquals("got result: '" + result, 31, result.length());
78  
79          result = parser.getFilename(adapter, "Test4_[SYSTIME].txt");
80          assertFalse(result.equals("Test4_[SYSTIME].txt"));
81  
82          result = parser.getFilename(adapter, "Test5_[UUID].txt");
83          assertFalse(result.equals("Test5_[UUID].txt"));
84  
85          result = parser.getFilename(adapter, "Test6_[COUNT].txt");
86          assertEquals("Test6_1.txt", result);
87  
88          result = parser.getFilename(adapter, "Test7_[ORIGINALNAME].txt");
89          assertEquals("Test7_originalName.txt", result);
90  
91          result = parser.getFilename(adapter, "Test8_[foo].txt");
92          assertEquals("Test8_bar.txt", result);
93  
94          result = parser.getFilename(adapter, "Test9_[xxx].txt");
95          assertEquals("Test9_[xxx].txt", result);
96      }
97  
98  }