Changeset: d76ce16af603 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d76ce16af603 Modified Files: sql/test/Users/Tests/grantAndRevokeUserLoggedIN.Bug-3476.SQL.py Branch: mtest Log Message:
re-write users test diffs (66 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 @@ -5,37 +5,36 @@ from MonetDBtesting.sqltest import SQLTestCase -with SQLTestCase() as tc: - tc.connect(username="monetdb", password="monetdb") - tc.execute('CREATE SCHEMA new_schema_as_well').assertSucceeded() - tc.execute('SET SCHEMA new_schema_as_well').assertSucceeded() - tc.execute('CREATE TABLE test (x int, y int)').assertSucceeded() - tc.execute('INSERT INTO test VALUES (-1, -1)').assertSucceeded() +with SQLTestCase() as tc1: + tc1.connect(username="monetdb", password="monetdb") + tc1.execute('CREATE SCHEMA new_schema_as_well').assertSucceeded() + tc1.execute('SET SCHEMA new_schema_as_well').assertSucceeded() + tc1.execute('CREATE TABLE test (x int, y int)').assertSucceeded() + tc1.execute('INSERT INTO test VALUES (-1, -1)').assertSucceeded() # Create a new user and grant the right to select. - tc.execute('CREATE USER new_user WITH PASSWORD \'new_quite_long_password\' NAME \'newUser\' SCHEMA new_schema_as_well').assertSucceeded() - tc.execute('GRANT SELECT ON new_schema_as_well.test TO new_user').assertSucceeded() - tc.execute('GRANT UPDATE ON new_schema_as_well.test TO new_user').assertSucceeded() - tc.execute('GRANT INSERT ON new_schema_as_well.test TO new_user').assertSucceeded() - tc.execute('GRANT DELETE ON new_schema_as_well.test TO new_user').assertSucceeded() + tc1.execute('CREATE USER new_user WITH PASSWORD \'new_quite_long_password\' NAME \'newUser\' SCHEMA new_schema_as_well').assertSucceeded() + tc1.execute('GRANT SELECT ON new_schema_as_well.test TO new_user').assertSucceeded() + tc1.execute('GRANT UPDATE ON new_schema_as_well.test TO new_user').assertSucceeded() + tc1.execute('GRANT INSERT ON new_schema_as_well.test TO new_user').assertSucceeded() + tc1.execute('GRANT DELETE ON new_schema_as_well.test TO new_user').assertSucceeded() - # Login the new user, and select. - tc.connect(username='new_user', password='new_quite_long_password') - tc.execute('SELECT * FROM test').assertSucceeded() - tc.execute('UPDATE test SET x = -3 WHERE y = -1').assertSucceeded() - tc.execute('INSERT INTO test VALUES (0, 0)').assertSucceeded() - tc.execute('DELETE FROM test WHERE y = -2').assertSucceeded() + with SQLTestCase() as tc2: + # Login the new user, and select. + tc2.connect(username='new_user', password='new_quite_long_password') + tc2.execute('SELECT * FROM test').assertSucceeded() + tc2.execute('UPDATE test SET x = -3 WHERE y = -1').assertSucceeded() + tc2.execute('INSERT INTO test VALUES (0, 0)').assertSucceeded() + tc2.execute('DELETE FROM test WHERE y = -2').assertSucceeded() - tc.connect(username="monetdb", password="monetdb") - # Revoke the right to select from the new user. - tc.execute('REVOKE SELECT ON new_schema_as_well.test FROM new_user').assertSucceeded() + # Revoke the right to select from the new user. + tc1.execute('REVOKE SELECT ON new_schema_as_well.test FROM new_user').assertSucceeded() - tc.connect(username='new_user', password='new_quite_long_password') - # The new user should not be able to select anymore. - tc.execute('UPDATE test SET x = -66 WHERE y = 66').assertFailed() - tc.execute('INSERT INTO test VALUES (66, 66)').assertSucceeded() - tc.execute('DELETE FROM test WHERE y = -66').assertFailed() - tc.execute('SELECT * FROM test').assertFailed() + # The new user should not be able to select anymore. + tc2.execute('UPDATE test SET x = -66 WHERE y = 66').assertFailed() + 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 _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list