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