source: proiecte/HadoopJUnit/hadoop-0.20.1/src/test/org/apache/hadoop/hdfs/TestDFSMkdirs.java @ 120

Last change on this file since 120 was 120, checked in by (none), 14 years ago

Added the mail files for the Hadoop JUNit Project

  • Property svn:executable set to *
File size: 2.5 KB
Line 
1/**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18package org.apache.hadoop.hdfs;
19
20import junit.framework.TestCase;
21import java.io.*;
22import org.apache.hadoop.conf.Configuration;
23import org.apache.hadoop.fs.FileSystem;
24import org.apache.hadoop.fs.Path;
25
26
27/**
28 * This class tests that the DFS command mkdirs cannot create subdirectories
29 * from a file when passed an illegal path.  HADOOP-281.
30 */
31public class TestDFSMkdirs extends TestCase {
32
33  private void writeFile(FileSystem fileSys, Path name) throws IOException {
34    DataOutputStream stm = fileSys.create(name);
35    stm.writeBytes("wchien");
36    stm.close();
37  }
38 
39  /**
40   * Tests mkdirs can create a directory that does not exist and will
41   * not create a subdirectory off a file.
42   */
43  public void testDFSMkdirs() throws IOException {
44    Configuration conf = new Configuration();
45    MiniDFSCluster cluster = new MiniDFSCluster(conf, 2, true, null);
46    FileSystem fileSys = cluster.getFileSystem();
47    try {
48      // First create a new directory with mkdirs
49      Path myPath = new Path("/test/mkdirs");
50      assertTrue(fileSys.mkdirs(myPath));
51      assertTrue(fileSys.exists(myPath));
52      assertTrue(fileSys.mkdirs(myPath));
53
54      // Second, create a file in that directory.
55      Path myFile = new Path("/test/mkdirs/myFile");
56      writeFile(fileSys, myFile);
57   
58      // Third, use mkdir to create a subdirectory off of that file,
59      // and check that it fails.
60      Path myIllegalPath = new Path("/test/mkdirs/myFile/subdir");
61      Boolean exist = true;
62      try {
63        fileSys.mkdirs(myIllegalPath);
64      } catch (IOException e) {
65        exist = false;
66      }
67      assertFalse(exist);
68      assertFalse(fileSys.exists(myIllegalPath));
69      fileSys.delete(myFile, true);
70       
71    } finally {
72      fileSys.close();
73      cluster.shutdown();
74    }
75  }
76}
Note: See TracBrowser for help on using the repository browser.