瀏覽代碼

HADOOP-13610. Clean up AliyunOss integration tests. Contributed by Genmao Yu

Kai Zheng 8 年之前
父節點
當前提交
a1940464a4
共有 17 個文件被更改,包括 65 次插入73 次删除
  1. 8 11
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSTestUtils.java
  2. 6 10
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSFileSystemContract.java
  3. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSFileSystemStore.java
  4. 6 5
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSInputStream.java
  5. 5 4
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSOutputStream.java
  6. 4 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSTemporaryCredentials.java
  7. 7 11
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/AliyunOSSContract.java
  8. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractCreate.java
  9. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractDelete.java
  10. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractDispCp.java
  11. 2 2
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractGetFileStatus.java
  12. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractMkdir.java
  13. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractOpen.java
  14. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractRename.java
  15. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractRootDir.java
  16. 3 3
      hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractSeek.java
  17. 0 0
      hadoop-tools/hadoop-aliyun/src/test/resources/contract/aliyun-oss.xml

+ 8 - 11
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/OSSTestUtils.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSTestUtils.java

@@ -24,15 +24,13 @@ import org.junit.internal.AssumptionViolatedException;
 
 import java.io.IOException;
 import java.net.URI;
-import java.util.Date;
-import java.util.Random;
 
 /**
- * Utility class for OSS Tests.
+ * Utility class for Aliyun OSS Tests.
  */
