You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by jd...@apache.org on 2015/06/23 12:25:39 UTC

[51/51] [abbrv] incubator-lens git commit: LENS-513: Add jar regex - Testcase bugfix

LENS-513: Add jar regex - Testcase bugfix


Project: http://git-wip-us.apache.org/repos/asf/incubator-lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-lens/commit/b0edfb96
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/b0edfb96
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/b0edfb96

Branch: refs/heads/current-release-line
Commit: b0edfb964382bd8e189291cabfc312d6d0d6a1b4
Parents: 4dcff2c
Author: Yash Sharma <ya...@gmail.com>
Authored: Tue Jun 23 15:11:07 2015 +0530
Committer: Rajat Khandelwal <ra...@gmail.com>
Committed: Tue Jun 23 15:11:07 2015 +0530

----------------------------------------------------------------------
 .../lens/server/util/TestScannedPaths.java      | 177 ++++++++++---------
 1 file changed, 98 insertions(+), 79 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/b0edfb96/lens-server/src/test/java/org/apache/lens/server/util/TestScannedPaths.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/util/TestScannedPaths.java b/lens-server/src/test/java/org/apache/lens/server/util/TestScannedPaths.java
index ac9faf2..9092420 100644
--- a/lens-server/src/test/java/org/apache/lens/server/util/TestScannedPaths.java
+++ b/lens-server/src/test/java/org/apache/lens/server/util/TestScannedPaths.java
@@ -22,7 +22,11 @@ package org.apache.lens.server.util;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
 
 import org.apache.commons.io.FileUtils;
 
