KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > net > ftp > parser > OS400FTPEntryParserTest


1 /*
2  * Copyright 2004 The Apache Software Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.commons.net.ftp.parser;
17
18 import junit.framework.TestSuite;
19 import org.apache.commons.net.ftp.FTPFile;
20 import org.apache.commons.net.ftp.FTPFileEntryParser;
21
22 import java.util.Calendar JavaDoc;
23
24 /**
25  * @version $Id: OS400FTPEntryParserTest.java 155429 2005-02-26 13:13:04Z dirkv $
26  */

27
28 public class OS400FTPEntryParserTest extends CompositeFTPParseTestFramework
29 {
30     private static final String JavaDoc[][] badsamples =
31 {
32     {
33         "PEP 4019 04/03/18 18:58:16 STMF einladung.zip",
34         "PEP 422 03/24 14:06:26 *STMF readme",
35         "PEP 6409 04/03/24 30:06:29 *STMF build.xml",
36         "PEP USR 36864 04/03/24 14:06:34 *DIR dir1/",
37         "PEP 3686404/03/24 14:06:47 *DIR zdir2/"
38             },
39
40             {
41                 "----rwxr-x 1PEP 0 4019 Mar 18 18:58 einladung.zip",
42                 "----rwxr-x 1 PEP 0 xx 422 Mar 24 14:06 readme",
43                 "----rwxr-x 1 PEP 0 8492 Apr 07 30:13 build.xml",
44                 "d---rwxr-x 2 PEP USR 0 45056 Mar 24 14:06 dir1",
45                 "d---rwxr-x 2 PEP 0 45056Mar 24 14:06 zdir2"
46             }
47     };
48
49     private static final String JavaDoc[][] goodsamples =
50         {
51     {
52         "PEP 4019 04/03/18 18:58:16 *STMF einladung.zip",
53         "PEP 422 04/03/24 14:06:26 *STMF readme",
54         "PEP 6409 04/03/24 14:06:29 *STMF build.xml",
55         "PEP 36864 04/03/24 14:06:34 *DIR dir1/",
56         "PEP 36864 04/03/24 14:06:47 *DIR zdir2/"
57             },
58             {
59                 "----rwxr-x 1 PEP 0 4019 Mar 18 18:58 einladung.zip",
60                 "----rwxr-x 1 PEP 0 422 Mar 24 14:06 readme",
61                 "----rwxr-x 1 PEP 0 8492 Apr 07 07:13 build.xml",
62                 "d---rwxr-x 2 PEP 0 45056 Mar 24 14:06 dir1",
63                 "d---rwxr-x 2 PEP 0 45056 Mar 24 14:06 zdir2"
64             }
65     };
66
67     /**
68      * @see junit.framework.TestCase#TestCase(String)
69      */

70     public OS400FTPEntryParserTest(String JavaDoc name)
71     {
72         super(name);
73     }
74
75     /**
76      * @see FTPParseTestFramework#getBadListing()
77      */

78     protected String JavaDoc[][] getBadListings()
79     {
80         return badsamples;
81     }
82
83     /**
84      * @see FTPParseTestFramework#getGoodListing()
85      */

86     protected String JavaDoc[][] getGoodListings()
87     {
88         return goodsamples;
89     }
90
91     /**
92      * @see FTPParseTestFramework#getParser()
93      */

94     protected FTPFileEntryParser getParser()
95     {
96         return new CompositeFileEntryParser(new FTPFileEntryParser[]
97         {
98             new OS400FTPEntryParser(),
99             new UnixFTPEntryParser()
100         });
101     }
102
103     /**
104      * @see FTPParseTestFramework#testParseFieldsOnDirectory()
105      */

106     public void testParseFieldsOnDirectory() throws Exception JavaDoc
107     {
108         FTPFile f = getParser().parseFTPEntry("PEP 36864 04/03/24 14:06:34 *DIR dir1/");
109         assertNotNull("Could not parse entry.",
110                       f);
111         assertTrue("Should have been a directory.",
112                    f.isDirectory());
113         assertEquals("PEP",
114                      f.getUser());
115         assertEquals("dir1",
116                      f.getName());
117         assertEquals(36864,
118                      f.getSize());
119
120         Calendar JavaDoc cal = Calendar.getInstance();
121         cal.set(Calendar.MONTH, Calendar.MARCH);
122
123         cal.set(Calendar.YEAR, 2004);
124         cal.set(Calendar.DATE, 24);
125         cal.set(Calendar.HOUR_OF_DAY, 14);
126         cal.set(Calendar.MINUTE, 6);
127         cal.set(Calendar.SECOND, 34);
128
129         assertEquals(df.format(cal.getTime()),
130                      df.format(f.getTimestamp().getTime()));
131     }
132
133     protected void doAdditionalGoodTests(String JavaDoc test, FTPFile f)
134     {
135         if (test.startsWith("d"))
136         {
137             assertEquals("directory.type",
138                 FTPFile.DIRECTORY_TYPE, f.getType());
139         }
140     }
141
142     /**
143      * @see FTPParseTestFramework#testParseFieldsOnFile()
144      */

145     public void testParseFieldsOnFile() throws Exception JavaDoc
146     {
147         FTPFile f = getParser().parseFTPEntry("PEP 5000000000 04/03/24 14:06:29 *STMF build.xml");
148         assertNotNull("Could not parse entry.",
149                       f);
150         assertTrue("Should have been a file.",
151                    f.isFile());
152         assertEquals("PEP",
153                      f.getUser());
154         assertEquals("build.xml",
155                      f.getName());
156         assertEquals(5000000000L,
157                      f.getSize());
158
159         Calendar JavaDoc cal = Calendar.getInstance();
160
161         cal.set(Calendar.DATE, 24);
162         cal.set(Calendar.MONTH, Calendar.MARCH);
163         cal.set(Calendar.YEAR, 2004);
164         cal.set(Calendar.HOUR_OF_DAY, 14);
165         cal.set(Calendar.MINUTE, 6);
166         cal.set(Calendar.SECOND, 29);
167         assertEquals(df.format(cal.getTime()),
168                      df.format(f.getTimestamp().getTime()));
169     }
170
171     /**
172      * Method suite.
173      *
174      * @return TestSuite
175      */

176     public static TestSuite suite()
177     {
178         return(new TestSuite(OS400FTPEntryParserTest.class));
179     }
180 }
181
Popular Tags