Changeset: b6dd4222609f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6dd4222609f Added Files: sql/test/Users/Tests/schema.sql Removed Files: sql/test/Users/Tests/schema.sql.src sql/test/Users/Tests/schema.stable.err sql/test/Users/Tests/schema.stable.out sql/test/Users/schema.sql Modified Files: sql/test/Users/Tests/role.SQL.py sql/test/Users/Tests/schema.test Branch: default Log Message:
cleaned up "schema", ROLE test moved to "role" diffs (145 lines): diff --git a/sql/test/Users/Tests/role.SQL.py b/sql/test/Users/Tests/role.SQL.py --- a/sql/test/Users/Tests/role.SQL.py +++ b/sql/test/Users/Tests/role.SQL.py @@ -8,6 +8,7 @@ # 5. check that we can DROP a ROLE after REVOKE # 6. check that we cannot REVOKE a non-GRANTed ROLE # 7. check that afer a ROLE is REVOKEd the USER can no longer assume it. +# 8. check that we cannot GRANT an unexisting ROLE. ### from MonetDBtesting.sqltest import SQLTestCase @@ -23,8 +24,8 @@ with SQLTestCase() as tc: tc.execute("CREATE ROLE role1;").assertFailed(err_code="0P000", err_message="Role 'role1' already exists") tc.execute("CREATE USER alice with password 'alice' name 'alice' schema sys;") - tc.execute("GRANT role1 to alice;").assertSucceeded() - tc.execute("GRANT role2 to alice;").assertSucceeded() + tc.execute("GRANT role1 TO alice;").assertSucceeded() + tc.execute("GRANT role2 TO alice;").assertSucceeded() #tc.execute("DROP ROLE role1;").assertFailed() tc.connect(username="alice", password="alice") @@ -32,17 +33,18 @@ with SQLTestCase() as tc: tc.execute("SET ROLE role3;").assertFailed(err_code="42000", err_message="Role (role3) missing") tc.connect(username="monetdb", password="monetdb") - tc.execute("REVOKE role1 from alice;").assertSucceeded() - tc.execute("REVOKE role2 from alice;").assertSucceeded() + tc.execute("REVOKE role1 FROM alice;").assertSucceeded() + tc.execute("REVOKE role2 FROM alice;").assertSucceeded() tc.execute("DROP ROLE role2;").assertSucceeded() - tc.execute("REVOKE role3 from alice;").assertFailed(err_code="01006", err_message="REVOKE: User 'alice' does not have ROLE 'role3'") + tc.execute("REVOKE role3 FROM alice;").assertFailed(err_code="01006", err_message="REVOKE: User 'alice' does not have ROLE 'role3'") tc.connect(username="alice", password="alice") tc.execute("SET ROLE role1;").assertFailed(err_code="42000", err_message="Role (role1) missing") tc.execute("SET ROLE role2;").assertFailed(err_code="42000", err_message="Role (role2) missing") tc.connect(username="monetdb", password="monetdb") + tc.execute("GRANT non_existing_role TO alice;").assertFailed(err_code="M1M05", err_message="GRANT: Cannot grant ROLE 'non_existing_role' to user 'alice'") tc.execute("DROP ROLE role1;").assertSucceeded() tc.execute("DROP ROLE role3;").assertSucceeded() tc.execute("DROP USER alice;").assertSucceeded() diff --git a/sql/test/Users/Tests/schema.sql.src b/sql/test/Users/Tests/schema.sql rename from sql/test/Users/Tests/schema.sql.src rename to sql/test/Users/Tests/schema.sql --- a/sql/test/Users/Tests/schema.sql.src +++ b/sql/test/Users/Tests/schema.sql @@ -1,1 +1,9 @@ -$RELSRCDIR/../schema.sql +CREATE ROLE my_role; + +CREATE SCHEMA my_schema AUTHORIZATION my_role; + +CREATE USER my_user with password 'p1' name 'User with role' schema "my_schema"; + +GRANT my_role to my_user; + +CREATE USER my_user2 with password 'p2' name 'User without role' schema "my_schema"; diff --git a/sql/test/Users/Tests/schema.stable.err b/sql/test/Users/Tests/schema.stable.err deleted file mode 100644 --- a/sql/test/Users/Tests/schema.stable.err +++ /dev/null @@ -1,21 +0,0 @@ -stderr of test 'schema` in directory 'sql/test/Users` itself: - - -# 14:00:57 > -# 14:00:57 > Mtimeout -timeout 180 Mserver "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/MonetDB.conf" --debug=10 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/dbfarm" --set "sql_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/sql_logs" --set "xquery_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/xquery_logs" --set mapi_port=35107 --set xrpc_port=40472 --set monet_prompt= --trace "--dbname=mTests_src_test_Users" --dbinit=" module(sql_server);" ; echo ; echo Over.. -# 14:00:57 > - - -# 14:00:57 > -# 14:00:57 > Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb --host=localhost --port=35107 < schema.sql -# 14:00:57 > - -MAPI = (monetdb) /var/tmp/mtest-26250/.s.monetdb.37381 -QUERY = GRANT my_owner to my_user; -- error wrong non existing role -ERROR = !GRANT: Cannot grant ROLE 'my_owner' to user 'my_user' -CODE = M1M05 - -# 14:00:57 > -# 14:00:57 > Done. -# 14:00:57 > - diff --git a/sql/test/Users/Tests/schema.stable.out b/sql/test/Users/Tests/schema.stable.out deleted file mode 100644 --- a/sql/test/Users/Tests/schema.stable.out +++ /dev/null @@ -1,24 +0,0 @@ -stdout of test 'schema` in directory 'sql/test/Users` itself: - - -# 14:00:57 > -# 14:00:57 > Mtimeout -timeout 180 Mserver "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/MonetDB.conf" --debug=10 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/dbfarm" --set "sql_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/sql_logs" --set "xquery_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/xquery_logs" --set mapi_port=35107 --set xrpc_port=40472 --set monet_prompt= --trace "--dbname=mTests_src_test_Users" --dbinit=" module(sql_server);" ; echo ; echo Over.. -# 14:00:57 > - -# Monet Database Server V4.16.2 -# Copyright (c) 1993-2007, CWI. All rights reserved. -# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. -# Visit http://monetdb.cwi.nl/ for further information. - - - - -# 14:00:57 > -# 14:00:57 > Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb --host=localhost --port=35107 < schema.sql -# 14:00:57 > - - -# 14:00:57 > -# 14:00:57 > Done. -# 14:00:57 > - diff --git a/sql/test/Users/Tests/schema.test b/sql/test/Users/Tests/schema.test --- a/sql/test/Users/Tests/schema.test +++ b/sql/test/Users/Tests/schema.test @@ -7,9 +7,6 @@ CREATE SCHEMA my_schema AUTHORIZATION my statement ok CREATE USER my_user with password 'p1' name 'User with role' schema "my_schema" -statement error -GRANT my_owner to my_user - statement ok GRANT my_role to my_user diff --git a/sql/test/Users/schema.sql b/sql/test/Users/schema.sql deleted file mode 100644 --- a/sql/test/Users/schema.sql +++ /dev/null @@ -1,12 +0,0 @@ -CREATE ROLE my_role; - -CREATE SCHEMA my_schema AUTHORIZATION my_role; - -CREATE USER my_user with password 'p1' name 'User with role' schema "my_schema"; - --- grant role to user my_user -GRANT my_owner to my_user; -- error wrong non existing role - -GRANT my_role to my_user; - -CREATE USER my_user2 with password 'p2' name 'User without role' schema "my_schema"; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list