You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by sd...@apache.org on 2015/10/28 06:34:33 UTC
incubator-sentry git commit: SENTRY-915: Improve Hive E2E tests for
keep consistent with Hive metadata (Dapeng Sun, reviewed by Guoquan Shen)
Repository: incubator-sentry
Updated Branches:
refs/heads/master 4a4bfecfe -> 52ec19483
SENTRY-915: Improve Hive E2E tests for keep consistent with Hive metadata (Dapeng Sun, reviewed by Guoquan Shen)
Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/52ec1948
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/52ec1948
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/52ec1948
Branch: refs/heads/master
Commit: 52ec19483edf8ce8b5b7468edda77455cff833f4
Parents: 4a4bfec
Author: Sun Dapeng <sd...@apache.org>
Authored: Wed Oct 28 13:26:21 2015 +0800
Committer: Sun Dapeng <sd...@apache.org>
Committed: Wed Oct 28 13:26:21 2015 +0800
----------------------------------------------------------------------
.../tests/e2e/dbprovider/TestDbEndToEnd.java | 8 +-
.../sentry/tests/e2e/hive/TestCrossDbOps.java | 1 +
.../e2e/hive/TestMetadataObjectRetrieval.java | 22 ++-
.../tests/e2e/hive/TestMetadataPermissions.java | 16 +-
.../sentry/tests/e2e/hive/TestOperations.java | 23 ++-
.../e2e/hive/TestPrivilegesAtDatabaseScope.java | 8 +-
.../e2e/hive/TestPrivilegesAtFunctionScope.java | 15 +-
.../e2e/hive/TestPrivilegesAtTableScope.java | 188 ++++++++++---------
.../e2e/hive/TestRuntimeMetadataRetrieval.java | 3 +
.../sentry/tests/e2e/hive/TestSandboxOps.java | 5 +-
10 files changed, 166 insertions(+), 123 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDbEndToEnd.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDbEndToEnd.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDbEndToEnd.java
index d1f2774..bb0ec7a 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDbEndToEnd.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDbEndToEnd.java
@@ -174,7 +174,10 @@ public class TestDbEndToEnd extends AbstractTestWithStaticConfiguration {
statement.execute("DROP DATABASE IF EXISTS " + DB2 + " CASCADE");
statement.execute("CREATE DATABASE " + DB2);
statement.execute("USE " + DB2);
+ statement.execute("DROP TABLE IF EXISTS " + DB2 + "." + tableName1);
statement.execute("DROP TABLE IF EXISTS " + DB2 + "." + tableName2);
+ statement.execute("create table " + DB2 + "." + tableName1
+ + " (under_col int comment 'the under column', value string)");
statement.execute("create table " + DB2 + "." + tableName2
+ " (under_col int comment 'the under column', value string)");
statement.execute("load data local inpath '" + dataFile.getPath()
@@ -198,6 +201,9 @@ public class TestDbEndToEnd extends AbstractTestWithStaticConfiguration {
+ "' TO ROLE data_uri");
statement.execute("USE " + DB1);
+ statement.execute("DROP TABLE IF EXISTS " + DB1 + "." + tableName1);
+ statement.execute("create table " + DB1 + "." + tableName1
+ + " (under_col int comment 'the under column', value string)");
statement.execute("GRANT SELECT ON TABLE " + tableName1
+ " TO ROLE select_tb1");
@@ -226,7 +232,7 @@ public class TestDbEndToEnd extends AbstractTestWithStaticConfiguration {
// 7
connection = context.createConnection(ADMIN1);
statement = context.createStatement(connection);
- statement.execute("USE " + DB2);
+ statement.execute("USE " + DB1);
statement.execute("DROP TABLE IF EXISTS " + DB1 + "." + tableName1);
statement.execute("create table " + DB1 + "." + tableName1
+ " (under_col int comment 'the under column', value string)");
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestCrossDbOps.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestCrossDbOps.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestCrossDbOps.java
index 2e4be8a..9a21865 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestCrossDbOps.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestCrossDbOps.java
@@ -407,6 +407,7 @@ public class TestCrossDbOps extends AbstractTestWithStaticConfiguration {
adminStmt.execute("use default");
adminStmt.execute("CREATE DATABASE " + DB1);
adminStmt.execute("create table " + DB1 + ".table_1 (id int)");
+ adminStmt.execute("create table " + DB1 + ".table_2 (id int)");
adminStmt.close();
adminCon.close();
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataObjectRetrieval.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataObjectRetrieval.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataObjectRetrieval.java
index f824cc5..1415647 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataObjectRetrieval.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataObjectRetrieval.java
@@ -179,6 +179,7 @@ public class TestMetadataObjectRetrieval extends AbstractTestWithStaticConfigura
throws Exception {
createDb(ADMIN1, DB1);
createTable(ADMIN1, DB1, dataFile, TBL1);
+ createTable(ADMIN1, DB1, dataFile, TBL2);
positiveDescribeShowTests(ADMIN1, DB1, TBL1);
policyFile
@@ -307,14 +308,15 @@ public class TestMetadataObjectRetrieval extends AbstractTestWithStaticConfigura
@Test
public void testDescribeDatabasesWithAllOnServerAndAllOnDb()
throws Exception {
+ dropDb(ADMIN1, DB1, DB2);
+ createDb(ADMIN1, DB1, DB2);
+ createTable(ADMIN1, DB1, dataFile, TBL1);
+ createTable(ADMIN1, DB2, dataFile, TBL1);
policyFile
.addPermissionsToRole(GROUP1_ROLE, "server=server1->db=" + DB1)
.addRolesToGroup(USERGROUP1, GROUP1_ROLE)
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
- dropDb(ADMIN1, DB1, DB2);
- createDb(ADMIN1, DB1, DB2);
- createTable(ADMIN1, DB1, dataFile, TBL1);
Connection connection = context.createConnection(ADMIN1);
Statement statement = context.createStatement(connection);
@@ -344,6 +346,8 @@ public class TestMetadataObjectRetrieval extends AbstractTestWithStaticConfigura
@Test
public void testDescribeDefaultDatabase() throws Exception {
createDb(ADMIN1, DB1, DB2);
+ createTable(ADMIN1, "default", dataFile, TBL1);
+ createTable(ADMIN1, DB1, dataFile, TBL1);
Connection connection = context.createConnection(ADMIN1);
Statement statement = context.createStatement(connection);
assertTrue(statement.executeQuery("DESCRIBE DATABASE default").next());
@@ -380,6 +384,7 @@ public class TestMetadataObjectRetrieval extends AbstractTestWithStaticConfigura
public void testShowIndexes1() throws Exception {
createDb(ADMIN1, DB1);
createTable(ADMIN1, DB1, dataFile, TBL1);
+ createTable(ADMIN1, DB1, dataFile, TBL2);
Connection connection = context.createConnection(ADMIN1);
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
@@ -395,8 +400,8 @@ public class TestMetadataObjectRetrieval extends AbstractTestWithStaticConfigura
statement.close();
connection.close();
- // grant privilege to non-existent table to allow use db1
- policyFile.addPermissionsToRole(GROUP1_ROLE, SELECT_DB1_NONTABLE)
+ // grant privilege to table2 to allow use db1
+ policyFile.addPermissionsToRole(GROUP1_ROLE, SELECT_DB1_TBL2)
.addRolesToGroup(USERGROUP1, GROUP1_ROLE)
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -445,6 +450,9 @@ public class TestMetadataObjectRetrieval extends AbstractTestWithStaticConfigura
Connection connection = context.createConnection(ADMIN1);
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
+ statement.execute("DROP TABLE IF EXISTS " + TBL2);
+ statement.execute("create table " + TBL2
+ + " (under_col int, value string) PARTITIONED BY (dt INT)");
statement.execute("DROP TABLE IF EXISTS " + TBL1);
statement.execute("create table " + TBL1
+ " (under_col int, value string) PARTITIONED BY (dt INT)");
@@ -455,8 +463,8 @@ public class TestMetadataObjectRetrieval extends AbstractTestWithStaticConfigura
statement.close();
connection.close();
- // grant privilege to non-existent table to allow use db1
- policyFile.addPermissionsToRole(GROUP1_ROLE, SELECT_DB1_NONTABLE)
+ // grant privilege to table2 to allow use db1
+ policyFile.addPermissionsToRole(GROUP1_ROLE, SELECT_DB1_TBL2)
.addRolesToGroup(USERGROUP1, GROUP1_ROLE)
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataPermissions.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataPermissions.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataPermissions.java
index 25d1f8c..8202bc3 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataPermissions.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestMetadataPermissions.java
@@ -32,13 +32,7 @@ public class TestMetadataPermissions extends AbstractTestWithStaticConfiguration
@Before
public void setup() throws Exception {
policyFile = PolicyFile.setAdminOnServer1(ADMINGROUP);
-
- policyFile
- .addRolesToGroup(USERGROUP1, "db1_all", "db2_all")
- .addRolesToGroup(USERGROUP2, "db1_all")
- .addPermissionsToRole("db1_all", "server=server1->db=" + DB1)
- .addPermissionsToRole("db2_all", "server=server1->db=" + DB2)
- .setUserGroupMapping(StaticUserGroup.getStaticMapping());
+ policyFile.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
Connection adminCon = context.createConnection(ADMIN1);
@@ -52,6 +46,14 @@ public class TestMetadataPermissions extends AbstractTestWithStaticConfiguration
adminStmt.execute("CREATE TABLE " + tabName + " (id int)");
}
}
+
+ policyFile
+ .addRolesToGroup(USERGROUP1, "db1_all", "db2_all")
+ .addRolesToGroup(USERGROUP2, "db1_all")
+ .addPermissionsToRole("db1_all", "server=server1->db=" + DB1)
+ .addPermissionsToRole("db2_all", "server=server1->db=" + DB2);
+
+ writePolicyFile(policyFile);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestOperations.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestOperations.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestOperations.java
index 29b2d60..0c3910a 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestOperations.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestOperations.java
@@ -189,13 +189,13 @@ public class TestOperations extends AbstractTestWithStaticConfiguration {
statement.close();
connection.close();
+ adminCreate(DB1, null);
+
policyFile
.addPermissionsToRole("all_db1", privileges.get("all_db1"))
.addRolesToGroup(USERGROUP2, "all_db1");
writePolicyFile(policyFile);
- adminCreate(DB1, null);
-
connection = context.createConnection(USER2_1);
statement = context.createStatement(connection);
statement.execute("DROP DATABASE " + DB1);
@@ -259,7 +259,7 @@ public class TestOperations extends AbstractTestWithStaticConfiguration {
*/
@Test
public void testDescDB() throws Exception {
- adminCreate(DB1, null);
+ adminCreate(DB1, tableName);
policyFile
.addPermissionsToRole("select_db1", privileges.get("select_db1"))
.addPermissionsToRole("insert_db1", privileges.get("insert_db1"))
@@ -445,13 +445,6 @@ public class TestOperations extends AbstractTestWithStaticConfiguration {
@Test
public void testAlterTable() throws Exception {
adminCreate(DB1, tableName, true);
- policyFile
- .addPermissionsToRole("alter_db1_tb1", privileges.get("alter_db1_tb1"))
- .addPermissionsToRole("alter_db1_ptab", privileges.get("alter_db1_ptab"))
- .addRolesToGroup(USERGROUP1, "alter_db1_tb1", "alter_db1_ptab")
- .addPermissionsToRole("insert_db1_tb1", privileges.get("insert_db1_tb1"))
- .addRolesToGroup(USERGROUP2, "insert_db1_tb1");
- writePolicyFile(policyFile);
Connection connection;
Statement statement;
@@ -461,7 +454,17 @@ public class TestOperations extends AbstractTestWithStaticConfiguration {
statement.execute("Use " + DB1);
statement.execute("ALTER TABLE tb1 ADD IF NOT EXISTS PARTITION (b = '10') ");
statement.execute("ALTER TABLE tb1 ADD IF NOT EXISTS PARTITION (b = '1') ");
+ statement.execute("DROP TABLE IF EXISTS ptab");
statement.execute("CREATE TABLE ptab (a int) STORED AS PARQUET");
+
+ policyFile
+ .addPermissionsToRole("alter_db1_tb1", privileges.get("alter_db1_tb1"))
+ .addPermissionsToRole("alter_db1_ptab", privileges.get("alter_db1_ptab"))
+ .addRolesToGroup(USERGROUP1, "alter_db1_tb1", "alter_db1_ptab")
+ .addPermissionsToRole("insert_db1_tb1", privileges.get("insert_db1_tb1"))
+ .addRolesToGroup(USERGROUP2, "insert_db1_tb1");
+ writePolicyFile(policyFile);
+
//Negative test cases
connection = context.createConnection(USER2_1);
statement = context.createStatement(connection);
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtDatabaseScope.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtDatabaseScope.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtDatabaseScope.java
index 3f6f246..9437fca 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtDatabaseScope.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtDatabaseScope.java
@@ -305,7 +305,7 @@ public class TestPrivilegesAtDatabaseScope extends AbstractTestWithStaticConfigu
statement.execute("use " + DB1);
statement.execute("CREATE TABLE TAB_1(A STRING)");
statement.execute("CREATE DATABASE " + DB2);
- statement.execute("use " + DB1);
+ statement.execute("use " + DB2);
statement.execute("CREATE TABLE TAB_2(A STRING)");
context.close();
@@ -361,6 +361,12 @@ public class TestPrivilegesAtDatabaseScope extends AbstractTestWithStaticConfigu
Statement statement = context.createStatement(connection);
statement.execute("use default");
statement.execute("create table tab1(a int)");
+ statement.execute("CREATE DATABASE " + DB1);
+ statement.execute("use " + DB1);
+ statement.execute("CREATE TABLE TAB_1(A STRING)");
+ statement.execute("CREATE DATABASE " + DB2);
+ statement.execute("use " + DB2);
+ statement.execute("CREATE TABLE TAB_2(A STRING)");
context.close();
policyFile
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtFunctionScope.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtFunctionScope.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtFunctionScope.java
index 228a2de..cfaf7c3 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtFunctionScope.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtFunctionScope.java
@@ -197,6 +197,14 @@ public class TestPrivilegesAtFunctionScope extends AbstractTestWithStaticConfigu
public void testUdfWhiteList () throws Exception {
String tableName1 = "tab1";
+ Connection connection = context.createConnection(ADMIN1);
+ Statement statement = connection.createStatement();
+ statement.execute("DROP DATABASE IF EXISTS " + DB1 + " CASCADE");
+ statement.execute("CREATE DATABASE " + DB1);
+ statement.execute("USE " + DB1);
+ statement.execute("create table " + tableName1
+ + " (under_col int comment 'the under column', value string)");
+
policyFile
.addRolesToGroup(USERGROUP1, "db1_all", "UDF_JAR")
.addRolesToGroup(USERGROUP2, "db1_tab1", "UDF_JAR")
@@ -206,13 +214,6 @@ public class TestPrivilegesAtFunctionScope extends AbstractTestWithStaticConfigu
.addPermissionsToRole("UDF_JAR", "server=server1->uri=file://${user.home}/.m2");
writePolicyFile(policyFile);
- Connection connection = context.createConnection(ADMIN1);
- Statement statement = connection.createStatement();
- statement.execute("DROP DATABASE IF EXISTS " + DB1 + " CASCADE");
- statement.execute("CREATE DATABASE " + DB1);
- statement.execute("USE " + DB1);
- statement.execute("create table " + tableName1
- + " (under_col int comment 'the under column', value string)");
statement.execute("LOAD DATA LOCAL INPATH '" + dataFile.getPath() + "' INTO TABLE "
+ DB1 + "." + tableName1);
statement.execute("SELECT rand(), concat(value, '_foo') FROM " + tableName1);
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtTableScope.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtTableScope.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtTableScope.java
index 6272752..56776db 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtTableScope.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestPrivilegesAtTableScope.java
@@ -73,30 +73,30 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
statement.execute("CREATE DATABASE DB_1");
statement.execute("USE DB_1");
- statement.execute("CREATE TABLE TAB_1(B INT, A STRING) "
+ statement.execute("CREATE TABLE " + TBL1 + "(B INT, A STRING) "
+ " row format delimited fields terminated by '|' stored as textfile");
- statement.execute("LOAD DATA LOCAL INPATH '" + dataFile.getPath() + "' INTO TABLE TAB_1");
- statement.execute("CREATE TABLE TAB_2(B INT, A STRING) "
+ statement.execute("LOAD DATA LOCAL INPATH '" + dataFile.getPath() + "' INTO TABLE " + TBL1);
+ statement.execute("CREATE TABLE " + TBL2 + "(B INT, A STRING) "
+ " row format delimited fields terminated by '|' stored as textfile");
- statement.execute("LOAD DATA LOCAL INPATH '" + dataFile.getPath() + "' INTO TABLE TAB_2");
- statement.execute("CREATE VIEW VIEW_1 AS SELECT A, B FROM TAB_1");
+ statement.execute("LOAD DATA LOCAL INPATH '" + dataFile.getPath() + "' INTO TABLE " + TBL2);
+ statement.execute("CREATE VIEW VIEW_1 AS SELECT A, B FROM " + TBL1);
statement.close();
connection.close();
}
/*
- * Admin creates database DB_1, table TAB_1, TAB_2 in DB_1, loads data into
- * TAB_1, TAB_2 Admin grants SELECT on TAB_1, TAB_2, INSERT on TAB_1 to
+ * Admin creates database DB_1, table TBL1, TBL2 in DB_1, loads data into
+ * TBL1, TBL2 Admin grants SELECT on TBL1, TBL2, INSERT on TBL1 to
* USER_GROUP of which user1 is a member.
*/
@Test
public void testInsertAndSelect() throws Exception {
policyFile
.addRolesToGroup(USERGROUP1, "select_tab1", "insert_tab1", "select_tab2")
- .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=TAB_1->action=select")
- .addPermissionsToRole("insert_tab1", "server=server1->db=DB_1->table=TAB_1->action=insert")
- .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=TAB_2->action=select")
+ .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=select")
+ .addPermissionsToRole("insert_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=insert")
+ .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=" + TBL2 + "->action=select")
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -105,12 +105,12 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Statement statement = context.createStatement(connection);
statement.execute("USE DB_1");
// test user can insert
- statement.execute("INSERT INTO TABLE TAB_1 SELECT A, B FROM TAB_2");
+ statement.execute("INSERT INTO TABLE " + TBL1 + " SELECT A, B FROM " + TBL2);
// test user can query table
- statement.executeQuery("SELECT A FROM TAB_2");
+ statement.executeQuery("SELECT A FROM " + TBL2);
// negative test: test user can't drop
try {
- statement.execute("DROP TABLE TAB_1");
+ statement.execute("DROP TABLE " + TBL1);
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -118,20 +118,20 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
statement.close();
connection.close();
- // connect as admin and drop tab_1
+ // connect as admin and drop TBL1
connection = context.createConnection(ADMIN1);
statement = context.createStatement(connection);
statement.execute("USE DB_1");
- statement.execute("DROP TABLE TAB_1");
+ statement.execute("DROP TABLE " + TBL1);
statement.close();
connection.close();
- // negative test: connect as user1 and try to recreate tab_1
+ // negative test: connect as user1 and try to recreate TBL1
connection = context.createConnection(USER1_1);
statement = context.createStatement(connection);
statement.execute("USE DB_1");
try {
- statement.execute("CREATE TABLE TAB_1(A STRING)");
+ statement.execute("CREATE TABLE " + TBL1 + "(A STRING)");
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -140,29 +140,29 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
statement.close();
connection.close();
- // connect as admin to restore the tab_1
+ // connect as admin to restore the TBL1
connection = context.createConnection(ADMIN1);
statement = context.createStatement(connection);
statement.execute("USE DB_1");
- statement.execute("CREATE TABLE TAB_1(B INT, A STRING) "
+ statement.execute("CREATE TABLE " + TBL1 + "(B INT, A STRING) "
+ " row format delimited fields terminated by '|' stored as textfile");
- statement.execute("INSERT INTO TABLE TAB_1 SELECT A, B FROM TAB_2");
+ statement.execute("INSERT INTO TABLE " + TBL1 + " SELECT A, B FROM " + TBL2);
statement.close();
connection.close();
}
/*
- * Admin creates database DB_1, table TAB_1, TAB_2 in DB_1, loads data into
- * TAB_1, TAB_2. Admin grants INSERT on TAB_1, SELECT on TAB_2 to USER_GROUP
+ * Admin creates database DB_1, table TBL1, TBL2 in DB_1, loads data into
+ * TBL1, TBL2. Admin grants INSERT on TBL1, SELECT on TBL2 to USER_GROUP
* of which user1 is a member.
*/
@Test
public void testInsert() throws Exception {
policyFile
.addRolesToGroup(USERGROUP1, "insert_tab1", "select_tab2")
- .addPermissionsToRole("insert_tab1", "server=server1->db=DB_1->table=TAB_1->action=insert")
- .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=TAB_2->action=select")
+ .addPermissionsToRole("insert_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=insert")
+ .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=" + TBL2 + "->action=select")
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -171,11 +171,11 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
// test user can execute insert on table
- statement.execute("INSERT INTO TABLE TAB_1 SELECT A, B FROM TAB_2");
+ statement.execute("INSERT INTO TABLE " + TBL1 + " SELECT A, B FROM " + TBL2);
// negative test: user can't query table
try {
- statement.executeQuery("SELECT A FROM TAB_1");
+ statement.executeQuery("SELECT A FROM " + TBL1);
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -200,7 +200,7 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
// negative test: test user can't create a new view
try {
- statement.executeQuery("CREATE VIEW VIEW_2(A) AS SELECT A FROM TAB_1");
+ statement.executeQuery("CREATE VIEW VIEW_2(A) AS SELECT A FROM " + TBL1);
Assert.fail("Expected SQL Exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -210,17 +210,17 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
}
/*
- * Admin creates database DB_1, table TAB_1, TAB_2 in DB_1, loads data into
- * TAB_1, TAB_2. Admin grants SELECT on TAB_1, TAB_2 to USER_GROUP of which
+ * Admin creates database DB_1, table TBL1, TBL2 in DB_1, loads data into
+ * TBL1, TBL2. Admin grants SELECT on TBL1, TBL2 to USER_GROUP of which
* user1 is a member.
*/
@Test
public void testSelect() throws Exception {
policyFile
.addRolesToGroup(USERGROUP1, "select_tab1", "select_tab2")
- .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=TAB_1->action=select")
- .addPermissionsToRole("insert_tab1", "server=server1->db=DB_1->table=TAB_1->action=insert")
- .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=TAB_2->action=select")
+ .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=select")
+ .addPermissionsToRole("insert_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=insert")
+ .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=" + TBL2 + "->action=select")
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -229,11 +229,11 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
// test user can execute query on table
- statement.executeQuery("SELECT A FROM TAB_1");
+ statement.executeQuery("SELECT A FROM " + TBL1);
// negative test: test insert into table
try {
- statement.executeQuery("INSERT INTO TABLE TAB_1 SELECT A, B FROM TAB_2");
+ statement.executeQuery("INSERT INTO TABLE " + TBL1 + " SELECT A, B FROM " + TBL2);
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -249,7 +249,7 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
// negative test: test user can't create a new view
try {
- statement.executeQuery("CREATE VIEW VIEW_2(A) AS SELECT A FROM TAB_1");
+ statement.executeQuery("CREATE VIEW VIEW_2(A) AS SELECT A FROM " + TBL1);
Assert.fail("Expected SQL Exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -259,16 +259,16 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
}
/*
- * Admin creates database DB_1, table TAB_1, TAB_2 in DB_1, VIEW_1 on TAB_1
- * loads data into TAB_1, TAB_2. Admin grants SELECT on TAB_1,TAB_2 to
+ * Admin creates database DB_1, table TBL1, TBL2 in DB_1, VIEW_1 on TBL1
+ * loads data into TBL1, TBL2. Admin grants SELECT on TBL1,TBL2 to
* USER_GROUP of which user1 is a member.
*/
@Test
public void testTableViewJoin() throws Exception {
policyFile
.addRolesToGroup(USERGROUP1, "select_tab1", "select_tab2")
- .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=TAB_1->action=select")
- .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=TAB_2->action=select")
+ .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=select")
+ .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=" + TBL2 + "->action=select")
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -276,12 +276,12 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Connection connection = context.createConnection(USER1_1);
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
- // test user can execute query TAB_1 JOIN TAB_2
- statement.executeQuery("SELECT T1.B FROM TAB_1 T1 JOIN TAB_2 T2 ON (T1.B = T2.B)");
+ // test user can execute query TBL1 JOIN TBL2
+ statement.executeQuery("SELECT T1.B FROM " + TBL1 + " T1 JOIN " + TBL2 + " T2 ON (T1.B = T2.B)");
- // negative test: test user can't execute query VIEW_1 JOIN TAB_2
+ // negative test: test user can't execute query VIEW_1 JOIN TBL2
try {
- statement.executeQuery("SELECT V1.B FROM VIEW_1 V1 JOIN TAB_2 T2 ON (V1.B = T2.B)");
+ statement.executeQuery("SELECT V1.B FROM VIEW_1 V1 JOIN " + TBL2 + " T2 ON (V1.B = T2.B)");
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -292,16 +292,16 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
}
/*
- * Admin creates database DB_1, table TAB_1, TAB_2 in DB_1, VIEW_1 on TAB_1
- * loads data into TAB_1, TAB_2. Admin grants SELECT on TAB_2 to USER_GROUP of
+ * Admin creates database DB_1, table TBL1, TBL2 in DB_1, VIEW_1 on TBL1
+ * loads data into TBL1, TBL2. Admin grants SELECT on TBL2 to USER_GROUP of
* which user1 is a member.
*/
@Test
public void testTableViewJoin2() throws Exception {
policyFile
.addRolesToGroup(USERGROUP1, "select_tab2")
- .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=TAB_1->action=select")
- .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=TAB_2->action=select")
+ .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=select")
+ .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=" + TBL2 + "->action=select")
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -309,20 +309,20 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Connection connection = context.createConnection(USER1_1);
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
- // test user can execute query on TAB_2
- statement.executeQuery("SELECT A FROM TAB_2");
+ // test user can execute query on TBL2
+ statement.executeQuery("SELECT A FROM " + TBL2);
- // negative test: test user can't execute query VIEW_1 JOIN TAB_2
+ // negative test: test user can't execute query VIEW_1 JOIN TBL2
try {
- statement.executeQuery("SELECT VIEW_1.B FROM VIEW_1 JOIN TAB_2 ON (VIEW_1.B = TAB_2.B)");
+ statement.executeQuery("SELECT VIEW_1.B FROM VIEW_1 JOIN " + TBL2 + " ON (VIEW_1.B = " + TBL2 + ".B)");
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
}
- // negative test: test user can't execute query TAB_1 JOIN TAB_2
+ // negative test: test user can't execute query TBL1 JOIN TBL2
try {
- statement.executeQuery("SELECT TAB_1.B FROM TAB_1 JOIN TAB_2 ON (TAB_1.B = TAB_2.B)");
+ statement.executeQuery("SELECT " + TBL1 + ".B FROM " + TBL1 + " JOIN " + TBL2 + " ON (" + TBL1 + ".B = " + TBL2 + ".B)");
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -333,8 +333,8 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
}
/*
- * Admin creates database DB_1, table TAB_1, TAB_2 in DB_1, VIEW_1 on TAB_1
- * loads data into TAB_1, TAB_2. Admin grants SELECT on TAB_2, VIEW_1 to
+ * Admin creates database DB_1, table TBL1, TBL2 in DB_1, VIEW_1 on TBL1
+ * loads data into TBL1, TBL2. Admin grants SELECT on TBL2, VIEW_1 to
* USER_GROUP of which user1 is a member.
*/
@Test
@@ -342,7 +342,7 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
policyFile
.addRolesToGroup(USERGROUP1, "select_tab2", "select_view1")
.addPermissionsToRole("select_view1", "server=server1->db=DB_1->table=VIEW_1->action=select")
- .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=TAB_2->action=select")
+ .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=" + TBL2 + "->action=select")
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -350,18 +350,18 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Connection connection = context.createConnection(USER1_1);
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
- // test user can execute query on TAB_2
- statement.executeQuery("SELECT A FROM TAB_2");
+ // test user can execute query on TBL2
+ statement.executeQuery("SELECT A FROM " + TBL2);
- // test user can execute query VIEW_1 JOIN TAB_2
- statement.executeQuery("SELECT V1.B FROM VIEW_1 V1 JOIN TAB_2 T2 ON (V1.B = T2.B)");
+ // test user can execute query VIEW_1 JOIN TBL2
+ statement.executeQuery("SELECT V1.B FROM VIEW_1 V1 JOIN " + TBL2 + " T2 ON (V1.B = T2.B)");
// test user can execute query on VIEW_1
statement.executeQuery("SELECT A FROM VIEW_1");
- // negative test: test user can't execute query TAB_1 JOIN TAB_2
+ // negative test: test user can't execute query TBL1 JOIN TBL2
try {
- statement.executeQuery("SELECT T1.B FROM TAB_1 T1 JOIN TAB_2 T2 ON (T1.B = T2.B)");
+ statement.executeQuery("SELECT T1.B FROM " + TBL1 + " T1 JOIN " + TBL2 + " T2 ON (T1.B = T2.B)");
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -372,8 +372,8 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
}
/*
- * Admin creates database DB_1, table TAB_1, TAB_2 in DB_1, VIEW_1 on TAB_1
- * loads data into TAB_1, TAB_2. Admin grants SELECT on TAB_1, VIEW_1 to
+ * Admin creates database DB_1, table TBL1, TBL2 in DB_1, VIEW_1 on TBL1
+ * loads data into TBL1, TBL2. Admin grants SELECT on TBL1, VIEW_1 to
* USER_GROUP of which user1 is a member.
*/
@Test
@@ -381,7 +381,7 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
policyFile
.addRolesToGroup(USERGROUP1, "select_tab1", "select_view1")
.addPermissionsToRole("select_view1", "server=server1->db=DB_1->table=VIEW_1->action=select")
- .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=TAB_1->action=select")
+ .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=select")
.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
@@ -390,12 +390,12 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
- // test user can execute query VIEW_1 JOIN TAB_1
- statement.executeQuery("SELECT VIEW_1.B FROM VIEW_1 JOIN TAB_1 ON (VIEW_1.B = TAB_1.B)");
+ // test user can execute query VIEW_1 JOIN TBL1
+ statement.executeQuery("SELECT VIEW_1.B FROM VIEW_1 JOIN " + TBL1 + " ON (VIEW_1.B = " + TBL1 + ".B)");
- // negative test: test user can't execute query TAB_1 JOIN TAB_2
+ // negative test: test user can't execute query TBL1 JOIN TBL2
try {
- statement.executeQuery("SELECT TAB_1.B FROM TAB_1 JOIN TAB_2 ON (TAB_1.B = TAB_2.B)");
+ statement.executeQuery("SELECT " + TBL1 + ".B FROM " + TBL1 + " JOIN " + TBL2 + " ON (" + TBL1 + ".B = " + TBL2 + ".B)");
Assert.fail("Expected SQL exception");
} catch (SQLException e) {
context.verifyAuthzException(e);
@@ -419,18 +419,7 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Resources.copy(Resources.getResource(MULTI_TYPE_DATA_FILE_NAME), to);
to.close();
- policyFile
- .addRolesToGroup(USERGROUP1, "all_tab1")
- .addPermissionsToRole("all_tab1",
- "server=server1->db=" + DB1 + "->table=" + TBL2)
- .addRolesToGroup(USERGROUP2, "drop_tab1")
- .addPermissionsToRole("drop_tab1",
- "server=server1->db=" + DB1 + "->table=" + TBL3 + "->action=drop",
- "server=server1->db=" + DB1 + "->table=" + TBL3 + "->action=select")
- .addRolesToGroup(USERGROUP3, "select_tab1")
- .addPermissionsToRole("select_tab1",
- "server=server1->db=" + DB1 + "->table=" + TBL1 + "->action=select")
- .setUserGroupMapping(StaticUserGroup.getStaticMapping());
+ policyFile.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
// setup db objects needed by the test
@@ -438,6 +427,9 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
+ statement.execute("DROP TABLE if exists " + TBL1);
+ statement.execute("DROP TABLE if exists " + TBL2);
+ statement.execute("DROP TABLE if exists " + TBL3);
statement.execute("CREATE TABLE " + TBL1 + "(B INT, A STRING) "
+ " row format delimited fields terminated by '|' stored as textfile");
statement.execute("CREATE TABLE " + TBL2 + "(B INT, A STRING) "
@@ -454,9 +446,23 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
// verify admin can execute truncate table
statement.execute("TRUNCATE TABLE " + TBL1);
assertFalse(hasData(statement, TBL1));
+
statement.close();
connection.close();
+ policyFile
+ .addRolesToGroup(USERGROUP1, "all_tab1")
+ .addPermissionsToRole("all_tab1",
+ "server=server1->db=" + DB1 + "->table=" + TBL2)
+ .addRolesToGroup(USERGROUP2, "drop_tab1")
+ .addPermissionsToRole("drop_tab1",
+ "server=server1->db=" + DB1 + "->table=" + TBL3 + "->action=drop",
+ "server=server1->db=" + DB1 + "->table=" + TBL3 + "->action=select")
+ .addRolesToGroup(USERGROUP3, "select_tab1")
+ .addPermissionsToRole("select_tab1",
+ "server=server1->db=" + DB1 + "->table=" + TBL1 + "->action=select");
+ writePolicyFile(policyFile);
+
connection = context.createConnection(USER1_1);
statement = context.createStatement(connection);
statement.execute("USE " + DB1);
@@ -527,11 +533,7 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
@Test
public void testDummyPartition() throws Exception {
- policyFile
- .addRolesToGroup(USERGROUP1, "select_tab1", "select_tab2")
- .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=TAB_1->action=select")
- .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=TAB_3->action=insert")
- .setUserGroupMapping(StaticUserGroup.getStaticMapping());
+ policyFile.setUserGroupMapping(StaticUserGroup.getStaticMapping());
writePolicyFile(policyFile);
// setup db objects needed by the test
@@ -539,15 +541,25 @@ public class TestPrivilegesAtTableScope extends AbstractTestWithStaticConfigurat
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
- statement.execute("CREATE table TAB_3 (a2 int) PARTITIONED BY (b2 string, c2 string)");
+
+ statement.execute("DROP TABLE if exists " + TBL1);
+ statement.execute("CREATE table " + TBL1 + " (a int) PARTITIONED BY (b string, c string)");
+ statement.execute("DROP TABLE if exists " + TBL3);
+ statement.execute("CREATE table " + TBL3 + " (a2 int) PARTITIONED BY (b2 string, c2 string)");
statement.close();
connection.close();
+ policyFile
+ .addRolesToGroup(USERGROUP1, "select_tab1", "select_tab2")
+ .addPermissionsToRole("select_tab1", "server=server1->db=DB_1->table=" + TBL1 + "->action=select")
+ .addPermissionsToRole("select_tab2", "server=server1->db=DB_1->table=" + TBL3 + "->action=insert");
+ writePolicyFile(policyFile);
+
connection = context.createConnection(USER1_1);
statement = context.createStatement(connection);
statement.execute("USE " + DB1);
- statement.execute("INSERT OVERWRITE TABLE TAB_3 PARTITION(b2='abc', c2) select a, b as c2 from TAB_1");
+ statement.execute("INSERT OVERWRITE TABLE " + TBL3 + " PARTITION(b2='abc', c2) select a, b as c2 from " + TBL1);
statement.close();
connection.close();
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestRuntimeMetadataRetrieval.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestRuntimeMetadataRetrieval.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestRuntimeMetadataRetrieval.java
index 6eb960b..4925f2e 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestRuntimeMetadataRetrieval.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestRuntimeMetadataRetrieval.java
@@ -347,6 +347,7 @@ public class TestRuntimeMetadataRetrieval extends AbstractTestWithStaticConfigur
String[] dbNames = {DB1, DB2, DB3};
List<String> dbNamesValidation = new ArrayList<String>();
String[] user1DbNames = {DB1, DB2};
+ String tableNames[] = {"tb_1"};
// verify by SQL
// 1, 2
@@ -355,6 +356,8 @@ public class TestRuntimeMetadataRetrieval extends AbstractTestWithStaticConfigur
dbNamesValidation.add("default");
Connection connection = context.createConnection(ADMIN1);
Statement statement = context.createStatement(connection);
+ createTabs(statement, DB1, tableNames);
+ createTabs(statement, DB2, tableNames);
ResultSet rs = statement.executeQuery("SHOW DATABASES");
validateDBs(rs, dbNamesValidation); // admin should see all dbs
rs.close();
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/52ec1948/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestSandboxOps.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestSandboxOps.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestSandboxOps.java
index fe837e4..da3b90f 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestSandboxOps.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/hive/TestSandboxOps.java
@@ -305,6 +305,7 @@ public class TestSandboxOps extends AbstractTestWithStaticConfiguration {
public void testSandboxOpt13() throws Exception {
createDb(ADMIN1, DB1);
createTable(ADMIN1, DB1, dataFile, TBL1);
+ createTable(ADMIN1, DB1, dataFile, TBL2);
Connection connection = context.createConnection(ADMIN1);
Statement statement = context.createStatement(connection);
statement.execute("USE " + DB1);
@@ -360,16 +361,16 @@ public class TestSandboxOps extends AbstractTestWithStaticConfiguration {
@Test
public void testSandboxOpt17() throws Exception {
createDb(ADMIN1, DB1);
+ createTable(ADMIN1, DB1, dataFile, TBL1, TBL2);
policyFile
.addRolesToGroup(USERGROUP1, "all_db1", "load_data")
.addRolesToGroup(USERGROUP2, "select_tb1")
- .addPermissionsToRole("select_tb1", "server=server1->db=" + DB1 + "->table=tbl_1->action=select")
+ .addPermissionsToRole("select_tb1", "server=server1->db=" + DB1 + "->table=" + TBL1 + "->action=select")
.addPermissionsToRole("all_db1", "server=server1->db=" + DB1)
.addPermissionsToRole("load_data", "server=server1->uri=file://" + dataFile.toString());
writePolicyFile(policyFile);
- createTable(USER1_1, DB1, dataFile, TBL1, TBL2);
Connection connection = context.createConnection(USER1_1);
Statement statement = context.createStatement(connection);
// c