sentry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s..@apache.org
Subject [17/25] incubator-sentry git commit: SENTRY-570: Bug fixing for the test case TestMetaStoreWithPigHCat (Colin Ma, Reviewed by: Lenni Kuff)
Date Thu, 05 Nov 2015 01:44:45 GMT
SENTRY-570: Bug fixing for the test case TestMetaStoreWithPigHCat (Colin Ma, Reviewed by: Lenni
Kuff)


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

Branch: refs/heads/hive_plugin_v2
Commit: 7a61d56318d2c433c14a380532a6ace26d075470
Parents: 6058fbf
Author: Colin Ma <colin@apache.org>
Authored: Thu Oct 8 14:06:07 2015 +0800
Committer: Sun Dapeng <sdp@apache.org>
Committed: Mon Nov 2 16:36:54 2015 +0800

----------------------------------------------------------------------
 .../e2e/metastore/TestMetaStoreWithPigHCat.java | 38 ++++++++++----------
 1 file changed, 18 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/7a61d563/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/metastore/TestMetaStoreWithPigHCat.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/metastore/TestMetaStoreWithPigHCat.java
b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/metastore/TestMetaStoreWithPigHCat.java
index 9aa140c..f406fd7 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/metastore/TestMetaStoreWithPigHCat.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/metastore/TestMetaStoreWithPigHCat.java
@@ -19,11 +19,9 @@
 package org.apache.sentry.tests.e2e.metastore;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
 
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.IOException;
 
 import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
 import org.apache.hive.hcatalog.pig.HCatStorer;
@@ -43,8 +41,9 @@ public class TestMetaStoreWithPigHCat extends
   private PolicyFile policyFile;
   private File dataFile;
   private static final String dbName = "db_1";
+  private static final String tabName1 = "tab1";
+  private static final String tabName2 = "tab2";
   private static final String db_all_role = "all_db1";
-  private static final String uri_role = "uri_role";
 
   @BeforeClass
   public static void beforeClass() {
@@ -64,7 +63,7 @@ public class TestMetaStoreWithPigHCat extends
         .addRolesToGroup(USERGROUP2, "read_db_role")
         .addPermissionsToRole(db_all_role, "server=server1->db=" + dbName)
         .addPermissionsToRole("read_db_role",
-            "server=server1->db=" + dbName + "->table=*->action=SELECT")
+            "server=server1->db=" + dbName + "->table=" + tabName2 + "->action=SELECT")
         .setUserGroupMapping(StaticUserGroup.getStaticMapping());
     writePolicyFile(policyFile);
 
@@ -82,34 +81,33 @@ public class TestMetaStoreWithPigHCat extends
   @Ignore
   @Test
   public void testPartionLoad() throws Exception {
-    String tabName = "tab1";
-    execHiveSQL("CREATE TABLE " + dbName + "." + tabName
-        + " (id int) PARTITIONED BY (part_col STRING)", USER1_1);
+    execHiveSQL("CREATE TABLE " + dbName + "." + tabName1
+        + " (id int) PARTITIONED BY (part_col STRING)", ADMIN1);
+    execHiveSQL("CREATE TABLE " + dbName + "." + tabName2
+        + " (id int) PARTITIONED BY (part_col STRING)", ADMIN1);
 
     // user with ALL on DB should be able to add partion using Pig/HCatStore
     PigServer pigServer = context.getPigServer(USER1_1, ExecType.LOCAL);
     execPigLatin(USER1_1, pigServer, "A = load '" + dataFile.getPath()
         + "' as (id:int);");
-    execPigLatin(USER1_1, pigServer, "store A into '" + dbName + "." + tabName
+    execPigLatin(USER1_1, pigServer, "store A into '" + dbName + "." + tabName1
         + "' using " + HCatStorer.class.getName() + " ('part_col=part1');");
     HiveMetaStoreClient client = context.getMetaStoreClient(ADMIN1);
-    assertEquals(1, client.listPartitionNames(dbName, tabName, (short) 10)
+    assertEquals(1, client.listPartitionNames(dbName, tabName1, (short) 10)
         .size());
-    client.close();
 
-    // user without ALL on DB should NOT be able to add partition with
-    // Pig/HCatStore
+    // user without select on DB should NOT be able to add partition with Pig/HCatStore
     pigServer = context.getPigServer(USER2_1, ExecType.LOCAL);
     execPigLatin(USER2_1, pigServer, "A = load '" + dataFile.getPath()
         + "' as (id:int);");
-    try {
-      execPigLatin(USER2_1, pigServer, "store A into '" + dbName + "." + tabName + "' using
"
-          + HCatStorer.class.getName() + " ('part_col=part2');");
-      fail("USER2_1 has no access to the metadata, exception will be thrown.");
-    } catch (IOException e) {
-      // ignore the exception
-    }
-
+    // This action won't be successful because of no permission, but there is no exception
will
+    // be thrown in this thread. The detail exception can be found in
+    // sentry-tests/sentry-tests-hive/target/surefire-reports/org.apache.sentry.tests.e2e.metastore.TestMetaStoreWithPigHCat-output.txt.
+    execPigLatin(USER2_1, pigServer, "store A into '" + dbName + "." + tabName2 + "' using
"
+        + HCatStorer.class.getName() + " ('part_col=part2');");
+    // The previous action is failed, and there will be no data.
+    assertEquals(0, client.listPartitionNames(dbName, tabName2, (short) 10).size());
+    client.close();
   }
 
 }


Mime
View raw message