Exemple #1
0
  @Test
  public void testRemoveThenRemountFSAndGetEntry() throws Exception {

    if (!config.isReadOnly()) {
      setUp();

      String filename = "a file to test.text";
      FSDirectory rootDir = getFs().getRootEntry().getDirectory();
      /*FSEntry entry =*/ rootDir.addFile(filename);
      FSEntry gotEntry = rootDir.getEntry(filename);
      assertNotNull("must contain the added file", gotEntry);
      assertEquals("returned bad entry", filename, gotEntry.getName());

      rootDir.remove(filename);
      assertNull("must not contain the removed file", rootDir.getEntry(filename));

      remountFS(config, config.isReadOnly());

      FSDirectory rootDir2 = getFs().getRootEntry().getDirectory();
      TestUtils.listEntries(rootDir2.iterator());
      assertFalse("same ref (rootDir) after remount", rootDir == rootDir2);
      FSEntry gotEntry2 = rootDir2.getEntry(filename);
      assertNull("must not contain the removed file", gotEntry2);
    }
  }
Exemple #2
0
  @Test
  public void testAddFile() throws Exception {
    setUp();

    FSDirectory rootDir = getFs().getRootEntry().getDirectory();
    String fileName = "A new file.text";

    log.debug("Root dir before testAddFile :");
    TestUtils.listEntries(rootDir.iterator());
    if (config.isReadOnly()) {
      try {
        rootDir.addFile(fileName);
        fail("addFile must fail in readOnly mode");
      } catch (ReadOnlyFileSystemException e) {
        // success
      }

      assertContainsOnly("must be empty", rootDir.iterator(), getEmptyDirNames(config, true));
    } else {
      try {
        FSEntry entry = rootDir.addFile(fileName);
        // success
        log.debug("added file entry=" + FSUtils.toString(entry, true));
      } catch (ReadOnlyFileSystemException e) {
        fail("addFile must succeed in read/write mode");
      }
      assertContainsOnly(
          "must contain " + fileName,
          rootDir.iterator(),
          TestUtils.append(getEmptyDirNames(config, true), new String[] {fileName}));
      FSEntry gotEntry = rootDir.getEntry(fileName);
      assertNotNull("must contain the added file", gotEntry);
      assertEquals("returned bad entry", fileName, gotEntry.getName());
    }
    log.debug("Root dir after testAddFile :\n" + rootDir);
    TestUtils.listEntries(rootDir.iterator());
  }