Changeset: 2363bcecc600 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2363bcecc600
Added Files:
        sql/test/Users/Tests/dropManyUsers.Bug-3764.sql
        sql/test/Users/Tests/dropManyUsers.Bug-3764.test
Removed Files:
        sql/test/Users/Tests/dropManyUsers.Bug-3764.SQL.py
Branch: mtest
Log Message:

simplified the test into an SQL script, also made the output independent of 
system changes


diffs (165 lines):

diff --git a/sql/test/Users/Tests/dropManyUsers.Bug-3764.SQL.py 
b/sql/test/Users/Tests/dropManyUsers.Bug-3764.SQL.py
deleted file mode 100644
--- a/sql/test/Users/Tests/dropManyUsers.Bug-3764.SQL.py
+++ /dev/null
@@ -1,80 +0,0 @@
-###
-# Create four users.
-# Drop four users.
-###
-
-from MonetDBtesting.sqltest import SQLTestCase
-
-with SQLTestCase() as tc:
-    # use default connection
-    tc.execute("CREATE SCHEMA newSchema").assertSucceeded()
-    tc.execute(\
-            """select u.name, u.fullname, s.name from "sys"."users" u left 
outer join "sys"."schemas" s on u.default_schema = s.id""")\
-            .assertSucceeded()\
-            .assertValue(0, 0, 'monetdb')\
-            .assertValue(1, 0, '.snapshot')
-    tc.execute("CREATE USER user1 with password '1' name '1st user' schema 
newSchema").assertSucceeded()
-    tc.execute("CREATE USER user2 with password '2' name '2nd user' schema 
newSchema").assertSucceeded()
-    tc.execute("CREATE USER user3 with password '3' name '3rd user' schema 
newSchema").assertSucceeded()
-    tc.execute("CREATE USER user4 with password '4' name '4th user' schema 
newSchema").assertSucceeded()
-    res = tc.execute("""select u.name, u.fullname, s.name from "sys"."users" u 
left outer join "sys"."schemas" s on u.default_schema = s.id""")
-    res.assertValue(2, 0, 'user1')
-    res.assertValue(3, 0, 'user2')
-    res.assertValue(4, 0, 'user3')
-    res.assertValue(5, 0, 'user4')
-    tc.execute("DROP USER user1").assertSucceeded()
-    tc.execute("DROP USER user2").assertSucceeded()
-    tc.execute("DROP USER user3").assertSucceeded()
-    tc.execute("DROP USER user4").assertSucceeded()
-    tc.execute("""select u.name, u.fullname, s.name from "sys"."users" u left 
outer join "sys"."schemas" s on u.default_schema = 
s.id""").assertSucceeded().assertRowCount(2)
-
-
-
-#import os, sys
-#import pymonetdb
-#
-#def error(msg):
-#    print(msg)
-#    sys.exit(-1)
-#
-#db=os.getenv("TSTDB")
-#port=int(os.getenv("MAPIPORT"))
-#client = pymonetdb.connect(database=db, port=port, autocommit=True, 
user='monetdb', password='monetdb')
-#cursor = client.cursor()
-#
-#cursor.execute("CREATE SCHEMA newSchema");
-#
-#cursor.execute("""select u.name, u.fullname, s.name from "sys"."users" u left 
outer join "sys"."schemas" s on u.default_schema = s.id""")
-#users=cursor.fetchall()
-#if (users[0][0] != 'monetdb'):
-#    error('MonetDB user missing')
-#if (users[1][0] != '.snapshot'):
-#    error('.snapshot user missing')
-#
-#cursor.execute("CREATE USER user1 with password '1' name '1st user' schema 
newSchema");
-#cursor.execute("CREATE USER user2 with password '2' name '2nd user' schema 
newSchema");
-#cursor.execute("CREATE USER user3 with password '3' name '3rd user' schema 
newSchema");
-#cursor.execute("CREATE USER user4 with password '4' name '4th user' schema 
newSchema");
-#
-#cursor.execute("""select u.name, u.fullname, s.name from "sys"."users" u left 
outer join "sys"."schemas" s on u.default_schema = s.id""")
-#users=cursor.fetchall()
-#if (users[2][0] != 'user1'):
-#    error('user1 user missing')
-#if (users[3][0] != 'user2'):
-#    error('user2 user missing')
-#if (users[4][0] != 'user3'):
-#    error('user3 user missing')
-#if (users[5][0] != 'user4'):
-#    error('user4 user missing')
-#
-#cursor.execute("DROP USER user1")
-#cursor.execute("DROP USER user2")
-#cursor.execute("DROP USER user3")
-#cursor.execute("DROP USER user4")
-#
-#cursor.execute("""select u.name, u.fullname, s.name from "sys"."users" u left 
outer join "sys"."schemas" s on u.default_schema = s.id""")
-#if len(cursor.fetchall()) != 2:
-#    error('users not correctly dropped')
-#
-#cursor.close()
-#client.close()
diff --git a/sql/test/Users/Tests/dropManyUsers.Bug-3764.sql 
b/sql/test/Users/Tests/dropManyUsers.Bug-3764.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/Users/Tests/dropManyUsers.Bug-3764.sql
@@ -0,0 +1,15 @@
+-- Create more than 2 users (i.e. 4) and drop all of them
+CREATE SCHEMA schema3764;
+SELECT u.name, u.fullname, s.name as schema FROM "sys"."users" u JOIN 
"sys"."schemas" s ON u.default_schema = s.id AND not s.system;
+CREATE USER user1 with password '1' name '1st user' schema schema3764;
+CREATE USER user2 with password '2' name '2nd user' schema schema3764;
+CREATE USER user3 with password '3' name '3rd user' schema schema3764;
+CREATE USER user4 with password '4' name '4th user' schema schema3764;
+SELECT u.name, u.fullname, s.name as schema FROM "sys"."users" u JOIN 
"sys"."schemas" s ON u.default_schema = s.id AND not s.system;
+DROP USER user1;
+DROP USER user2;
+DROP USER user3;
+DROP USER user4;
+SELECT u.name, u.fullname, s.name as schema FROM "sys"."users" u JOIN 
"sys"."schemas" s ON u.default_schema = s.id AND not s.system;
+DROP SCHEMA schema3764;
+
diff --git a/sql/test/Users/Tests/dropManyUsers.Bug-3764.test 
b/sql/test/Users/Tests/dropManyUsers.Bug-3764.test
new file mode 100644
--- /dev/null
+++ b/sql/test/Users/Tests/dropManyUsers.Bug-3764.test
@@ -0,0 +1,55 @@
+statement ok
+CREATE SCHEMA schema3764
+
+query TTT rowsort
+SELECT u.name, u.fullname, s.name as schema FROM "sys"."users" u JOIN 
"sys"."schemas" s ON u.default_schema = s.id AND not s.system
+----
+
+statement ok
+CREATE USER user1 with password '1' name '1st user' schema schema3764
+
+statement ok
+CREATE USER user2 with password '2' name '2nd user' schema schema3764
+
+statement ok
+CREATE USER user3 with password '3' name '3rd user' schema schema3764
+
+statement ok
+CREATE USER user4 with password '4' name '4th user' schema schema3764
+
+query TTT rowsort
+SELECT u.name, u.fullname, s.name as schema FROM "sys"."users" u JOIN 
"sys"."schemas" s ON u.default_schema = s.id AND not s.system
+----
+user1
+1st user
+schema3764
+user2
+2nd user
+schema3764
+user3
+3rd user
+schema3764
+user4
+4th user
+schema3764
+
+statement ok
+DROP USER user1
+
+statement ok
+DROP USER user2
+
+statement ok
+DROP USER user3
+
+statement ok
+DROP USER user4
+
+query TTT rowsort
+SELECT u.name, u.fullname, s.name as schema FROM "sys"."users" u JOIN 
"sys"."schemas" s ON u.default_schema = s.id AND not s.system
+----
+
+statement ok
+DROP SCHEMA schema3764
+
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to