Java Code Examples for org.apache.hadoop.fs.shell.FsCommand#run()

The following examples show how to use org.apache.hadoop.fs.shell.FsCommand#run() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TestFsShellReturnCode.java    From hadoop with Apache License 2.0 6 votes vote down vote up
/**
 * Tests valid and invalid group arguments to chgrp.
 */
@Test
public void testChgrpGroupValidity() {
  // This test only covers argument parsing, so override to skip processing.
  FsCommand chgrp = new FsShellPermissions.Chgrp() {
    @Override
    protected void processArgument(PathData item) {
    }
  };
  chgrp.setConf(new Configuration());

  // The following are valid (no exception expected).
  chgrp.run("group", "/path");

  // The following are valid only on Windows.
  assertValidArgumentsOnWindows(chgrp, "Group With Spaces", "/path");

  // The following are invalid (exception expected).
  assertIllegalArguments(chgrp, ":gr#oup", "/path");
  assertIllegalArguments(chgrp, ":gr%oup", "/path");
}
 
Example 2
Source File: TestFsShellReturnCode.java    From big-c with Apache License 2.0 6 votes vote down vote up
/**
 * Tests valid and invalid group arguments to chgrp.
 */
@Test
public void testChgrpGroupValidity() {
  // This test only covers argument parsing, so override to skip processing.
  FsCommand chgrp = new FsShellPermissions.Chgrp() {
    @Override
    protected void processArgument(PathData item) {
    }
  };
  chgrp.setConf(new Configuration());

  // The following are valid (no exception expected).
  chgrp.run("group", "/path");

  // The following are valid only on Windows.
  assertValidArgumentsOnWindows(chgrp, "Group With Spaces", "/path");

  // The following are invalid (exception expected).
  assertIllegalArguments(chgrp, ":gr#oup", "/path");
  assertIllegalArguments(chgrp, ":gr%oup", "/path");
}
 
Example 3
Source File: TestFsShellReturnCode.java    From hadoop with Apache License 2.0 5 votes vote down vote up
/**
 * Tests combinations of valid and invalid user and group arguments to chown.
 */
@Test
public void testChownUserAndGroupValidity() {
  // This test only covers argument parsing, so override to skip processing.
  FsCommand chown = new FsShellPermissions.Chown() {
    @Override
    protected void processArgument(PathData item) {
    }
  };
  chown.setConf(new Configuration());

  // The following are valid (no exception expected).
  chown.run("user", "/path");
  chown.run("user:group", "/path");
  chown.run(":group", "/path");

  // The following are valid only on Windows.
  assertValidArgumentsOnWindows(chown, "User With Spaces", "/path");
  assertValidArgumentsOnWindows(chown, "User With Spaces:group", "/path");
  assertValidArgumentsOnWindows(chown, "User With Spaces:Group With Spaces",
    "/path");
  assertValidArgumentsOnWindows(chown, "user:Group With Spaces", "/path");
  assertValidArgumentsOnWindows(chown, ":Group With Spaces", "/path");

  // The following are invalid (exception expected).
  assertIllegalArguments(chown, "us!er", "/path");
  assertIllegalArguments(chown, "us^er", "/path");
  assertIllegalArguments(chown, "user:gr#oup", "/path");
  assertIllegalArguments(chown, "user:gr%oup", "/path");
  assertIllegalArguments(chown, ":gr#oup", "/path");
  assertIllegalArguments(chown, ":gr%oup", "/path");
}
 
Example 4
Source File: TestFsShellReturnCode.java    From hadoop with Apache License 2.0 5 votes vote down vote up
/**
 * Asserts that for the given command, the given arguments are considered
 * invalid.  The expectation is that the command will throw
 * IllegalArgumentException.
 * 
 * @param cmd FsCommand to check
 * @param args String... arguments to check
 */
private static void assertIllegalArguments(FsCommand cmd, String... args) {
  try {
    cmd.run(args);
    fail("Expected IllegalArgumentException from args: " +
      Arrays.toString(args));
  } catch (IllegalArgumentException e) {
  }
}
 
Example 5
Source File: TestFsShellReturnCode.java    From hadoop with Apache License 2.0 5 votes vote down vote up
/**
 * Asserts that for the given command, the given arguments are considered valid
 * on Windows, but invalid elsewhere.
 * 
 * @param cmd FsCommand to check
 * @param args String... arguments to check
 */
private static void assertValidArgumentsOnWindows(FsCommand cmd,
    String... args) {
  if (Shell.WINDOWS) {
    cmd.run(args);
  } else {
    assertIllegalArguments(cmd, args);
  }
}
 
Example 6
Source File: TestFsShellReturnCode.java    From big-c with Apache License 2.0 5 votes vote down vote up
/**
 * Tests combinations of valid and invalid user and group arguments to chown.
 */
@Test
public void testChownUserAndGroupValidity() {
  // This test only covers argument parsing, so override to skip processing.
  FsCommand chown = new FsShellPermissions.Chown() {
    @Override
    protected void processArgument(PathData item) {
    }
  };
  chown.setConf(new Configuration());

  // The following are valid (no exception expected).
  chown.run("user", "/path");
  chown.run("user:group", "/path");
  chown.run(":group", "/path");

  // The following are valid only on Windows.
  assertValidArgumentsOnWindows(chown, "User With Spaces", "/path");
  assertValidArgumentsOnWindows(chown, "User With Spaces:group", "/path");
  assertValidArgumentsOnWindows(chown, "User With Spaces:Group With Spaces",
    "/path");
  assertValidArgumentsOnWindows(chown, "user:Group With Spaces", "/path");
  assertValidArgumentsOnWindows(chown, ":Group With Spaces", "/path");

  // The following are invalid (exception expected).
  assertIllegalArguments(chown, "us!er", "/path");
  assertIllegalArguments(chown, "us^er", "/path");
  assertIllegalArguments(chown, "user:gr#oup", "/path");
  assertIllegalArguments(chown, "user:gr%oup", "/path");
  assertIllegalArguments(chown, ":gr#oup", "/path");
  assertIllegalArguments(chown, ":gr%oup", "/path");
}
 
Example 7
Source File: TestFsShellReturnCode.java    From big-c with Apache License 2.0 5 votes vote down vote up
/**
 * Asserts that for the given command, the given arguments are considered
 * invalid.  The expectation is that the command will throw
 * IllegalArgumentException.
 * 
 * @param cmd FsCommand to check
 * @param args String... arguments to check
 */
private static void assertIllegalArguments(FsCommand cmd, String... args) {
  try {
    cmd.run(args);
    fail("Expected IllegalArgumentException from args: " +
      Arrays.toString(args));
  } catch (IllegalArgumentException e) {
  }
}
 
Example 8
Source File: TestFsShellReturnCode.java    From big-c with Apache License 2.0 5 votes vote down vote up
/**
 * Asserts that for the given command, the given arguments are considered valid
 * on Windows, but invalid elsewhere.
 * 
 * @param cmd FsCommand to check
 * @param args String... arguments to check
 */
private static void assertValidArgumentsOnWindows(FsCommand cmd,
    String... args) {
  if (Shell.WINDOWS) {
    cmd.run(args);
  } else {
    assertIllegalArguments(cmd, args);
  }
}