HADOOP-15773. Fixing checkstyle and other issues raised by Yetus.

This commit is contained in:
Sean Mackrory 2018-09-19 10:14:49 -06:00
parent a55d26b23e
commit 8e831ba458
10 changed files with 144 additions and 119 deletions

View File

@ -249,7 +249,6 @@ public String getPasswordString(String key) throws IOException {
* @param defaultValue Class returned if none is configured * @param defaultValue Class returned if none is configured
* @param xface Interface shared by all possible values * @param xface Interface shared by all possible values
* @return Highest-precedence Class object that was found * @return Highest-precedence Class object that was found
* @throws IOException
*/ */
public <U> Class<? extends U> getClass(String name, Class<? extends U> defaultValue, Class<U> xface) { public <U> Class<? extends U> getClass(String name, Class<? extends U> defaultValue, Class<U> xface) {
return rawConfig.getClass(accountConf(name), return rawConfig.getClass(accountConf(name),
@ -263,7 +262,6 @@ public <U> Class<? extends U> getClass(String name, Class<? extends U> defaultVa
* @param name Account-agnostic configuration key * @param name Account-agnostic configuration key
* @param defaultValue Value returned if none is configured * @param defaultValue Value returned if none is configured
* @return value in String form if one exists, else null * @return value in String form if one exists, else null
* @throws IOException
*/ */
public <T extends Enum<T>> T getEnum(String name, T defaultValue) { public <T extends Enum<T>> T getEnum(String name, T defaultValue) {
return rawConfig.getEnum(accountConf(name), return rawConfig.getEnum(accountConf(name),

View File

@ -581,8 +581,8 @@ public void modifyAclEntries(final Path path, final List<AclEntry> aclSpec)
if (!getIsNamespaceEnabeld()) { if (!getIsNamespaceEnabeld()) {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"modifyAclEntries is only supported by storage accounts " + "modifyAclEntries is only supported by storage accounts with the "
"with the hierarchical namespace enabled."); + "hierarchical namespace enabled.");
} }
if (aclSpec == null || aclSpec.isEmpty()) { if (aclSpec == null || aclSpec.isEmpty()) {
@ -612,8 +612,8 @@ public void removeAclEntries(final Path path, final List<AclEntry> aclSpec)
if (!getIsNamespaceEnabeld()) { if (!getIsNamespaceEnabeld()) {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"removeAclEntries is only supported by storage accounts " + "removeAclEntries is only supported by storage accounts with the "
"with the hierarchical namespace enabled."); + "hierarchical namespace enabled.");
} }
if (aclSpec == null || aclSpec.isEmpty()) { if (aclSpec == null || aclSpec.isEmpty()) {
@ -639,8 +639,8 @@ public void removeDefaultAcl(final Path path) throws IOException {
if (!getIsNamespaceEnabeld()) { if (!getIsNamespaceEnabeld()) {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"removeDefaultAcl is only supported by storage accounts" + "removeDefaultAcl is only supported by storage accounts with the "
" with the hierarchical namespace enabled."); + "hierarchical namespace enabled.");
} }
try { try {
@ -664,8 +664,8 @@ public void removeAcl(final Path path) throws IOException {
if (!getIsNamespaceEnabeld()) { if (!getIsNamespaceEnabeld()) {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"removeAcl is only supported by storage accounts" + "removeAcl is only supported by storage accounts with the "
" with the hierarchical namespace enabled."); + "hierarchical namespace enabled.");
} }
try { try {
@ -692,8 +692,8 @@ public void setAcl(final Path path, final List<AclEntry> aclSpec)
if (!getIsNamespaceEnabeld()) { if (!getIsNamespaceEnabeld()) {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"setAcl is only supported by storage accounts" + "setAcl is only supported by storage accounts with the hierarchical "
" with the hierarchical namespace enabled."); + "namespace enabled.");
} }
if (aclSpec == null || aclSpec.size() == 0) { if (aclSpec == null || aclSpec.size() == 0) {
@ -720,8 +720,8 @@ public AclStatus getAclStatus(final Path path) throws IOException {
if (!getIsNamespaceEnabeld()) { if (!getIsNamespaceEnabeld()) {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"getAclStatus is only supported by storage accounts" + "getAclStatus is only supported by storage account with the "
" with the hierarchical namespace enabled."); + "hierarchical namespace enabled.");
} }
try { try {

View File

@ -47,7 +47,7 @@ public interface CustomTokenProviderAdaptee {
* @param accountName Account Name * @param accountName Account Name
* @throws IOException if instance can not be configured. * @throws IOException if instance can not be configured.
*/ */
void initialize(Configuration configuration, final String accountName) void initialize(Configuration configuration, String accountName)
throws IOException; throws IOException;
/** /**

View File

@ -35,7 +35,7 @@
/** /**
* Because FileSystem.Statistics is per FileSystem, so statistics can not be ran in * Because FileSystem.Statistics is per FileSystem, so statistics can not be ran in
* parallel, hence in this test file, force them to run in sequential. * parallel, hence in this test file, force them to run in sequential.
* */ */
public class ITestNativeFileSystemStatistics extends AbstractWasbTestWithTimeout{ public class ITestNativeFileSystemStatistics extends AbstractWasbTestWithTimeout{
@Test @Test

View File

@ -23,7 +23,6 @@
import java.util.UUID; import java.util.UUID;
import org.apache.hadoop.fs.CommonConfigurationKeys; import org.apache.hadoop.fs.CommonConfigurationKeys;
import org.apache.hadoop.fs.azurebfs.services.AuthType;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Assume; import org.junit.Assume;
import org.junit.Test; import org.junit.Test;

View File

@ -56,6 +56,20 @@ public class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
private static final FsAction READ = FsAction.READ; private static final FsAction READ = FsAction.READ;
private static final FsAction READ_EXECUTE = FsAction.READ_EXECUTE; private static final FsAction READ_EXECUTE = FsAction.READ_EXECUTE;
private static final FsAction READ_WRITE = FsAction.READ_WRITE; private static final FsAction READ_WRITE = FsAction.READ_WRITE;
private static final short RW = 0600;
private static final short RWX = 0700;
private static final short RWX_R = 0740;
private static final short RWX_RW = 0760;
private static final short RWX_RWX = 0770;
private static final short RWX_RX = 0750;
private static final short RWX_RX_RX = 0755;
private static final short RW_R = 0640;
private static final short RW_RW = 0660;
private static final short RW_RWX = 0670;
private static final short RW_R_R = 0644;
private static final short STICKY_RWX_RWX = 01770;
private static Path testRoot = new Path("/test"); private static Path testRoot = new Path("/test");
private Path path; private Path path;
@ -68,7 +82,7 @@ public void testModifyAclEntries() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.mkdirs(path, FsPermission.createImmutable((short) 0750)); fs.mkdirs(path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
@ -93,7 +107,7 @@ public void testModifyAclEntries() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, READ_EXECUTE), aclEntry(DEFAULT, MASK, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -102,7 +116,7 @@ public void testModifyAclEntriesOnlyAccess() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -117,7 +131,7 @@ public void testModifyAclEntriesOnlyAccess() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", READ_EXECUTE), aclEntry(ACCESS, USER, "foo", READ_EXECUTE),
aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned); aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -125,7 +139,7 @@ public void testModifyAclEntriesOnlyDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
@ -140,7 +154,7 @@ public void testModifyAclEntriesOnlyDefault() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, READ_EXECUTE), aclEntry(DEFAULT, MASK, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -149,7 +163,7 @@ public void testModifyAclEntriesMinimal() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, "foo", READ_WRITE)); aclEntry(ACCESS, USER, "foo", READ_WRITE));
fs.modifyAclEntries(path, aclSpec); fs.modifyAclEntries(path, aclSpec);
@ -158,7 +172,7 @@ public void testModifyAclEntriesMinimal() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", READ_WRITE), aclEntry(ACCESS, USER, "foo", READ_WRITE),
aclEntry(ACCESS, GROUP, READ) }, returned); aclEntry(ACCESS, GROUP, READ) }, returned);
assertPermission(fs, (short) 0660); assertPermission(fs, (short) RW_RW);
} }
@Test @Test
@ -166,7 +180,7 @@ public void testModifyAclEntriesMinimalDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
@ -178,7 +192,7 @@ public void testModifyAclEntriesMinimalDefault() throws Exception {
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -187,7 +201,7 @@ public void testModifyAclEntriesCustomMask() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
aclEntry(ACCESS, MASK, NONE)); aclEntry(ACCESS, MASK, NONE));
@ -197,7 +211,7 @@ public void testModifyAclEntriesCustomMask() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
aclEntry(ACCESS, GROUP, READ) }, returned); aclEntry(ACCESS, GROUP, READ) }, returned);
assertPermission(fs, (short) 0600); assertPermission(fs, (short) RW);
} }
@Test @Test
@ -250,7 +264,7 @@ public void testModifyAclEntriesDefaultOnFile() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.modifyAclEntries(path, aclSpec); fs.modifyAclEntries(path, aclSpec);
@ -261,7 +275,7 @@ public void testRemoveAclEntries() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -281,7 +295,7 @@ public void testRemoveAclEntries() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, READ_EXECUTE), aclEntry(DEFAULT, MASK, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -290,7 +304,7 @@ public void testRemoveAclEntriesOnlyAccess() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -306,7 +320,7 @@ public void testRemoveAclEntriesOnlyAccess() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "bar", READ_WRITE), aclEntry(ACCESS, USER, "bar", READ_WRITE),
aclEntry(ACCESS, GROUP, READ_WRITE) }, returned); aclEntry(ACCESS, GROUP, READ_WRITE) }, returned);
assertPermission(fs, (short) 0760); assertPermission(fs, (short) RWX_RW);
} }
@Test @Test
@ -314,7 +328,7 @@ public void testRemoveAclEntriesOnlyDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE), aclEntry(ACCESS, GROUP, READ_EXECUTE),
@ -333,7 +347,7 @@ public void testRemoveAclEntriesOnlyDefault() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, READ_EXECUTE), aclEntry(DEFAULT, MASK, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -342,7 +356,7 @@ public void testRemoveAclEntriesMinimal() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0760)); fs.setPermission(path, FsPermission.createImmutable((short) RWX_RW));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -356,7 +370,7 @@ public void testRemoveAclEntriesMinimal() throws Exception {
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, (short) 0760); assertPermission(fs, (short) RWX_RW);
} }
@Test @Test
@ -364,7 +378,7 @@ public void testRemoveAclEntriesMinimalDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -384,7 +398,7 @@ public void testRemoveAclEntriesMinimalDefault() throws Exception {
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -431,7 +445,7 @@ public void testRemoveDefaultAcl() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -445,7 +459,7 @@ public void testRemoveDefaultAcl() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned); aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned);
assertPermission(fs, (short) 0770); assertPermission(fs, (short) RWX_RWX);
} }
@Test @Test
@ -454,7 +468,7 @@ public void testRemoveDefaultAclOnlyAccess() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -467,7 +481,7 @@ public void testRemoveDefaultAclOnlyAccess() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned); aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned);
assertPermission(fs, (short) 0770); assertPermission(fs, (short) RWX_RWX);
} }
@Test @Test
@ -475,7 +489,7 @@ public void testRemoveDefaultAclOnlyDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
@ -483,7 +497,7 @@ public void testRemoveDefaultAclOnlyDefault() throws Exception {
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -491,12 +505,12 @@ public void testRemoveDefaultAclMinimal() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
fs.removeDefaultAcl(path); fs.removeDefaultAcl(path);
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -518,7 +532,7 @@ public void testRemoveDefaultAclStickyBit() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned); aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned);
assertPermission(fs, (short) 01770); assertPermission(fs, (short) STICKY_RWX_RWX);
} }
@Test(expected=FileNotFoundException.class) @Test(expected=FileNotFoundException.class)
@ -535,7 +549,7 @@ public void testRemoveAcl() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -549,7 +563,7 @@ public void testRemoveAcl() throws Exception {
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -558,12 +572,12 @@ public void testRemoveAclMinimalAcl() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
fs.removeAcl(path); fs.removeAcl(path);
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, (short) 0640); assertPermission(fs, (short) RW_R);
} }
@Test @Test
@ -591,7 +605,7 @@ public void testRemoveAclOnlyDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE), aclEntry(ACCESS, GROUP, READ_EXECUTE),
@ -602,7 +616,7 @@ public void testRemoveAclOnlyDefault() throws Exception {
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test(expected=FileNotFoundException.class) @Test(expected=FileNotFoundException.class)
@ -619,7 +633,7 @@ public void testSetAcl() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -637,7 +651,7 @@ public void testSetAcl() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, ALL), aclEntry(DEFAULT, MASK, ALL),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0770); assertPermission(fs, (short) RWX_RWX);
} }
@Test @Test
@ -646,7 +660,7 @@ public void testSetAclOnlyAccess() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, READ_WRITE), aclEntry(ACCESS, USER, READ_WRITE),
aclEntry(ACCESS, USER, "foo", READ), aclEntry(ACCESS, USER, "foo", READ),
@ -658,7 +672,7 @@ public void testSetAclOnlyAccess() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", READ), aclEntry(ACCESS, USER, "foo", READ),
aclEntry(ACCESS, GROUP, READ) }, returned); aclEntry(ACCESS, GROUP, READ) }, returned);
assertPermission(fs, (short) 0640); assertPermission(fs, (short) RW_R);
} }
@Test @Test
@ -666,7 +680,7 @@ public void testSetAclOnlyDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
@ -678,7 +692,7 @@ public void testSetAclOnlyDefault() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, ALL), aclEntry(DEFAULT, MASK, ALL),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -687,7 +701,7 @@ public void testSetAclMinimal() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0644)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, READ_WRITE), aclEntry(ACCESS, USER, READ_WRITE),
aclEntry(ACCESS, USER, "foo", READ), aclEntry(ACCESS, USER, "foo", READ),
@ -702,7 +716,7 @@ public void testSetAclMinimal() throws Exception {
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, (short) 0640); assertPermission(fs, (short) RW_R);
} }
@Test @Test
@ -710,7 +724,7 @@ public void testSetAclMinimalDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
@ -722,7 +736,7 @@ public void testSetAclMinimalDefault() throws Exception {
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0750); assertPermission(fs, (short) RWX_RX);
} }
@Test @Test
@ -731,7 +745,7 @@ public void testSetAclCustomMask() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, READ_WRITE), aclEntry(ACCESS, USER, READ_WRITE),
aclEntry(ACCESS, USER, "foo", READ), aclEntry(ACCESS, USER, "foo", READ),
@ -744,7 +758,7 @@ public void testSetAclCustomMask() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", READ), aclEntry(ACCESS, USER, "foo", READ),
aclEntry(ACCESS, GROUP, READ) }, returned); aclEntry(ACCESS, GROUP, READ) }, returned);
assertPermission(fs, (short) 0670); assertPermission(fs, (short) RW_RWX);
} }
@Test @Test
@ -770,7 +784,7 @@ public void testSetAclStickyBit() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, ALL), aclEntry(DEFAULT, MASK, ALL),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 01770); assertPermission(fs, (short) STICKY_RWX_RWX);
} }
@Test(expected=FileNotFoundException.class) @Test(expected=FileNotFoundException.class)
@ -793,7 +807,7 @@ public void testSetAclDefaultOnFile() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
@ -804,7 +818,7 @@ public void testSetPermission() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
@ -812,7 +826,7 @@ public void testSetPermission() throws Exception {
aclEntry(ACCESS, OTHER, NONE), aclEntry(ACCESS, OTHER, NONE),
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
fs.setPermission(path, FsPermission.createImmutable((short) 0700)); fs.setPermission(path, FsPermission.createImmutable((short) RWX));
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
@ -823,7 +837,7 @@ public void testSetPermission() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, ALL), aclEntry(DEFAULT, MASK, ALL),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0700); assertPermission(fs, (short) RWX);
} }
@Test @Test
@ -832,20 +846,20 @@ public void testSetPermissionOnlyAccess() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
fs.create(path).close(); fs.create(path).close();
fs.setPermission(path, FsPermission.createImmutable((short) 0640)); fs.setPermission(path, FsPermission.createImmutable((short) RW_R));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, READ_WRITE), aclEntry(ACCESS, USER, READ_WRITE),
aclEntry(ACCESS, USER, "foo", READ), aclEntry(ACCESS, USER, "foo", READ),
aclEntry(ACCESS, GROUP, READ), aclEntry(ACCESS, GROUP, READ),
aclEntry(ACCESS, OTHER, NONE)); aclEntry(ACCESS, OTHER, NONE));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
fs.setPermission(path, FsPermission.createImmutable((short) 0600)); fs.setPermission(path, FsPermission.createImmutable((short) RW));
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", READ), aclEntry(ACCESS, USER, "foo", READ),
aclEntry(ACCESS, GROUP, READ) }, returned); aclEntry(ACCESS, GROUP, READ) }, returned);
assertPermission(fs, (short) 0600); assertPermission(fs, (short) RW);
} }
@Test @Test
@ -853,14 +867,14 @@ public void testSetPermissionOnlyDefault() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, ALL), aclEntry(ACCESS, USER, ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE), aclEntry(ACCESS, GROUP, READ_EXECUTE),
aclEntry(ACCESS, OTHER, NONE), aclEntry(ACCESS, OTHER, NONE),
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
fs.setPermission(path, FsPermission.createImmutable((short) 0700)); fs.setPermission(path, FsPermission.createImmutable((short) RWX));
AclStatus s = fs.getAclStatus(path); AclStatus s = fs.getAclStatus(path);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
@ -869,7 +883,7 @@ public void testSetPermissionOnlyDefault() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, ALL), aclEntry(DEFAULT, MASK, ALL),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, (short) 0700); assertPermission(fs, (short) RWX);
} }
@Test @Test
@ -877,7 +891,7 @@ public void testDefaultAclNewFile() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
@ -888,7 +902,7 @@ public void testDefaultAclNewFile() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned); aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned);
assertPermission(fs, filePath, (short) 0640); assertPermission(fs, filePath, (short) RW_R);
} }
@Test @Test
@ -897,7 +911,7 @@ public void testOnlyAccessAclNewFile() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, "foo", ALL)); aclEntry(ACCESS, USER, "foo", ALL));
fs.modifyAclEntries(path, aclSpec); fs.modifyAclEntries(path, aclSpec);
@ -906,7 +920,7 @@ public void testOnlyAccessAclNewFile() throws Exception {
AclStatus s = fs.getAclStatus(filePath); AclStatus s = fs.getAclStatus(filePath);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, filePath, (short) 0644); assertPermission(fs, filePath, (short) RW_R_R);
} }
@Test @Test
@ -915,7 +929,7 @@ public void testDefaultMinimalAclNewFile() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
@ -926,7 +940,7 @@ public void testDefaultMinimalAclNewFile() throws Exception {
AclStatus s = fs.getAclStatus(filePath); AclStatus s = fs.getAclStatus(filePath);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, filePath, (short) 0640); assertPermission(fs, filePath, (short) RW_R);
} }
@Test @Test
@ -934,7 +948,7 @@ public void testDefaultAclNewDir() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
@ -952,7 +966,7 @@ public void testDefaultAclNewDir() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, ALL), aclEntry(DEFAULT, MASK, ALL),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, dirPath, (short) 0770); assertPermission(fs, dirPath, (short) RWX_RWX);
} }
@Test @Test
@ -961,7 +975,7 @@ public void testOnlyAccessAclNewDir() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(ACCESS, USER, "foo", ALL)); aclEntry(ACCESS, USER, "foo", ALL));
fs.modifyAclEntries(path, aclSpec); fs.modifyAclEntries(path, aclSpec);
@ -970,7 +984,7 @@ public void testOnlyAccessAclNewDir() throws Exception {
AclStatus s = fs.getAclStatus(dirPath); AclStatus s = fs.getAclStatus(dirPath);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { }, returned); assertArrayEquals(new AclEntry[] { }, returned);
assertPermission(fs, dirPath, (short) 0755); assertPermission(fs, dirPath, (short) RWX_RX_RX);
} }
@Test @Test
@ -979,7 +993,7 @@ public void testDefaultMinimalAclNewDir() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
@ -993,7 +1007,7 @@ public void testDefaultMinimalAclNewDir() throws Exception {
aclEntry(DEFAULT, USER, ALL), aclEntry(DEFAULT, USER, ALL),
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, OTHER, NONE) }, returned); aclEntry(DEFAULT, OTHER, NONE) }, returned);
assertPermission(fs, dirPath, (short) 0750); assertPermission(fs, dirPath, (short) RWX_RX);
} }
@Test @Test
@ -1001,13 +1015,13 @@ public void testDefaultAclNewFileWithMode() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0755)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
Path filePath = new Path(path, "file1"); Path filePath = new Path(path, "file1");
int bufferSize = 4 * 1024 * 1024; int bufferSize = 4 * 1024 * 1024;
fs.create(filePath, new FsPermission((short) 0740), false, bufferSize, fs.create(filePath, new FsPermission((short) RWX_R), false, bufferSize,
fs.getDefaultReplication(filePath), fs.getDefaultBlockSize(path), null) fs.getDefaultReplication(filePath), fs.getDefaultBlockSize(path), null)
.close(); .close();
AclStatus s = fs.getAclStatus(filePath); AclStatus s = fs.getAclStatus(filePath);
@ -1015,7 +1029,7 @@ public void testDefaultAclNewFileWithMode() throws Exception {
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
aclEntry(ACCESS, USER, "foo", ALL), aclEntry(ACCESS, USER, "foo", ALL),
aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned); aclEntry(ACCESS, GROUP, READ_EXECUTE) }, returned);
assertPermission(fs, filePath, (short) 0740); assertPermission(fs, filePath, (short) RWX_R);
} }
@Test @Test
@ -1023,12 +1037,12 @@ public void testDefaultAclNewDirWithMode() throws Exception {
final AzureBlobFileSystem fs = this.getFileSystem(); final AzureBlobFileSystem fs = this.getFileSystem();
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) 0755)); FileSystem.mkdirs(fs, path, FsPermission.createImmutable((short) RWX_RX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(path, aclSpec); fs.setAcl(path, aclSpec);
Path dirPath = new Path(path, "dir1"); Path dirPath = new Path(path, "dir1");
fs.mkdirs(dirPath, new FsPermission((short) 0740)); fs.mkdirs(dirPath, new FsPermission((short) RWX_R));
AclStatus s = fs.getAclStatus(dirPath); AclStatus s = fs.getAclStatus(dirPath);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(new AclEntry[] { assertArrayEquals(new AclEntry[] {
@ -1039,7 +1053,7 @@ public void testDefaultAclNewDirWithMode() throws Exception {
aclEntry(DEFAULT, GROUP, READ_EXECUTE), aclEntry(DEFAULT, GROUP, READ_EXECUTE),
aclEntry(DEFAULT, MASK, ALL), aclEntry(DEFAULT, MASK, ALL),
aclEntry(DEFAULT, OTHER, READ_EXECUTE) }, returned); aclEntry(DEFAULT, OTHER, READ_EXECUTE) }, returned);
assertPermission(fs, dirPath, (short) 0740); assertPermission(fs, dirPath, (short) RWX_R);
} }
@Test @Test
@ -1048,20 +1062,20 @@ public void testDefaultAclRenamedFile() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
Path dirPath = new Path(path, "dir"); Path dirPath = new Path(path, "dir");
FileSystem.mkdirs(fs, dirPath, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, dirPath, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(dirPath, aclSpec); fs.setAcl(dirPath, aclSpec);
Path filePath = new Path(path, "file1"); Path filePath = new Path(path, "file1");
fs.create(filePath).close(); fs.create(filePath).close();
fs.setPermission(filePath, FsPermission.createImmutable((short) 0640)); fs.setPermission(filePath, FsPermission.createImmutable((short) RW_R));
Path renamedFilePath = new Path(dirPath, "file1"); Path renamedFilePath = new Path(dirPath, "file1");
fs.rename(filePath, renamedFilePath); fs.rename(filePath, renamedFilePath);
AclEntry[] expected = new AclEntry[] { }; AclEntry[] expected = new AclEntry[] { };
AclStatus s = fs.getAclStatus(renamedFilePath); AclStatus s = fs.getAclStatus(renamedFilePath);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(expected, returned); assertArrayEquals(expected, returned);
assertPermission(fs, renamedFilePath, (short) 0640); assertPermission(fs, renamedFilePath, (short) RW_R);
} }
@Test @Test
@ -1070,19 +1084,19 @@ public void testDefaultAclRenamedDir() throws Exception {
assumeTrue(fs.getIsNamespaceEnabeld()); assumeTrue(fs.getIsNamespaceEnabeld());
path = new Path(testRoot, UUID.randomUUID().toString()); path = new Path(testRoot, UUID.randomUUID().toString());
Path dirPath = new Path(path, "dir"); Path dirPath = new Path(path, "dir");
FileSystem.mkdirs(fs, dirPath, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, dirPath, FsPermission.createImmutable((short) RWX_RX));
List<AclEntry> aclSpec = Lists.newArrayList( List<AclEntry> aclSpec = Lists.newArrayList(
aclEntry(DEFAULT, USER, "foo", ALL)); aclEntry(DEFAULT, USER, "foo", ALL));
fs.setAcl(dirPath, aclSpec); fs.setAcl(dirPath, aclSpec);
Path subdirPath = new Path(path, "subdir"); Path subdirPath = new Path(path, "subdir");
FileSystem.mkdirs(fs, subdirPath, FsPermission.createImmutable((short) 0750)); FileSystem.mkdirs(fs, subdirPath, FsPermission.createImmutable((short) RWX_RX));
Path renamedSubdirPath = new Path(dirPath, "subdir"); Path renamedSubdirPath = new Path(dirPath, "subdir");
fs.rename(subdirPath, renamedSubdirPath); fs.rename(subdirPath, renamedSubdirPath);
AclEntry[] expected = new AclEntry[] { }; AclEntry[] expected = new AclEntry[] { };
AclStatus s = fs.getAclStatus(renamedSubdirPath); AclStatus s = fs.getAclStatus(renamedSubdirPath);
AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]); AclEntry[] returned = s.getEntries().toArray(new AclEntry[0]);
assertArrayEquals(expected, returned); assertArrayEquals(expected, returned);
assertPermission(fs, renamedSubdirPath, (short) 0750); assertPermission(fs, renamedSubdirPath, (short) RWX_RX);
} }
@Test @Test

