Changeset: e91076b69e74 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e91076b69e74
Modified Files:
sql/test/BugTracker-2015/Tests/grantRole.Bug-3772.SQL.py
Branch: mtest
Log Message:
small improvements too grant role test
diffs (44 lines):
diff --git a/sql/test/BugTracker-2015/Tests/grantRole.Bug-3772.SQL.py
b/sql/test/BugTracker-2015/Tests/grantRole.Bug-3772.SQL.py
--- a/sql/test/BugTracker-2015/Tests/grantRole.Bug-3772.SQL.py
+++ b/sql/test/BugTracker-2015/Tests/grantRole.Bug-3772.SQL.py
@@ -23,25 +23,28 @@ with SQLTestCase() as mdb:
bruce.connect(username="bruce", password="bruce")
bruce.execute("SET role role1;").assertFailed(err_code="42000",
err_message="Role (role1) missing")
bruce.execute("select * from test;").assertFailed(err_code="42000",
err_message="SELECT: access denied for bruce to table 's1.test'")
- bruce.execute("GRANT role1 TO alice FROM
current_role;").assertFailed(err_code="0P000", err_message="GRANT: Insufficient
privileges to grant ROLE 'role1'")
- bruce.execute("GRANT role1 TO bruce FROM
current_role;").assertFailed(err_code="0P000", err_message="GRANT: Insufficient
privileges to grant ROLE 'role1'")
+ bruce.execute("GRANT role1 TO alice FROM
current_user;").assertFailed(err_code="0P000", err_message="GRANT: Insufficient
privileges to grant ROLE 'role1'")
+ bruce.execute("GRANT role1 TO bruce FROM
current_user;").assertFailed(err_code="0P000", err_message="GRANT: Insufficient
privileges to grant ROLE 'role1'")
# check that bruce can grant role1 once he's assigned the role
mdb.execute("GRANT role1 TO bruce WITH ADMIN
OPTION;").assertSucceeded()
bruce.execute("SET role role1;").assertSucceeded()
bruce.execute("select * from test;").assertSucceeded()
- bruce.execute("GRANT role1 TO alice FROM
current_role;").assertSucceeded()
- bruce.execute("GRANT role1 TO bruce FROM
current_role;").assertSucceeded()
+ bruce.execute("GRANT role1 TO alice FROM
current_user;").assertSucceeded()
+ bruce.execute("GRANT role1 TO bruce FROM
current_user;").assertFailed(err_code="M1M05", err_message="GRANT: User 'bruce'
already has ROLE 'role1'")
# revoke role1 from bruce and check that he's lost his privileges
mdb.execute("REVOKE role1 FROM bruce;").assertSucceeded()
- bruce.execute("select * from test;").assertFailed(err_code="42000",
err_message="SELECT: access denied for bruce to table 's1.test'")
- bruce.execute("GRANT role1 TO alice FROM
current_role;").assertFailed(err_code="0P000", err_message="GRANT: Insufficient
privileges to grant ROLE 'role1'")
+ mdb.execute("REVOKE role1 FROM alice;").assertSucceeded()
+ with SQLTestCase() as bruce1: # reconnect to make sure role is gone.
+ bruce1.connect(username="bruce", password="bruce")
+ bruce1.execute("select * from
test;").assertFailed(err_code="42000", err_message="SELECT: access denied for
bruce to table 's1.test'")
+ bruce1.execute("GRANT role1 TO alice FROM
current_user;").assertFailed(err_code="0P000", err_message="GRANT: Insufficient
privileges to grant ROLE 'role1'")
- # grant sysadmin to bruce and check that he now can do everything again
- # as a sysadmin
- mdb.execute("GRANT sysadmin TO bruce;").assertSucceeded()
- bruce.execute("SET role sysadmin;").assertSucceeded()
- bruce.execute("select * from test;").assertSucceeded()
- bruce.execute("GRANT role1 TO alice FROM
current_role;").assertSucceeded()
+ # grant sysadmin to bruce and check that he now can do everything
again
+ # as a sysadmin
+ mdb.execute("GRANT sysadmin TO bruce;").assertSucceeded()
+ bruce1.execute("SET role sysadmin;").assertSucceeded()
+ bruce1.execute("select * from test;").assertSucceeded()
+ bruce1.execute("GRANT role1 TO alice FROM
current_role;").assertSucceeded()
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list