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

Reply via email to