Changeset: c7cd5f8860d4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c7cd5f8860d4
Added Files:
        sql/test/Users/Tests/table_privs.SQL.py
Removed Files:
        sql/test/Users/Tests/privs.reqtests
        sql/test/Users/Tests/privs.sql
        sql/test/Users/Tests/privs.test
        sql/test/Users/Tests/test_privs_p1.SQL.py
        sql/test/Users/Tests/test_privs_p1.reqtests
        sql/test/Users/Tests/test_privs_p2.SQL.py
        sql/test/Users/Tests/test_privs_p2.reqtests
Modified Files:
        sql/test/Users/Tests/All
Branch: default
Log Message:

Clean up and merged "privs", "test_privs_p1" and "test_privs_p2" into 
"table_privs"


diffs (207 lines):

diff --git a/sql/test/Users/Tests/All b/sql/test/Users/Tests/All
--- a/sql/test/Users/Tests/All
+++ b/sql/test/Users/Tests/All
@@ -1,10 +1,8 @@
 role
 table
+table_privs
 schema
 unknown_user
-privs
-test_privs_p1
-test_privs_p2
 privs2
 test_privs2_p1
 test_privs2_p2
diff --git a/sql/test/Users/Tests/privs.reqtests 
b/sql/test/Users/Tests/privs.reqtests
deleted file mode 100644
--- a/sql/test/Users/Tests/privs.reqtests
+++ /dev/null
@@ -1,1 +0,0 @@
-schema
diff --git a/sql/test/Users/Tests/privs.sql b/sql/test/Users/Tests/privs.sql
deleted file mode 100644
--- a/sql/test/Users/Tests/privs.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-set schema "my_schema";
-
-CREATE table test (i int, b bigint);
-
--- grant right to my_user not to my_user2
-GRANT SELECT on table test to my_user;
-GRANT INSERT on table test to my_user;
-GRANT UPDATE on table test to my_user;
-GRANT DELETE on table test to my_user;
diff --git a/sql/test/Users/Tests/privs.test b/sql/test/Users/Tests/privs.test
deleted file mode 100644
--- a/sql/test/Users/Tests/privs.test
+++ /dev/null
@@ -1,18 +0,0 @@
-statement ok
-set schema "my_schema"
-
-statement ok
-CREATE table test (i int, b bigint)
-
-statement ok
-GRANT SELECT on table test to my_user
-
-statement ok
-GRANT INSERT on table test to my_user
-
-statement ok
-GRANT UPDATE on table test to my_user
-
-statement ok
-GRANT DELETE on table test to my_user
-
diff --git a/sql/test/Users/Tests/test_privs_p1.SQL.py 
b/sql/test/Users/Tests/table_privs.SQL.py
rename from sql/test/Users/Tests/test_privs_p1.SQL.py
rename to sql/test/Users/Tests/table_privs.SQL.py
--- a/sql/test/Users/Tests/test_privs_p1.SQL.py
+++ b/sql/test/Users/Tests/table_privs.SQL.py
@@ -1,43 +1,37 @@
 ###
-# SELECT, INSERT, UPDATE, DELETE a table for which the USER has GRANTs 
(possible).
+# Check that a user can SELECT, INSERT, UPDATE, DELETE a table (created by
+#   monetdb) for which the USER has GRANTs, while a user without those GRANTs
+#   cannot
 ###
 
 from MonetDBtesting.sqltest import SQLTestCase
 
 with SQLTestCase() as tc:
