Changeset: f67d17e29ef9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f67d17e29ef9
Modified Files:
sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py
Branch: mtest
Log Message:
fixed a test query and added expected err info
diffs (97 lines):
diff --git a/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py
b/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py
--- a/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py
+++ b/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py
@@ -36,32 +36,31 @@ with SQLTestCase() as tc:
# but individually, because, otherwise, the fact that a query actually
# succeeds will be lost.
tc.connect(username="user_delete", password="delete")
- tc.execute("DELETE FROM testTable where v1 = 2; -- should
work").assertSucceeded()
- tc.execute("SELECT * FROM testTable; -- should work").assertSucceeded()
- tc.execute("UPDATE testTable set v1 = 2 where v2 = 7; -- not enough
privileges").assertFailed()
- tc.execute("INSERT into testTable values (3, 3); -- not enough
privileges").assertFailed()
+ tc.execute("DELETE FROM testTable where v1 = 2;").assertSucceeded()
+ tc.execute("SELECT * FROM testTable;").assertSucceeded()
+ tc.execute("UPDATE testTable set v1 = 2 where v2 =
7;").assertFailed(err_code="42000", err_message="UPDATE: insufficient
privileges for user 'user_delete' to update table 'testtable' on column 'v1'")
+ tc.execute("INSERT into testTable values (3,
3);").assertFailed(err_code="42000", err_message="INSERT INTO: insufficient
privileges for user 'user_delete' to insert into table 'testtable'")
tc.connect(username="user_update", password="update")
tc.execute("UPDATE testTable set v1 = 2 where v2 = 7;").assertSucceeded()
- tc.execute("SELECT * FROM testTable; -- should work").assertSucceeded()
- tc.execute("INSERT into testTable values (3, 3); -- not enough
privileges").assertFailed()
- tc.execute("DELETE FROM testTable where v1 = 2; -- not enough
privileges").assertFailed()
+ tc.execute("SELECT * FROM testTable;").assertSucceeded()
+ tc.execute("INSERT into testTable values (3,
3);").assertFailed(err_code="42000", err_message="INSERT INTO: insufficient
privileges for user 'user_update' to insert into table 'testtable'")
+ tc.execute("DELETE FROM testTable where v1 =
2;").assertFailed(err_code="42000", err_message="DELETE FROM: insufficient
privileges for user 'user_update' to delete from table 'testtable'")
tc.connect(username="user_insert", password="insert")
tc.execute("INSERT into testTable values (3, 3);").assertSucceeded()
- tc.execute("SELECT * FROM testTable; -- not enough
privileges").assertFailed()
- tc.execute("UPDATE testTable set v1 = 2 where v2 = 7; -- not enough
privileges").assertFailed()
- tc.execute("DELETE FROM testTable where v1 = 2; -- not enough
privileges").assertFailed()
+ tc.execute("SELECT * FROM testTable;").assertFailed(err_code="42000",
err_message="SELECT: access denied for user_insert to table
'schematest.testtable'")
+ tc.execute("UPDATE testTable set v1 = 2 where v2 =
7;").assertFailed(err_code="42000", err_message="UPDATE: insufficient
privileges for user 'user_insert' to update table 'testtable'")
+ tc.execute("DELETE FROM testTable where v1 =
2;").assertFailed(err_code="42000", err_message="DELETE FROM: insufficient
privileges for user 'user_insert' to delete from table 'testtable'")
tc.connect(username="user_select", password="select")
tc.execute("SELECT * FROM testTable;").assertSucceeded()
- tc.execute("INSERT into testTable values (3, 3); -- not enough
privileges").assertFailed()
- tc.execute("UPDATE testTable set v1 = 2 where v2 = 7; -- not enough
privileges").assertFailed()
- tc.execute("DELETE FROM testTable where v1 = 2; -- not enough
privileges").assertFailed()
+ tc.execute("INSERT into testTable values (3,
3);").assertFailed(err_code="42000", err_message="INSERT INTO: insufficient
privileges for user 'user_select' to insert into table 'testtable'")
+ tc.execute("UPDATE testTable set v1 = 2 where v2 =
7;").assertFailed(err_code="42000", err_message="UPDATE: insufficient
privileges for user 'user_select' to update table 'testtable' on column 'v1'")
+ tc.execute("DELETE FROM testTable where v1 =
2;").assertFailed(err_code="42000", err_message="DELETE FROM: insufficient
privileges for user 'user_select' to delete from table 'testtable'")
tc.connect(username="monetdb", password="monetdb")
tc.execute("""
- SELECT * FROM schemaTest.testTable;
REVOKE DELETE on schemaTest.testTable from user_delete;
REVOKE INSERT on schemaTest.testTable from user_insert;
REVOKE UPDATE on schemaTest.testTable from user_update;
@@ -70,22 +69,20 @@ with SQLTestCase() as tc:
tc.connect(username='user_delete', password='delete')
- tc.execute("DELETE from testTable where v2 = 666; -- not enough
privileges").assertFailed()
+ tc.execute("DELETE from testTable where v2 =
666;").assertFailed(err_code="42000", err_message="DELETE FROM: insufficient
privileges for user 'user_delete' to delete from table 'testtable'")
tc.connect(username='user_insert', password='insert')
- tc.execute("INSERT into testTable values (666, 666); -- not enough
privileges").assertFailed()
+ tc.execute("INSERT into testTable values (666,
666);").assertFailed(err_code="42000", err_message="INSERT INTO: insufficient
privileges for user 'user_insert' to insert into table 'testtable'")
tc.connect(username='user_update', password='update')
- tc.execute("UPDATE testTable set v1 = 666 where v2 = 666; -- not enough
privileges").assertFailed()
+ tc.execute("UPDATE testTable set v1 = 666 where v2 =
666;").assertFailed(err_code="42000", err_message="UPDATE: insufficient
privileges for user 'user_update' to update table 'testtable' on column 'v1'")
- tc.connect(username='monetdb', password='monetdb')
- tc.execute("SELECT * from schemaTest.testTable;").assertSucceeded()
+ tc.connect(username='user_select', password='select')
+ tc.execute("SELECT * from
schemaTest.testTable;").assertFailed(err_code="42000", err_message="SELECT:
access denied for user_select to table 'schematest.testtable'")
tc.connect(username='monetdb', password='monetdb')
tc.execute("""
- SELECT * from schemaTest.testTable;
-
- -- Grant delete rights.
+ -- Re-grant the rights.
GRANT DELETE on table schemaTest.testTable to user_delete;
GRANT INSERT on table schemaTest.testTable to user_insert;
GRANT UPDATE on table schemaTest.testTable to user_update;
@@ -93,14 +90,14 @@ with SQLTestCase() as tc:
""").assertSucceeded()
tc.connect(username='user_delete', password='delete')
- tc.execute("DELETE from testTable where v1 = 42; -- privilege
granted").assertSucceeded()
+ tc.execute("DELETE from testTable where v1 = 42;").assertSucceeded()
tc.connect(username='user_insert', password='insert')
- tc.execute("INSERT into testTable values (42, 42); -- privilege
granted").assertSucceeded()
+ tc.execute("INSERT into testTable values (42, 42);").assertSucceeded()
tc.connect(username='user_update', password='update')
- tc.execute("UPDATE testTable set v1 = 42 where v2 = 42; -- privilege
granted").assertSucceeded()
+ tc.execute("UPDATE testTable set v1 = 42 where v2 = 42;").assertSucceeded()
tc.connect(username='user_select', password='select')
- tc.execute("SELECT * FROM testTable where v1 = 42; -- privilege
granted").assertSucceeded()
+ tc.execute("SELECT * FROM testTable where v1 = 42;").assertSucceeded()
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list