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 class AbfsConfiguration{
* @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 class AbfsConfiguration{
* @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

@ -130,7 +130,7 @@ public class AzureBlobFileSystem extends FileSystem {
this.delegationTokenManager = abfsConfiguration.getDelegationTokenManager(); this.delegationTokenManager = abfsConfiguration.getDelegationTokenManager();
} }
} }
AbfsClientThrottlingIntercept.initializeSingleton(abfsConfiguration.isAutoThrottlingEnabled()); AbfsClientThrottlingIntercept.initializeSingleton(abfsConfiguration.isAutoThrottlingEnabled());
} }
@ -380,7 +380,7 @@ public class AzureBlobFileSystem extends FileSystem {
// To support format: abfs://{dfs.nameservices}/file/path, // To support format: abfs://{dfs.nameservices}/file/path,
// path need to be first converted to URI, then get the raw path string, // path need to be first converted to URI, then get the raw path string,
// during which {dfs.nameservices} will be omitted. // during which {dfs.nameservices} will be omitted.
if (path != null ) { if (path != null) {
String uriPath = path.toUri().getPath(); String uriPath = path.toUri().getPath();
path = uriPath.isEmpty() ? path : new Path(uriPath); path = uriPath.isEmpty() ? path : new Path(uriPath);
} }
@ -581,8 +581,8 @@ public class AzureBlobFileSystem extends FileSystem {
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 class AzureBlobFileSystem extends FileSystem {
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 class AzureBlobFileSystem extends FileSystem {
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 class AzureBlobFileSystem extends FileSystem {
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 class AzureBlobFileSystem extends FileSystem {
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 class AzureBlobFileSystem extends FileSystem {
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,8 +47,8 @@ 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;
/** /**
* Obtain the access token that should be added to https connection's header. * Obtain the access token that should be added to https connection's header.

View File

@ -578,15 +578,15 @@ provide the details and summary of the operation.
## Testing the Azure ABFS Client ## Testing the Azure ABFS Client
Azure Data Lake Storage Gen 2 (ADLS Gen 2) is a set of capabilities dedicated to Azure Data Lake Storage Gen 2 (ADLS Gen 2) is a set of capabilities dedicated to
big data analytics, built on top of Azure Blob Storage. The ABFS and ABFSS big data analytics, built on top of Azure Blob Storage. The ABFS and ABFSS
schemes target the ADLS Gen 2 REST API, and the WASB and WASBS schemes target schemes target the ADLS Gen 2 REST API, and the WASB and WASBS schemes target
the Azure Blob Storage REST API. ADLS Gen 2 offers better performance and the Azure Blob Storage REST API. ADLS Gen 2 offers better performance and
scalability. ADLS Gen 2 also offers authentication and authorization compatible scalability. ADLS Gen 2 also offers authentication and authorization compatible
with the Hadoop Distributed File System permissions model when hierarchical with the Hadoop Distributed File System permissions model when hierarchical
namespace is enabled for the storage account. Furthermore, the metadata and data namespace is enabled for the storage account. Furthermore, the metadata and data
produced by ADLS Gen 2 REST API can be consumed by Blob REST API, and vice versa. produced by ADLS Gen 2 REST API can be consumed by Blob REST API, and vice versa.
In order to test ABFS, please add the following configuration to your In order to test ABFS, please add the following configuration to your
`src/test/resources/azure-auth-keys.xml` file. Note that the ABFS tests include `src/test/resources/azure-auth-keys.xml` file. Note that the ABFS tests include
compatibility tests which require WASB credentials, in addition to the ABFS compatibility tests which require WASB credentials, in addition to the ABFS
@ -610,7 +610,7 @@ credentials.
<name>fs.azure.wasb.account.name</name> <name>fs.azure.wasb.account.name</name>
<value>{ACCOUNT_NAME}.blob.core.windows.net</value> <value>{ACCOUNT_NAME}.blob.core.windows.net</value>
</property> </property>
<property> <property>
<name>fs.azure.account.key.{ACCOUNT_NAME}.blob.core.windows.net</name> <name>fs.azure.account.key.{ACCOUNT_NAME}.blob.core.windows.net</name>
<value>{ACCOUNT_ACCESS_KEY}</value> <value>{ACCOUNT_ACCESS_KEY}</value>
@ -641,7 +641,7 @@ hierarchical namespace enabled, and set the following configuration settings:
<property> <property>
<name>fs.azure.account.auth.type.{YOUR_ABFS_ACCOUNT_NAME}</name> <name>fs.azure.account.auth.type.{YOUR_ABFS_ACCOUNT_NAME}</name>
<value>{AUTH TYPE}</value> <value>{AUTH TYPE}</value>
<description>The authorization type can be SharedKey, OAuth, or Custom. The <description>The authorization type can be SharedKey, OAuth, or Custom. The
default is SharedKey.</description> default is SharedKey.</description>
</property> </property>
@ -744,4 +744,4 @@ http[s]://[account][domain-suffix]/[filesystem], please use the following:
<name>fs.azure.abfs.endpoint</name> <name>fs.azure.abfs.endpoint</name>
<value>{IP}:{PORT}</value> <value>{IP}:{PORT}</value>
</property> </property>
``` ```

View File

@ -35,7 +35,7 @@ import static org.apache.hadoop.fs.azure.integration.AzureTestUtils.writeStringT
/** /**
* 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.Collection;
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;
@ -106,4 +105,4 @@ public class ITestAzureBlobFileSystemPermission extends AbstractAbfsIntegrationT
FileStatus status = fs.getFileStatus(path); FileStatus status = fs.getFileStatus(path);
Assert.assertEquals(permission.applyUMask(DEFAULT_UMASK_PERMISSION), status.getPermission()); Assert.assertEquals(permission.applyUMask(DEFAULT_UMASK_PERMISSION), status.getPermission());
} }
} }

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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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 class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
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
@ -1247,4 +1261,4 @@ public class ITestAzureBlobFilesystemAcl extends AbstractAbfsIntegrationTest {
throws Exception { throws Exception {
AclTestHelpers.assertPermission(fs, pathToCheck, perm); AclTestHelpers.assertPermission(fs, pathToCheck, perm);
} }
} }

View File

@ -191,6 +191,9 @@ public class TestAccountConfiguration {
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 class TestAccountConfiguration {
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 class TestShellDecryptionKeyProvider {
// 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 org.apache.hadoop.fs.azurebfs.services.AuthType;
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);