-    tc.connect(username="my_user", password="p1")
-    tc.execute("select * from test").assertSucceeded().assertRowCount(0)
-    tc.execute("insert into test 
values(1,1)").assertSucceeded().assertRowCount(1)
-    tc.execute("update test set b = 2").assertSucceeded().assertRowCount(1)
-    tc.execute("delete from test").assertSucceeded().assertRowCount(1)
-
-# import os, sys
-# import pymonetdb
-
-# db=os.getenv("TSTDB")
-# port=int(os.getenv("MAPIPORT"))
-# client = pymonetdb.connect(database=db, port=port, autocommit=True, 
user='my_user', password='p1')
-# cursor = client.cursor()
-
-# def error(msg):
-#     print(msg)
-#     sys.exit(-1)
+    tc.connect(username="monetdb", password="monetdb")
+    tc.execute("CREATE USER my_user with password 'p1' name 'User with role' 
schema sys;").assertSucceeded()
+    tc.execute("CREATE USER my_user2 with password 'p2' name 'User without 
role' schema sys;").assertSucceeded()
+    tc.execute("CREATE SCHEMA my_schema;").assertSucceeded()
+    tc.execute("CREATE table my_schema.test (i int, b 
bigint);").assertSucceeded()
+    tc.execute("GRANT SELECT on table my_schema.test to 
my_user;").assertSucceeded()
+    tc.execute("GRANT INSERT on table my_schema.test to 
my_user;").assertSucceeded()
+    tc.execute("GRANT UPDATE on table my_schema.test to 
my_user;").assertSucceeded()
+    tc.execute("GRANT DELETE on table my_schema.test to 
my_user;").assertSucceeded()
 
-# nr=cursor.execute("select * from test")
-# if nr != 0:
-#     error("expected empty result")
-
-# rowaffected=cursor.execute("insert into test values(1,1)")
-# if rowaffected != 1:
-#     error("expected single insert")
+    tc.connect(username="my_user", password="p1")
+    tc.execute("select * from 
my_schema.test;").assertSucceeded().assertRowCount(0)
+    tc.execute("insert into my_schema.test 
values(1,1);").assertSucceeded().assertRowCount(1)
+    tc.execute("update my_schema.test set b = 
2;").assertSucceeded().assertRowCount(1)
+    tc.execute("delete from 
my_schema.test;").assertSucceeded().assertRowCount(1)
 
-# rowaffected=cursor.execute("update test set b = 2")
-# if rowaffected != 1:
-#     error("expected single update")
+    tc.connect(username="my_user2", password="p2")
+    tc.execute("select * from my_schema.test;").assertFailed()
+    tc.execute("insert into my_schema.test values(1,1);").assertFailed()
+    tc.execute("update my_schema.test set b = 2;").assertFailed()
+    tc.execute("delete from my_schema.test;").assertFailed()
 
-# rowaffected=cursor.execute("delete from test")
-# if rowaffected != 1:
-#     error("expected single delete")
+    tc.connect(username="monetdb", password="monetdb")
+    tc.execute("drop table my_schema.test;").assertSucceeded()
+    tc.execute("drop schema my_schema;").assertSucceeded()
+    tc.execute("drop user my_user;").assertSucceeded()
+    tc.execute("drop user my_user2;").assertSucceeded()
 
-# cursor.close()
-# client.close()
diff --git a/sql/test/Users/Tests/test_privs_p1.reqtests 
b/sql/test/Users/Tests/test_privs_p1.reqtests
deleted file mode 100644
--- a/sql/test/Users/Tests/test_privs_p1.reqtests
+++ /dev/null
@@ -1,2 +0,0 @@
-schema
-privs
diff --git a/sql/test/Users/Tests/test_privs_p2.SQL.py 
b/sql/test/Users/Tests/test_privs_p2.SQL.py
deleted file mode 100644
--- a/sql/test/Users/Tests/test_privs_p2.SQL.py
+++ /dev/null
@@ -1,54 +0,0 @@
-###
-# SELECT, INSERT, UPDATE, DELETE a table for which the USER does *not* have 
GRANTs (not possible).
-###
-
-
-from MonetDBtesting.sqltest import SQLTestCase
-
-with SQLTestCase() as tc:
-    tc.connect(username="my_user2", password="p2")
-    tc.execute("select * from test").assertFailed()
-    tc.execute("insert into test values(1,1)").assertFailed()
-    tc.execute("update test set b = 2").assertFailed()
-    tc.execute("delete from test").assertFailed()
-
-# import os, sys
-# import pymonetdb
-
-
-# db=os.getenv("TSTDB")
-# port=int(os.getenv("MAPIPORT"))
-# client = pymonetdb.connect(database=db, port=port, autocommit=True, 
user='my_user2', password='p2')
-# cursor = client.cursor()
-
-# err=0
-# try:
-#     nr=cursor.execute("select * from test")
-# except:
-#     err=1
-#     pass
-
-# try:
-#     rowaffected=cursor.execute("insert into test values(1,1)")
-# except:
-#     err=err+2
-#     pass
-
-# try:
-#     rowaffected=cursor.execute("update test set b = 2")
-# except:
-#     err=err+4
-#     pass
-
-# try:
-#     rowaffected=cursor.execute("delete from test")
-# except:
-#     err=err+8
-#     pass
-
-# if err != 15:
-#     print("User should have no access too this table\n", file=sys.stderr)
-#     sys.exit(-1)
-
-# cursor.close()
-# client.close()
diff --git a/sql/test/Users/Tests/test_privs_p2.reqtests 
b/sql/test/Users/Tests/test_privs_p2.reqtests
deleted file mode 100644
--- a/sql/test/Users/Tests/test_privs_p2.reqtests
+++ /dev/null
@@ -1,2 +0,0 @@
-schema
-privs
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to