Changeset: 84d9b6efb67d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=84d9b6efb67d
Modified Files:
        sql/test/sysmon/Tests/sys_queue_multisessions.SQL.py
Branch: default
Log Message:

Updated the test to use the MonetDBtesting.sqltest.SQLTestCase interface


diffs (89 lines):

diff --git a/sql/test/sysmon/Tests/sys_queue_multisessions.SQL.py 
b/sql/test/sysmon/Tests/sys_queue_multisessions.SQL.py
--- a/sql/test/sysmon/Tests/sys_queue_multisessions.SQL.py
+++ b/sql/test/sysmon/Tests/sys_queue_multisessions.SQL.py
@@ -1,58 +1,36 @@
 ###
 # Check that an ordinary user can see queries in all its sessions
 ###
-import pymonetdb
-import os
+from MonetDBtesting.sqltest import SQLTestCase
 
-DB = os.environ['TSTDB']
-PORT = int(os.environ['MAPIPORT'])
-HOST = os.environ['MAPIHOST']
-USR = 'u1'
-PSWD = 'u1'
-
-try:
-    mdbdbh = pymonetdb.connect(database=DB, port=PORT, hostname=HOST, 
autocommit=True)
-    mdbcursor = mdbdbh.cursor()
-    mdbcursor.execute('create role r1;')
-    mdbcursor.execute('create schema s1 authorization r1;')
-    mdbcursor.execute('create user u1 with password \'u1\' name \'u1\' schema 
s1;')
-    mdbcursor.execute('grant r1 to u1;')
+with SQLTestCase() as mdb:
+    mdb.connect(username="monetdb", password="monetdb")
+    mdb.execute('create role r1;').assertSucceeded()
+    mdb.execute('create schema s1 authorization r1;').assertSucceeded()
+    mdb.execute('create user u1 with password \'u1\' name \'u1\' schema 
s1;').assertSucceeded()
+    mdb.execute('grant r1 to u1;').assertSucceeded()
 
     # Let the user establish several connections to the server
-    usrdbh1 = pymonetdb.connect(database=DB, port=PORT, hostname=HOST,
-                            username=USR, password=PSWD, autocommit=True)
-    usrcursor1 = usrdbh1.cursor()
+    with SQLTestCase() as tc1:
+        tc1.connect(username="u1", password="u1")
 
-    usrdbh2 = pymonetdb.connect(database=DB, port=PORT, hostname=HOST,
-                            username=USR, password=PSWD, autocommit=True)
-    usrcursor2 = usrdbh2.cursor()
-
-    # NB, we only have 4-1 slots in sys.queue to use because of the
-    # SingleServer config in this test
-    usrcursor1.execute('select \'u1 session_1\';')
-    usrcursor2.execute('select \'u1 session_2\';')
+        with SQLTestCase() as tc2:
+            tc2.connect(username="u1", password="u1")
 
-    # Check that the sys.queue() output of each user contains queries from both
-    # connections
-    usrcursor1.execute('select username, sessionid  from sys.queue() group by 
username, sessionid order by sessionid;')
-    if usrcursor1.fetchall() != [('u1', 1), ('u1', 2)]:
-        print('Expected: [(\'u1\', 1), (\'u1\', 2)]')
-    usrcursor2.execute('select username, sessionid from sys.queue() group by 
username, sessionid order by sessionid;')
-    if usrcursor2.fetchall() != [('u1', 1), ('u1', 2)]:
-        print('Expected: [(\'u1\', 1), (\'u1\', 2)]')
-except pymonetdb.exceptions.Error as e:
-    print(e)
-finally:
-    # clean up and don't stop by an error
-    try:
-        if usrdbh1:
-            usrdbh1.close()
-        if usrdbh2:
-            usrdbh2.close()
-        mdbcursor.execute('drop user u1')
-        mdbcursor.execute('drop role r1')
-        mdbcursor.execute('drop schema s1')
-        mdbdbh.close()
-    except pymonetdb.exceptions.Error as e:
-        print(e)
+            # NB, we only have 4-1 slots in sys.queue to use because of the
+            # SingleServer config in this test
+            tc1.execute('select \'u1 session_1\';').assertSucceeded()\
+                    .assertDataResultMatch([("u1 session_1",)])
+            tc2.execute('select \'u1 session_2\';').assertSucceeded()\
+                    .assertDataResultMatch([("u1 session_2",)])
 
+            # Check that the sys.queue() output of each user contains queries 
from both
+            # connections
+            tc1.execute('select username, sessionid from sys.queue() group by 
username, sessionid order by sessionid;')\
+                    .assertSucceeded().assertDataResultMatch([('u1', 1), 
('u1', 2)])
+            tc2.execute('select username, sessionid from sys.queue() group by 
username, sessionid order by sessionid;')\
+                    .assertSucceeded().assertDataResultMatch([('u1', 1), 
('u1', 2)])
+
+    mdb.execute('drop user u1').assertSucceeded()
+    mdb.execute('drop role r1').assertSucceeded()
+    mdb.execute('drop schema s1').assertSucceeded()
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to