|
@@ -18,6 +18,8 @@
|
|
|
|
|
|
package org.apache.hadoop.fs.adl;
|
|
|
|
|
|
+import org.apache.hadoop.conf.Configuration;
|
|
|
+import org.apache.hadoop.test.GenericTestUtils;
|
|
|
import org.junit.Assert;
|
|
|
import org.junit.Test;
|
|
|
|
|
@@ -56,6 +58,11 @@ import static org.apache.hadoop.fs.adl.AdlConfKeys
|
|
|
.TOKEN_PROVIDER_TYPE_REFRESH_TOKEN;
|
|
|
import static org.apache.hadoop.fs.adl.AdlConfKeys.WRITE_BUFFER_SIZE_KEY;
|
|
|
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.OutputStream;
|
|
|
+
|
|
|
/**
|
|
|
* Validate configuration keys defined for adl storage file system instance.
|
|
|
*/
|
|
@@ -64,18 +71,18 @@ public class TestValidateConfiguration {
|
|
|
@Test
|
|
|
public void validateConfigurationKeys() {
|
|
|
Assert
|
|
|
- .assertEquals("dfs.adls.oauth2.refresh.url", AZURE_AD_REFRESH_URL_KEY);
|
|
|
- Assert.assertEquals("dfs.adls.oauth2.access.token.provider",
|
|
|
+ .assertEquals("fs.adl.oauth2.refresh.url", AZURE_AD_REFRESH_URL_KEY);
|
|
|
+ Assert.assertEquals("fs.adl.oauth2.access.token.provider",
|
|
|
AZURE_AD_TOKEN_PROVIDER_CLASS_KEY);
|
|
|
- Assert.assertEquals("dfs.adls.oauth2.client.id", AZURE_AD_CLIENT_ID_KEY);
|
|
|
- Assert.assertEquals("dfs.adls.oauth2.refresh.token",
|
|
|
+ Assert.assertEquals("fs.adl.oauth2.client.id", AZURE_AD_CLIENT_ID_KEY);
|
|
|
+ Assert.assertEquals("fs.adl.oauth2.refresh.token",
|
|
|
AZURE_AD_REFRESH_TOKEN_KEY);
|
|
|
Assert
|
|
|
- .assertEquals("dfs.adls.oauth2.credential", AZURE_AD_CLIENT_SECRET_KEY);
|
|
|
+ .assertEquals("fs.adl.oauth2.credential", AZURE_AD_CLIENT_SECRET_KEY);
|
|
|
Assert.assertEquals("adl.debug.override.localuserasfileowner",
|
|
|
ADL_DEBUG_OVERRIDE_LOCAL_USER_AS_OWNER);
|
|
|
|
|
|
- Assert.assertEquals("dfs.adls.oauth2.access.token.provider.type",
|
|
|
+ Assert.assertEquals("fs.adl.oauth2.access.token.provider.type",
|
|
|
AZURE_AD_TOKEN_PROVIDER_TYPE_KEY);
|
|
|
|
|
|
Assert.assertEquals("adl.feature.client.cache.readahead",
|
|
@@ -88,7 +95,7 @@ public class TestValidateConfiguration {
|
|
|
|
|
|
Assert.assertEquals("ClientCredential", TOKEN_PROVIDER_TYPE_CLIENT_CRED);
|
|
|
|
|
|
- Assert.assertEquals("adl.dfs.enable.client.latency.tracker",
|
|
|
+ Assert.assertEquals("adl.enable.client.latency.tracker",
|
|
|
LATENCY_TRACKER_KEY);
|
|
|
|
|
|
Assert.assertEquals(true, LATENCY_TRACKER_DEFAULT);
|
|
@@ -109,4 +116,66 @@ public class TestValidateConfiguration {
|
|
|
Assert.assertEquals(false,
|
|
|
ADL_ENABLEUPN_FOR_OWNERGROUP_DEFAULT);
|
|
|
}
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testSetDeprecatedKeys() throws ClassNotFoundException {
|
|
|
+ Configuration conf = new Configuration(true);
|
|
|
+ setDeprecatedKeys(conf);
|
|
|
+
|
|
|
+ // Force AdlFileSystem static initialization to register deprecated keys.
|
|
|
+ Class.forName(AdlFileSystem.class.getName());
|
|
|
+
|
|
|
+ assertDeprecatedKeys(conf);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testLoadDeprecatedKeys()
|
|
|
+ throws IOException, ClassNotFoundException {
|
|
|
+ Configuration saveConf = new Configuration(false);
|
|
|
+ setDeprecatedKeys(saveConf);
|
|
|
+
|
|
|
+ final File testRootDir = GenericTestUtils.getTestDir();
|
|
|
+ File confXml = new File(testRootDir, "testLoadDeprecatedKeys.xml");
|
|
|
+ OutputStream out = new FileOutputStream(confXml);
|
|
|
+ saveConf.writeXml(out);
|
|
|
+ out.close();
|
|
|
+
|
|
|
+ Configuration conf = new Configuration(true);
|
|
|
+ conf.addResource(confXml.toURI().toURL());
|
|
|
+
|
|
|
+ // Trigger loading the configuration resources by getting any key.
|
|
|
+ conf.get("dummy.key");
|
|
|
+
|
|
|
+ // Force AdlFileSystem static initialization to register deprecated keys.
|
|
|
+ Class.forName(AdlFileSystem.class.getName());
|
|
|
+
|
|
|
+ assertDeprecatedKeys(conf);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setDeprecatedKeys(Configuration conf) {
|
|
|
+ conf.set("dfs.adls.oauth2.access.token.provider.type", "dummyType");
|
|
|
+ conf.set("dfs.adls.oauth2.client.id", "dummyClientId");
|
|
|
+ conf.set("dfs.adls.oauth2.refresh.token", "dummyRefreshToken");
|
|
|
+ conf.set("dfs.adls.oauth2.refresh.url", "dummyRefreshUrl");
|
|
|
+ conf.set("dfs.adls.oauth2.credential", "dummyCredential");
|
|
|
+ conf.set("dfs.adls.oauth2.access.token.provider", "dummyClass");
|
|
|
+ conf.set("adl.dfs.enable.client.latency.tracker", "dummyTracker");
|
|
|
+ }
|
|
|
+
|
|
|
+ private void assertDeprecatedKeys(Configuration conf) {
|
|
|
+ Assert.assertEquals("dummyType",
|
|
|
+ conf.get(AZURE_AD_TOKEN_PROVIDER_TYPE_KEY));
|
|
|
+ Assert.assertEquals("dummyClientId",
|
|
|
+ conf.get(AZURE_AD_CLIENT_ID_KEY));
|
|
|
+ Assert.assertEquals("dummyRefreshToken",
|
|
|
+ conf.get(AZURE_AD_REFRESH_TOKEN_KEY));
|
|
|
+ Assert.assertEquals("dummyRefreshUrl",
|
|
|
+ conf.get(AZURE_AD_REFRESH_URL_KEY));
|
|
|
+ Assert.assertEquals("dummyCredential",
|
|
|
+ conf.get(AZURE_AD_CLIENT_SECRET_KEY));
|
|
|
+ Assert.assertEquals("dummyClass",
|
|
|
+ conf.get(AZURE_AD_TOKEN_PROVIDER_CLASS_KEY));
|
|
|
+ Assert.assertEquals("dummyTracker",
|
|
|
+ conf.get(LATENCY_TRACKER_KEY));
|
|
|
+ }
|
|
|
}
|