Changeset: 34f5655938eb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=34f5655938eb
Modified Files:
sql/test/Users/Tests/test_privs2_p1.SQL.py
sql/test/Users/Tests/test_privs2_p1.reqtests
sql/test/Users/Tests/test_privs2_p1.stable.out
sql/test/Users/Tests/test_privs2_p2.SQL.py
sql/test/Users/Tests/test_privs2_p2.stable.err
Branch: mtest
Log Message:
convert 2 more
diffs (283 lines):
diff --git a/sql/test/Users/Tests/test_privs2_p1.SQL.py
b/sql/test/Users/Tests/test_privs2_p1.SQL.py
--- a/sql/test/Users/Tests/test_privs2_p1.SQL.py
+++ b/sql/test/Users/Tests/test_privs2_p1.SQL.py
@@ -4,14 +4,69 @@
###
import os, sys
-try:
- from MonetDBtesting import process
-except ImportError:
- import process
+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)
+
+nr=cursor.execute("SELECT * FROM version")
+if nr != 1:
+ error("expected single row result from version")
+rows=cursor.fetchall()
+if rows[0][0] != 'test1':
+ error("expected first row with 'test1'")
+
+rowaffected=cursor.execute("insert into version (name, i) values ('test2', 2)")
+if rowaffected != 1:
+ error("expected single insert")
+
+nr=cursor.execute("SELECT insertversion('test3', 3)")
+if nr != 1:
+ error("expected single row result from insertversion")
+rows=cursor.fetchall()
+if rows[0][0] != 1:
+ error("expected first row with '1' not '%d'" % rows[0][0])
-with process.client('sql', user='my_user', passwd='p1',
- stdin=open(os.path.join(os.getenv('RELSRCDIR'), os.pardir,
'test_privs2.sql')),
- stdout=process.PIPE, stderr=process.PIPE) as clt:
- out, err = clt.communicate()
- sys.stdout.write(out)
- sys.stderr.write(err)
+nr=cursor.execute("SELECT * FROM version")
+if nr != 3:
+ error("expected 3 rows")
+rows=cursor.fetchall()
+if rows[2][0] != 'test3':
+ error("expected last row with 'test3'")
+
+nr=cursor.execute("SELECT updateversion('test1', 4)")
+if nr != 1:
+ error("expected single row result from updateversion")
+rows=cursor.fetchall()
+if rows[0][0] != 1:
+ error("expected first row with '1' not '%d'" % rows[0][0])
+
+nr=cursor.execute("SELECT * FROM version")
+if nr != 3:
+ error("expected 3 rows")
+rows=cursor.fetchall()
+if rows[0][1] != 4:
+ error("expected first row with updated value '4', not '%d'" % row[0][1])
+
+nr=cursor.execute("SELECT deleteversion('test1')")
+if nr != 1:
+ error("expected single row result from deleteversion")
+rows=cursor.fetchall()
+if rows[0][0] != 1:
+ error("expected first row with '1' not '%d'" % rows[0][0])
+
+nr=cursor.execute("SELECT * FROM version")
+if nr != 2:
+ error("expected 2 rows")
+rows=cursor.fetchall()
+if rows[0][0] != 'test2':
+ error("expected first row after delete to be 'test2'")
+
+cursor.close()
+client.close()
diff --git a/sql/test/Users/Tests/test_privs2_p1.reqtests
b/sql/test/Users/Tests/test_privs2_p1.reqtests
--- a/sql/test/Users/Tests/test_privs2_p1.reqtests
+++ b/sql/test/Users/Tests/test_privs2_p1.reqtests
@@ -1,1 +1,2 @@
schema
+privs2
diff --git a/sql/test/Users/Tests/test_privs2_p1.stable.out
b/sql/test/Users/Tests/test_privs2_p1.stable.out
--- a/sql/test/Users/Tests/test_privs2_p1.stable.out
+++ b/sql/test/Users/Tests/test_privs2_p1.stable.out
@@ -19,63 +19,7 @@ stdout of test 'test_privs2_p1` in direc
# MonetDB/JAQL module loaded
# MonetDB/SQL module loaded
-
-# 15:54:46 >
-# 15:54:46 > "/usr/bin/python2" "test_privs2_p1.SQL.py" "test_privs2_p1"
-# 15:54:46 >
+# 15:25:07 >
+# 15:25:07 > "Done."
+# 15:25:07 >
-#SELECT * FROM version;
-% my_schema.version, my_schema.version # table_name
-% name, i # name
-% varchar, int # type
-% 5, 1 # length
-[ "test1", 1 ]
-#insert into version (name ,i) values ('test2' ,2) ;
-[ 1 ]
-#SELECT insertversion('test3', 3);
-% .%4 # table_name
-% %4 # name
-% int # type
-% 1 # length
-[ 1 ]
-#SELECT * FROM version;
-% my_schema.version, my_schema.version # table_name
-% name, i # name
-% varchar, int # type
-% 5, 1 # length
-[ "test1", 1 ]
-[ "test2", 2 ]
-[ "test3", 3 ]
-#SELECT updateversion('test1', 4);
-% .%2 # table_name
-% %2 # name
-% int # type
-% 1 # length
-[ 1 ]
-#SELECT * FROM version;
-% my_schema.version, my_schema.version # table_name
-% name, i # name
-% varchar, int # type
-% 5, 1 # length
-[ "test1", 4 ]
-[ "test2", 2 ]
-[ "test3", 3 ]
-#SELECT deleteversion(4);
-% .%2 # table_name
-% %2 # name
-% int # type
-% 1 # length
-[ 1 ]
-#SELECT * FROM version;
-% my_schema.version, my_schema.version # table_name
-% name, i # name
-% varchar, int # type
-% 5, 1 # length
-[ "test1", 4 ]
-[ "test2", 2 ]
-[ "test3", 3 ]
-
-# 15:54:46 >
-# 15:54:46 > "Done."
-# 15:54:46 >
-
diff --git a/sql/test/Users/Tests/test_privs2_p2.SQL.py
b/sql/test/Users/Tests/test_privs2_p2.SQL.py
--- a/sql/test/Users/Tests/test_privs2_p2.SQL.py
+++ b/sql/test/Users/Tests/test_privs2_p2.SQL.py
@@ -5,14 +5,60 @@
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()
+
+def sel1():
+ err=0
+ try:
+ cursor.execute("SELECT * FROM version")
+ except:
+ err=1
+ pass
+ return err
+
+err = sel1()
+
try:
- from MonetDBtesting import process
-except ImportError:
- import process
+ cursor.execute("insert into version (name ,i) values ('test2' ,2)")
+except:
+ err=err+2
+ pass
+
+sel1()
-with process.client('sql', user='my_user2', passwd='p2',
- stdin=open(os.path.join(os.getenv('RELSRCDIR'), os.pardir,
'test_privs2.sql')),
- stdout=process.PIPE, stderr=process.PIPE) as clt:
- out, err = clt.communicate()
- sys.stdout.write(out)
- sys.stderr.write(err)
+try:
+ cursor.execute("SELECT insertversion('test3', 3)")
+except:
+ err=err+4
+ pass
+
+sel1()
+
+try:
+ cursor.execute("SELECT updateversion('test1', 4)")
+except:
+ err=err+8
+ pass
+
+sel1()
+
+try:
+ cursor.execute("SELECT deleteversion('test1')")
+except:
+ err=err+16
+ pass
+
+sel1()
+
+if err != 31:
+ print("User should have no access too this table\n")
+ sys.exit(-1)
+
+cursor.close()
+client.close()
diff --git a/sql/test/Users/Tests/test_privs2_p2.stable.err
b/sql/test/Users/Tests/test_privs2_p2.stable.err
--- a/sql/test/Users/Tests/test_privs2_p2.stable.err
+++ b/sql/test/Users/Tests/test_privs2_p2.stable.err
@@ -24,44 +24,7 @@ stderr of test 'test_privs2_p2` in direc
# cmdline opt gdk_dbpath =
/home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB/mTests_sql_test_Users
# cmdline opt mal_listing = 0
-# 15:54:47 >
-# 15:54:47 > "/usr/bin/python2" "test_privs2_p2.SQL.py" "test_privs2_p2"
-# 15:54:47 >
+# 15:33:27 >
+# 15:33:27 > "Done."
+# 15:33:27 >
-MAPI = (my_user2) /var/tmp/mtest-15225/.s.monetdb.34050
-QUERY = SELECT * FROM version;
-ERROR = !SELECT: access denied for my_user2 to table 'my_schema.version'
-CODE = 42000
-MAPI = (my_user2) /var/tmp/mtest-28783/.s.monetdb.30417
-QUERY = insert into version (name ,i) values ('test2' ,2) ;
-ERROR = !INSERT INTO: insufficient privileges for user 'my_user2' to insert
into table 'version'
-CODE = 42000
-MAPI = (my_user2) /var/tmp/mtest-28783/.s.monetdb.30417
-QUERY = SELECT insertversion('test3', 3);
-ERROR = !INSERT INTO: insufficient privileges for user 'my_user2' to insert
into table 'version'
-CODE = 42000
-MAPI = (my_user2) /var/tmp/mtest-28783/.s.monetdb.30417
-QUERY = SELECT * FROM version;
-ERROR = !SELECT: access denied for my_user2 to table 'my_schema.version'
-CODE = 42000
-MAPI = (my_user2) /var/tmp/mtest-28783/.s.monetdb.30417
-QUERY = SELECT updateversion('test1', 4);
-ERROR = !UPDATE: insufficient privileges for user 'my_user2' to update table
'version'
-CODE = 42000
-MAPI = (my_user2) /var/tmp/mtest-28783/.s.monetdb.30417
-QUERY = SELECT * FROM version;
-ERROR = !SELECT: access denied for my_user2 to table 'my_schema.version'
-CODE = 42000
-MAPI = (my_user2) /var/tmp/mtest-28783/.s.monetdb.30417
-QUERY = SELECT deleteversion(4);
-ERROR = !DELETE FROM: insufficient privileges for user 'my_user2' to delete
from table 'version'
-CODE = 42000
-MAPI = (my_user2) /var/tmp/mtest-28783/.s.monetdb.30417
-QUERY = SELECT * FROM version;
-ERROR = !SELECT: access denied for my_user2 to table 'my_schema.version'
-CODE = 42000
-
-# 15:54:47 >
-# 15:54:47 > "Done."
-# 15:54:47 >
-
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list