-public final class OSSTestUtils {
+public final class AliyunOSSTestUtils {
 
-  private OSSTestUtils() {
+  private AliyunOSSTestUtils() {
   }
 
   /**
@@ -48,7 +46,7 @@ public final class OSSTestUtils {
   public static AliyunOSSFileSystem createTestFileSystem(Configuration conf)
       throws IOException {
     String fsname = conf.getTrimmed(
-        TestOSSFileSystemContract.TEST_FS_OSS_NAME, "");
+        TestAliyunOSSFileSystemContract.TEST_FS_OSS_NAME, "");
 
     boolean liveTest = !StringUtils.isEmpty(fsname);
     URI testURI = null;
@@ -59,7 +57,7 @@ public final class OSSTestUtils {
 
     if (!liveTest) {
       throw new AssumptionViolatedException("No test filesystem in "
-          + TestOSSFileSystemContract.TEST_FS_OSS_NAME);
+          + TestAliyunOSSFileSystemContract.TEST_FS_OSS_NAME);
     }
     AliyunOSSFileSystem ossfs = new AliyunOSSFileSystem();
     ossfs.initialize(testURI, conf);
@@ -72,9 +70,8 @@ public final class OSSTestUtils {
    * @return root test path
    */
   public static String generateUniqueTestPath() {
-    Long time = new Date().getTime();
-    Random rand = new Random();
-    return "/test_" + Long.toString(time) + "_"
-        + Long.toString(Math.abs(rand.nextLong()));
+    String testUniqueForkId = System.getProperty("test.unique.fork.id");
+    return testUniqueForkId == null ? "/test" :
+        "/" + testUniqueForkId + "/test";
   }
 }

+ 6 - 10
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestOSSFileSystemContract.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSFileSystemContract.java

@@ -22,32 +22,28 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileAlreadyExistsException;
 import org.apache.hadoop.fs.FileSystemContractBaseTest;
 import org.apache.hadoop.fs.Path;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
 
 /**
- * Tests a live OSS system.
+ * Tests a live Aliyun OSS system.
  *
  * This uses BlockJUnit4ClassRunner because FileSystemContractBaseTest from
  * TestCase which uses the old Junit3 runner that doesn't ignore assumptions
  * properly making it impossible to skip the tests if we don't have a valid
  * bucket.
  */
-public class TestOSSFileSystemContract extends FileSystemContractBaseTest {
-
-  protected static final Logger LOG =
-      LoggerFactory.getLogger(TestOSSFileSystemContract.class);
-
+public class TestAliyunOSSFileSystemContract
+    extends FileSystemContractBaseTest {
   public static final String TEST_FS_OSS_NAME = "test.fs.oss.name";
-  private static String testRootPath = OSSTestUtils.generateUniqueTestPath();
+  private static String testRootPath =
+      AliyunOSSTestUtils.generateUniqueTestPath();
 
   @Override
   public void setUp() throws Exception {
     Configuration conf = new Configuration();
-    fs = OSSTestUtils.createTestFileSystem(conf);
+    fs = AliyunOSSTestUtils.createTestFileSystem(conf);
     super.setUp();
   }
 

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestOSSFileSystemStore.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSFileSystemStore.java

@@ -41,7 +41,7 @@ import static org.junit.Assume.assumeNotNull;
  * Test the bridging logic between Hadoop's abstract filesystem and
  * Aliyun OSS.
  */
-public class TestOSSFileSystemStore {
+public class TestAliyunOSSFileSystemStore {
   private Configuration conf;
   private AliyunOSSFileSystemStore store;
   private AliyunOSSFileSystem fs;
@@ -67,8 +67,8 @@ public class TestOSSFileSystemStore {
   @BeforeClass
   public static void checkSettings() throws Exception {
     Configuration conf = new Configuration();
-    assumeNotNull(conf.get("fs.oss.accessKeyId"));
-    assumeNotNull(conf.get("fs.oss.accessKeySecret"));
+    assumeNotNull(conf.get(Constants.ACCESS_KEY));
+    assumeNotNull(conf.get(Constants.SECRET_KEY));
     assumeNotNull(conf.get("test.fs.oss.name"));
   }
 

+ 6 - 5
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestOSSInputStream.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSInputStream.java

@@ -37,14 +37,15 @@ import static org.junit.Assert.assertTrue;
  * Tests basic functionality for AliyunOSSInputStream, including seeking and
  * reading files.
  */
-public class TestOSSInputStream {
+public class TestAliyunOSSInputStream {
 
   private FileSystem fs;
 
-  protected static final Logger LOG =
-      LoggerFactory.getLogger(TestOSSInputStream.class);
+  private static final Logger LOG =
+      LoggerFactory.getLogger(TestAliyunOSSInputStream.class);
 
-  private static String testRootPath = OSSTestUtils.generateUniqueTestPath();
+  private static String testRootPath =
+      AliyunOSSTestUtils.generateUniqueTestPath();
 
   @Rule
   public Timeout testTimeout = new Timeout(30 * 60 * 1000);
@@ -52,7 +53,7 @@ public class TestOSSInputStream {
   @Before
   public void setUp() throws Exception {
     Configuration conf = new Configuration();
-    fs = OSSTestUtils.createTestFileSystem(conf);
+    fs = AliyunOSSTestUtils.createTestFileSystem(conf);
   }
 
   @After

+ 5 - 4
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestOSSOutputStream.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSOutputStream.java

@@ -33,9 +33,10 @@ import java.io.IOException;
 /**
  * Tests regular and multi-part upload functionality for AliyunOSSOutputStream.
  */
-public class TestOSSOutputStream {
+public class TestAliyunOSSOutputStream {
   private FileSystem fs;
-  private static String testRootPath = OSSTestUtils.generateUniqueTestPath();
+  private static String testRootPath =
+      AliyunOSSTestUtils.generateUniqueTestPath();
 
   @Rule
   public Timeout testTimeout = new Timeout(30 * 60 * 1000);
@@ -45,7 +46,7 @@ public class TestOSSOutputStream {
     Configuration conf = new Configuration();
     conf.setLong(Constants.MIN_MULTIPART_UPLOAD_THRESHOLD_KEY, 5 * 1024 * 1024);
     conf.setInt(Constants.MULTIPART_UPLOAD_SIZE_KEY, 5 * 1024 * 1024);
-    fs = OSSTestUtils.createTestFileSystem(conf);
+    fs = AliyunOSSTestUtils.createTestFileSystem(conf);
   }
 
   @After
@@ -56,7 +57,7 @@ public class TestOSSOutputStream {
   }
 
   protected Path getTestPath() {
-    return new Path(testRootPath + "/testoss");
+    return new Path(testRootPath + "/test-aliyun-oss");
   }
 
   @Test

+ 4 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestOSSTemporaryCredentials.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/TestAliyunOSSTemporaryCredentials.java

@@ -21,7 +21,7 @@ package org.apache.hadoop.fs.aliyun.oss;
 import com.aliyun.oss.common.auth.Credentials;
 import com.aliyun.oss.common.auth.InvalidCredentialsException;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.aliyun.oss.contract.OSSContract;
+import org.apache.hadoop.fs.aliyun.oss.contract.AliyunOSSContract;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 import org.apache.hadoop.fs.contract.AbstractFSContractTestBase;
 import org.junit.Test;
@@ -38,11 +38,12 @@ import static org.apache.hadoop.fs.aliyun.oss.Constants.SECURITY_TOKEN;
  * should only be used against transient filesystems where you don't care about
  * the data.
  */
-public class TestOSSTemporaryCredentials extends AbstractFSContractTestBase {
+public class TestAliyunOSSTemporaryCredentials
+    extends AbstractFSContractTestBase {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 
   @Test

+ 7 - 11
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/OSSContract.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/AliyunOSSContract.java

@@ -20,21 +20,16 @@ package org.apache.hadoop.fs.aliyun.oss.contract;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.aliyun.oss.OSSTestUtils;
 import org.apache.hadoop.fs.contract.AbstractBondedFSContract;
 
 /**
- * The contract of OSS: only enabled if the test bucket is provided.
+ * The contract of Aliyun OSS: only enabled if the test bucket is provided.
  */
-public class OSSContract extends AbstractBondedFSContract {
+public class AliyunOSSContract extends AbstractBondedFSContract {
 
-  public static final String CONTRACT_XML = "contract/oss.xml";
-  public static final String CONTRACT_TEST_OSS_FS_NAME =
-      "fs.contract.test.fs.oss";
+  public static final String CONTRACT_XML = "contract/aliyun-oss.xml";
 
-  private static String testPath = OSSTestUtils.generateUniqueTestPath();
-
-  public OSSContract(Configuration conf) {
+  public AliyunOSSContract(Configuration conf) {
     super(conf);
     //insert the base features
     addConfResource(CONTRACT_XML);
@@ -47,7 +42,8 @@ public class OSSContract extends AbstractBondedFSContract {
 
   @Override
   public Path getTestPath() {
-    Path path = new Path(testPath);
-    return path;
+    String testUniqueForkId = System.getProperty("test.unique.fork.id");
+    return testUniqueForkId == null ? super.getTestPath() :
+        new Path("/" + testUniqueForkId, "test");
   }
 }

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractCreate.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractCreate.java

@@ -23,13 +23,13 @@ import org.apache.hadoop.fs.contract.AbstractContractCreateTest;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 
 /**
- * OSS contract creating tests.
+ * Aliyun OSS contract creating tests.
  */
-public class TestOSSContractCreate extends AbstractContractCreateTest {
+public class TestAliyunOSSContractCreate extends AbstractContractCreateTest {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 
 }

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractDelete.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractDelete.java

@@ -23,12 +23,12 @@ import org.apache.hadoop.fs.contract.AbstractContractDeleteTest;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 
 /**
- * OSS contract deleting tests.
+ * Aliyun OSS contract deleting tests.
  */
-public class TestOSSContractDelete extends AbstractContractDeleteTest {
+public class TestAliyunOSSContractDelete extends AbstractContractDeleteTest {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 }

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractDispCp.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractDispCp.java

@@ -25,7 +25,7 @@ import static org.apache.hadoop.fs.aliyun.oss.Constants.*;
 /**
  * Contract test suite covering Aliyun OSS integration with DistCp.
  */
-public class TestOSSContractDispCp extends AbstractContractDistCpTest {
+public class TestAliyunOSSContractDispCp extends AbstractContractDistCpTest {
 
   private static final long MULTIPART_SETTING = 8 * 1024 * 1024; // 8 MB
 
@@ -38,7 +38,7 @@ public class TestOSSContractDispCp extends AbstractContractDistCpTest {
   }
 
   @Override
-  protected OSSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+  protected AliyunOSSContract createContract(Configuration conf) {
+    return new AliyunOSSContract(conf);
   }
 }

+ 2 - 2
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractGetFileStatus.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractGetFileStatus.java

@@ -24,12 +24,12 @@ import org.apache.hadoop.fs.contract.AbstractFSContract;
 /**
  * Test getFileStatus and related listing operations.
  */
-public class TestOSSContractGetFileStatus
+public class TestAliyunOSSContractGetFileStatus
     extends AbstractContractGetFileStatusTest {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 
 }

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractMkdir.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractMkdir.java

@@ -23,12 +23,12 @@ import org.apache.hadoop.fs.contract.AbstractContractMkdirTest;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 
 /**
- * OSS contract directory tests.
+ * Aliyun OSS contract directory tests.
  */
-public class TestOSSContractMkdir extends AbstractContractMkdirTest {
+public class TestAliyunOSSContractMkdir extends AbstractContractMkdirTest {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 }

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractOpen.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractOpen.java

@@ -23,12 +23,12 @@ import org.apache.hadoop.fs.contract.AbstractContractOpenTest;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 
 /**
- * OSS contract opening file tests.
+ * Aliyun OSS contract opening file tests.
  */
-public class TestOSSContractOpen extends AbstractContractOpenTest {
+public class TestAliyunOSSContractOpen extends AbstractContractOpenTest {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 }

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractRename.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractRename.java

@@ -23,13 +23,13 @@ import org.apache.hadoop.fs.contract.AbstractContractRenameTest;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 
 /**
- * OSS contract renaming tests.
+ * Aliyun OSS contract renaming tests.
  */
-public class TestOSSContractRename extends AbstractContractRenameTest {
+public class TestAliyunOSSContractRename extends AbstractContractRenameTest {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 
 }

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractRootDir.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractRootDir.java

@@ -29,15 +29,15 @@ import java.io.IOException;
 /**
  * Root dir operations against an Aliyun OSS bucket.
  */
-public class TestOSSContractRootDir extends
+public class TestAliyunOSSContractRootDir extends
     AbstractContractRootDirectoryTest {
 
   private static final Logger LOG =
-      LoggerFactory.getLogger(TestOSSContractRootDir.class);
+      LoggerFactory.getLogger(TestAliyunOSSContractRootDir.class);
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 
   @Override

+ 3 - 3
hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestOSSContractSeek.java → hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/contract/TestAliyunOSSContractSeek.java

@@ -23,12 +23,12 @@ import org.apache.hadoop.fs.contract.AbstractContractSeekTest;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 
 /**
- * OSS contract seeking tests.
+ * Aliyun OSS contract seeking tests.
  */
-public class TestOSSContractSeek extends AbstractContractSeekTest {
+public class TestAliyunOSSContractSeek extends AbstractContractSeekTest {
 
   @Override
   protected AbstractFSContract createContract(Configuration conf) {
-    return new OSSContract(conf);
+    return new AliyunOSSContract(conf);
   }
 }

+ 0 - 0
hadoop-tools/hadoop-aliyun/src/test/resources/contract/oss.xml → hadoop-tools/hadoop-aliyun/src/test/resources/contract/aliyun-oss.xml