View File

@ -191,6 +191,9 @@ public void testLongPrecedence()
abfsConf.getLong(globalKey, 0), 1); abfsConf.getLong(globalKey, 0), 1);
} }
/**
* Dummy type used for testing handling of enums in configuration.
*/
public enum GetEnumType { public enum GetEnumType {
TRUE, FALSE TRUE, FALSE
} }
@ -226,12 +229,21 @@ public void testEnumPrecedence()
abfsConf.getEnum(globalKey, GetEnumType.FALSE), GetEnumType.TRUE); abfsConf.getEnum(globalKey, GetEnumType.FALSE), GetEnumType.TRUE);
} }
/**
* Dummy type used for testing handling of classes in configuration.
*/
interface GetClassInterface { interface GetClassInterface {
} }
/**
* Dummy type used for testing handling of classes in configuration.
*/
private class GetClassImpl0 implements GetClassInterface { private class GetClassImpl0 implements GetClassInterface {
} }
/**
* Dummy type used for testing handling of classes in configuration.
*/
private class GetClassImpl1 implements GetClassInterface { private class GetClassImpl1 implements GetClassInterface {
} }

View File

@ -19,6 +19,7 @@
package org.apache.hadoop.fs.azurebfs.services; package org.apache.hadoop.fs.azurebfs.services;
import java.io.File; import java.io.File;
import java.nio.charset.Charset;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
@ -74,7 +75,8 @@ public void testValidScript() throws Exception {
// Create a simple script which echoes the given key plus the given // Create a simple script which echoes the given key plus the given
// expected result (so that we validate both script input and output) // expected result (so that we validate both script input and output)
File scriptFile = new File(TEST_ROOT_DIR, "testScript.cmd"); File scriptFile = new File(TEST_ROOT_DIR, "testScript.cmd");
FileUtils.writeStringToFile(scriptFile, "@echo %1 " + expectedResult); FileUtils.writeStringToFile(scriptFile, "@echo %1 " + expectedResult,
Charset.forName("UTF-8"));
ShellDecryptionKeyProvider provider = new ShellDecryptionKeyProvider(); ShellDecryptionKeyProvider provider = new ShellDecryptionKeyProvider();
Configuration conf = new Configuration(); Configuration conf = new Configuration();

View File

@ -31,9 +31,9 @@
import static org.apache.hadoop.fs.azurebfs.constants.TestConfigurationKeys.TEST_CONTAINER_PREFIX; import static org.apache.hadoop.fs.azurebfs.constants.TestConfigurationKeys.TEST_CONTAINER_PREFIX;
/* /**
* Some Utils for ABFS tests. * Some Utils for ABFS tests.
* */ */
public final class AbfsTestUtils extends AbstractAbfsIntegrationTest{ public final class AbfsTestUtils extends AbstractAbfsIntegrationTest{
private static final Logger LOG = private static final Logger LOG =
LoggerFactory.getLogger(AbfsTestUtils.class); LoggerFactory.getLogger(AbfsTestUtils.class);