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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list