@@ -30,7 +34,6 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import com.google.common.base.Joiner;
-import com.google.common.collect.Iterators;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -39,25 +42,20 @@ import lombok.extern.slf4j.Slf4j;
 public class TestScannedPaths {
 
   public void testScannedPaths() throws Exception {
-    File fileA = null, fileB = null;
     String filenameA, filenameB, fileRegex;
     String tempPath = "target/tempfiles/";
     ScannedPaths sc;
-    Iterator<String> iter = null;
 
     try {
       filenameA = "tempdata_a";
       filenameB = "tempdata_b";
       fileRegex = tempPath + "tempdata_*";
 
-      fileA = createNewPath(tempPath + filenameA);
-      fileB = createNewPath(tempPath + filenameB);
+      createNewPath(tempPath + filenameA);
+      createNewPath(tempPath + filenameB);
       sc = new ScannedPaths(fileRegex, "file");
 
-      Assert.assertEquals(Iterators.size(sc.iterator()), 2, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains(filenameA));
-      Assert.assertTrue(iter.next().contains(filenameB));
+      assertUnOrdered(sc, filenameA, filenameB);
 
       /**
        * Testing negative Scenario
@@ -74,8 +72,7 @@ public class TestScannedPaths {
   }
 
   public void testScannedPathsJarGlobOrder() throws Exception {
-    File fileA = null, fileB = null, fileC = null;
-    File jarFile = null, globFile = null;
+    File jarFile, globFile;
     String filenameA, filenameB, filenameC, fileRegex;
     String tempPath = "target/tempfiles/";
     ScannedPaths sc;
@@ -88,9 +85,9 @@ public class TestScannedPaths {
       filenameC = "tempdata_c.data";
       fileRegex = tempPath;
 
-      fileA = createNewPath(tempPath + filenameA);
-      fileB = createNewPath(tempPath + filenameB);
-      fileC = createNewPath(tempPath + filenameC);
+      createNewPath(tempPath + filenameA);
+      createNewPath(tempPath + filenameB);
+      createNewPath(tempPath + filenameC);
 
       /** Test jar_order **/
       jarFile = createNewPath(tempPath + "jar_order");
@@ -99,10 +96,8 @@ public class TestScannedPaths {
       writer.println(filenameA);
       writer.close();
       sc = new ScannedPaths(fileRegex, "jar");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 2, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains(filenameB));
-      Assert.assertTrue(iter.next().contains(filenameA));
+
+      assertOrdered(sc, filenameB, filenameA);
 
       /** Test glob_order **/
       if (jarFile != null) {
@@ -115,11 +110,9 @@ public class TestScannedPaths {
       writer.println(filenameC);
       writer.close();
       sc = new ScannedPaths(fileRegex, "file");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 3, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains(filenameB));
-      Assert.assertTrue(iter.next().contains(filenameA));
-      Assert.assertTrue(iter.next().contains(filenameC));
+
+      assertOrdered(sc, filenameB, filenameA, filenameC);
+
     } catch (Exception e) {
       Assert.fail("Exception while testing ScannedPaths : " + e.getMessage());
     } finally {
@@ -135,7 +128,7 @@ public class TestScannedPaths {
    * sourceDirPath/tempfiles/tempdata_a.jar
    * sourceDirPath/tempfiles/tempdata_c.jar
    * sourceDirPath/tempfiles/dir1/tempdata_a.jar
-   * sourceDirPath/tempfiles/dir1/tempdata_b.jar
+   * sourceDirPath/tempfiles + "-duplicate"/dir1/tempdata_b.jar
    * sourceDirPath/tempfiles/dir1/tempdata_c.data
    * sourceDirPath/tempfiles/dir2/tempdata_a.data
    * sourceDirPath/tempfiles/dir2/tempdata_b.data
@@ -152,7 +145,7 @@ public class TestScannedPaths {
    * @param sourceDirPath
    */
   private void createTempDirStructure1(String sourceDirPath) {
-    File jarFile = null, globFile = null;
+    File jarFile, globFile;
     String filenameA, filenameB, filenameC;
     String tempPath = sourceDirPath + "/tempfiles/";
     FileUtils.deleteQuietly(new File(tempPath));
@@ -247,8 +240,7 @@ public class TestScannedPaths {
    * @param sourceDirPath
    */
   private void createTempDirStructure2(String sourceDirPath) {
-    File orderFile = null;
-    String filenameA, filenameB, filenameC;
+    File orderFile;
     String tempPath = sourceDirPath + "/parent_dir/";
     FileUtils.deleteQuietly(new File(tempPath));
 
@@ -290,12 +282,16 @@ public class TestScannedPaths {
 
   public void testScannedPathsMultipleJarGlobOrder() throws Exception {
     ScannedPaths sc;
-    Iterator<String> iter = null;
     String tempPath = "target/test/";
 
-    String filenameA = "tempdata_a";
-    String filenameB = "tempdata_b";
-    String filenameC = "tempdata_c";
+    String filenameAJar = "tempdata_a.jar";
+    String filenameBJar = "tempdata_b.jar";
+    String filenameCJar = "tempdata_c.jar";
+    String filenameCDupJar = "tempdata_c-duplicate.jar";
+    String filenameCDupJar2 = "tempdata_c-duplicate-2.jar";
+    String filenameAData = "tempdata_a.data";
+    String filenameBData = "tempdata_b.data";
+    String filenameCData = "tempdata_c.data";
 
     String fileRegex1 = tempPath + "*";
     String fileRegex2 = tempPath + "*/*";
@@ -304,21 +300,19 @@ public class TestScannedPaths {
       createTempDirStructure1(tempPath);
 
       sc = new ScannedPaths(fileRegex1, "jar");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 2, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains(filenameC));
-      Assert.assertTrue(iter.next().contains(filenameA));
+      assertUnOrdered(sc, filenameCJar, filenameAJar);
 
       sc = new ScannedPaths(fileRegex2, "jar");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 7, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains(filenameB));
-      Assert.assertTrue(iter.next().contains(filenameA));
-      Assert.assertTrue(iter.next().contains(filenameC)); // Direct matched tempdata_c.jar
-      Assert.assertTrue(iter.next().contains(filenameC));
-      Assert.assertTrue(iter.next().contains(filenameC + "-duplicate"));
-      Assert.assertTrue(iter.next().contains(filenameA));
-      Assert.assertTrue(iter.next().contains(filenameA)); // Direct matched tempdata_a.jar
+
+      assertUnOrdered(sc,
+          filenameBJar,
+          filenameAJar,
+          filenameCJar, // Direct matched tempdata_c.jar
+          filenameCJar,
+          filenameCDupJar,
+          filenameAJar,
+          filenameAJar // Direct matched tempdata_a.jar
+      );
 
       /** Remove jar_order files from temp dir **/
       FileUtils.deleteQuietly(new File(tempPath + "tempfiles/dir1/jar_order"));
@@ -326,26 +320,24 @@ public class TestScannedPaths {
       FileUtils.deleteQuietly(new File(tempPath + "tempfiles/dir3/jar_order"));
 
       sc = new ScannedPaths(fileRegex1, "file");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 2, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains(filenameC));
-      Assert.assertTrue(iter.next().contains(filenameA));
+      assertUnOrdered(sc, filenameCJar, filenameAJar);
 
       sc = new ScannedPaths(fileRegex2, "file");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 12, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains(filenameC));
-      Assert.assertTrue(iter.next().contains(filenameB));
-      Assert.assertTrue(iter.next().contains(filenameA));
-      Assert.assertTrue(iter.next().contains(filenameC)); // Direct matched tempdata_c.jar
-      Assert.assertTrue(iter.next().contains(filenameC));
-      Assert.assertTrue(iter.next().contains(filenameB));
-      Assert.assertTrue(iter.next().contains(filenameA));
-      Assert.assertTrue(iter.next().contains(filenameC));
-      Assert.assertTrue(iter.next().contains(filenameC + "-duplicate"));
-      Assert.assertTrue(iter.next().contains(filenameC + "-duplicate-2")); // Inner dir regex match
-      Assert.assertTrue(iter.next().contains(filenameC + "-duplicate")); // Inner dir regex match
-      Assert.assertTrue(iter.next().contains(filenameA)); // Direct matched tempdata_a.jar
+
+      assertUnOrdered(sc,
+          filenameCData, // dir1
+          filenameBJar,  // dir1
+          filenameAJar,  // dir1
+          filenameCJar,  // Direct matched tempdata_c.jar
+          filenameCJar,  // dir2
+          filenameBData, // dir2
+          filenameAData, // dir2
+          filenameCJar,  // dir3
+          filenameCDupJar, //dir3
+          filenameCDupJar2, // dir3/inner
+          filenameCDupJar, // dir3/inner
+          filenameAJar // Direct matched tempdata_a.jar
+      );
 
     } catch (Exception e) {
       Assert.fail("Exception while testing ScannedPaths : " + e.getMessage());
@@ -357,7 +349,6 @@ public class TestScannedPaths {
 
   public void testScannedPathsRecursive() throws Exception {
     ScannedPaths sc;
-    Iterator<String> iter = null;
     String tempPath = "target/test/";
 
     String fileRegex = tempPath + "parent_*";
@@ -366,14 +357,14 @@ public class TestScannedPaths {
       createTempDirStructure2(tempPath);
 
       sc = new ScannedPaths(fileRegex, "file");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 6, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains("jar_1"));
-      Assert.assertTrue(iter.next().contains("jar_2"));
-      Assert.assertTrue(iter.next().contains("jar_4"));
-      Assert.assertTrue(iter.next().contains("jar_3"));
-      Assert.assertTrue(iter.next().contains("jar_6"));
-      Assert.assertTrue(iter.next().contains("jar_5"));
+
+      assertUnOrdered(sc,
+          "jar_1",
+          "jar_2",
+          "jar_4",
+          "jar_3",
+          "jar_6",
+          "jar_5");
 
       /** Now also enforce order for c_dir **/
       File orderFile = createNewPath(tempPath, "parent_dir/c_dir/glob_order");
@@ -383,14 +374,14 @@ public class TestScannedPaths {
       writer.close();
 
       sc = new ScannedPaths(fileRegex, "file");
-      Assert.assertEquals(Iterators.size(sc.iterator()), 6, "Incorrect number of matches found");
-      iter = sc.iterator();
-      Assert.assertTrue(iter.next().contains("jar_1"));
-      Assert.assertTrue(iter.next().contains("jar_2"));
-      Assert.assertTrue(iter.next().contains("jar_4"));
-      Assert.assertTrue(iter.next().contains("jar_3"));
-      Assert.assertTrue(iter.next().contains("jar_5"));
-      Assert.assertTrue(iter.next().contains("jar_6"));
+
+      assertUnOrdered(sc,
+          "jar_1",
+          "jar_2",
+          "jar_4",
+          "jar_3",
+          "jar_5",
+          "jar_6");
 
     } catch (Exception e) {
       Assert.fail("Exception while testing ScannedPaths : " + e.getMessage());
@@ -437,4 +428,32 @@ public class TestScannedPaths {
     }
     return f;
   }
+
+  private void assertOrdered(ScannedPaths sc, String ... expectedPaths) {
+    List<String> actual = new ArrayList<>();
+    for (String path : sc) {
+      actual.add(path.substring(path.lastIndexOf("/") + 1, path.length()));
+    }
+
+    List<String> expected = new ArrayList<>();
+    for (String path : expectedPaths) {
+      expected.add(path);
+    }
+
+    Assert.assertEquals(actual, expected);
+  }
+
+  private void assertUnOrdered(ScannedPaths sc, String ... expectedPaths) {
+    Set<String> actual = new HashSet<>();
+    for (String path : sc) {
+      actual.add(path.substring(path.lastIndexOf("/") + 1, path.length()));
+    }
+
+    Set<String> expected = new HashSet<>();
+    for (String path : expectedPaths) {
+      expected.add(path);
+    }
+
+    Assert.assertEquals(actual, expected);
+  }
 }