Changeset: 227749c1b794 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=227749c1b794
Modified Files:
        sql/test/Users/Tests/grantAndRevokeUserLoggedIN.Bug-3476.SQL.py
Branch: mtest
Log Message:

Extended the test to verify that then re-granted, a logged-in user can 
immediately use the rights.
Removed old python code


diffs (86 lines):

diff --git a/sql/test/Users/Tests/grantAndRevokeUserLoggedIN.Bug-3476.SQL.py 
b/sql/test/Users/Tests/grantAndRevokeUserLoggedIN.Bug-3476.SQL.py
--- a/sql/test/Users/Tests/grantAndRevokeUserLoggedIN.Bug-3476.SQL.py
+++ b/sql/test/Users/Tests/grantAndRevokeUserLoggedIN.Bug-3476.SQL.py
@@ -30,71 +30,17 @@ with SQLTestCase() as tc1:
         # Revoke the right to select from the new user.
         tc1.execute('REVOKE SELECT ON new_schema_as_well.test FROM 
new_user').assertSucceeded()
 
-        # The new user should not be able to select anymore.
-        tc2.execute('UPDATE test SET x = -66 WHERE y = 66').assertFailed()
+        # The new user should not be able to select anymore while still logged 
in
+        tc2.execute('SELECT * FROM test').assertFailed(err_code="42000", 
err_message="SELECT: access denied for new_user to table 
'new_schema_as_well.test'")
+        tc2.execute('UPDATE test SET x = -66 WHERE y = 
66').assertFailed(err_code="42000", err_message="UPDATE: insufficient 
privileges for user 'new_user' to update table 'test'")
         tc2.execute('INSERT INTO test VALUES (66, 66)').assertSucceeded()
-        tc2.execute('DELETE FROM test WHERE y = -66').assertFailed()
-        tc2.execute('SELECT * FROM test').assertFailed()
-
-# import sys, time, pymonetdb, os
-
-# def connect(username, password):
-#     return pymonetdb.connect(database = os.getenv('TSTDB'),
-#                              hostname = 'localhost',
-#                              port = int(os.getenv('MAPIPORT')),
-#                              username = username,
-#                              password = password,
-#                              autocommit = True)
-
-# def query(conn, sql):
-#     print(sql)
-#     cur = conn.cursor()
-#     try:
-#         cur.execute(sql)
-#     except pymonetdb.OperationalError as e:
-#         print("!", e)
-#         return
-#     r = cur.fetchall()
-#     cur.close()
-#     print(r)
+        tc2.execute('DELETE FROM test WHERE y = 
-66').assertFailed(err_code="42000", err_message="DELETE FROM: insufficient 
privileges for user 'new_user' to delete from table 'test'")
 
-# def run(conn, sql):
-#     print(sql)
-#     try:
-#         r = conn.execute(sql)
-#     except pymonetdb.OperationalError as e:
-#         print("!", e)
-#         return
-#     print('# OK')
-
-
-# c1 = connect('monetdb', 'monetdb')
-# # Create a new schema with a new table.
-# run(c1, 'CREATE SCHEMA new_schema_as_well')
-# run(c1, 'SET SCHEMA new_schema_as_well')
-# run(c1, 'CREATE TABLE test (x int, y int)')
-# run(c1, 'INSERT INTO test VALUES (-1, -1)')
+        # Re-grant the right to select to the new user.
+        tc1.execute('GRANT SELECT ON new_schema_as_well.test TO 
new_user').assertSucceeded()
 
-# # Create a new user and grant the right to select.
-# run(c1, 'CREATE USER new_user WITH PASSWORD \'new_quite_long_password\' NAME 
\'newUser\' SCHEMA new_schema_as_well')
-# run(c1, 'GRANT SELECT ON new_schema_as_well.test TO new_user')
-# run(c1, 'GRANT UPDATE ON new_schema_as_well.test TO new_user')
-# run(c1, 'GRANT INSERT ON new_schema_as_well.test TO new_user')
-# run(c1, 'GRANT DELETE ON new_schema_as_well.test TO new_user')
-
-# # Login the new user, and select.
-# c2 = connect('new_user', 'new_quite_long_password')
-# query(c2, 'SELECT * FROM test')
-# run(c2, 'UPDATE test SET x = -3 WHERE y = -1')
-# run(c2, 'INSERT INTO test VALUES (0, 0)')
-# run(c2, 'DELETE FROM test WHERE y = -2')
-
-# # Revoke the right to select from the new user.
-# run(c1, 'REVOKE SELECT ON new_schema_as_well.test FROM new_user')
-
-# # The new user should not be able to select anymore.
-# run(c2, 'UPDATE test SET x = -66 WHERE y = 66')
-# run(c2, 'INSERT INTO test VALUES (66, 66)')
-# run(c2, 'DELETE FROM test WHERE y = -66')
-# query(c2, 'SELECT * FROM test')
-
+        # The new user should be able to select again while still logged in
+        tc2.execute('SELECT * FROM test').assertSucceeded()
+        tc2.execute('UPDATE test SET x = -66 WHERE y = 66').assertSucceeded()
+        tc2.execute('INSERT INTO test VALUES (66, 66)').assertSucceeded()
+        tc2.execute('DELETE FROM test WHERE y = -66').assertSucceeded()
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to