MSQL tests for Roles node
Murtuza Zabuawala <[email protected]>
| Newsgroups | gmane.comp.db.postgresql.pgadmin.devel |
|---|---|
| Message-ID | <CAKKotZTHy_E0e+NAsXHvUrJzUoTChUECWOZ9DyZQTuxfPx8tDQ@mail.gmail.com> |
Hi, PFA patch to add MSQL tests for roles node. -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
RM_4415_roles_msql_tests.diff
(application/octet-stream, 18.5 KB)
diff --git a/web/pgadmin/browser/server_groups/servers/roles/__init__.py b/web/pgadmin/browser/server_groups/servers/roles/__init__.py
index eb5dfc978..4d83f650e 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/roles/__init__.py
@@ -506,8 +506,7 @@ rolmembership:{
"The current user does not have permission to create "
"the role."
)
- elif action == 'msql' and 'rid' in kwargs and \
- kwargs['rid'] != -1:
+ elif action == 'msql' and 'rid' in kwargs:
fetch_name = True
if check_permission:
@@ -863,8 +862,8 @@ rolmembership:{
@check_precondition(action='msql')
@validate_request
- def msql(self, gid, sid, rid=-1):
- if rid == -1:
+ def msql(self, gid, sid, rid=None):
+ if rid is None:
return make_json_response(
data=render_template(
self.sql_path + 'create.sql',
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_description.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_description.msql
new file mode 100644
index 000000000..7156049e1
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_description.msql
@@ -0,0 +1 @@
+COMMENT ON ROLE "Role1_$%{}[]()&*^!@""'`\/#" IS 'This is detailed description';
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_name.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_name.msql
new file mode 100644
index 000000000..0595fdb93
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_name.msql
@@ -0,0 +1,2 @@
+ALTER ROLE "Role1_$%{}[]()&*^!@""'`\/#"
+ RENAME TO "Role2_$%{}[]()&*^!@""'`\/#";
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_options.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_options.msql
new file mode 100644
index 000000000..bd025f963
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_options.msql
@@ -0,0 +1,11 @@
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#"
+ NOSUPERUSER
+ NOCREATEDB
+ NOREPLICATION
+ CONNECTION LIMIT 100
+
+ VALID UNTIL '2050-01-01T00:00:00+05:30'
+ PASSWORD 'xxxxxx';
+
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#" IN DATABASE postgres
+ SET application_name TO 'pg4';
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_description.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_description.msql
new file mode 100644
index 000000000..7156049e1
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_description.msql
@@ -0,0 +1 @@
+COMMENT ON ROLE "Role1_$%{}[]()&*^!@""'`\/#" IS 'This is detailed description';
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_name.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_name.msql
new file mode 100644
index 000000000..0595fdb93
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_name.msql
@@ -0,0 +1,2 @@
+ALTER ROLE "Role1_$%{}[]()&*^!@""'`\/#"
+ RENAME TO "Role2_$%{}[]()&*^!@""'`\/#";
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_options.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_options.msql
new file mode 100644
index 000000000..429e0ac14
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_role_options.msql
@@ -0,0 +1,11 @@
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#"
+ SUPERUSER
+ CREATEDB
+ NOREPLICATION
+ CONNECTION LIMIT 100
+
+ VALID UNTIL '2050-01-01T00:00:00+05:30'
+ PASSWORD 'xxxxxx';
+
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#" IN DATABASE postgres
+ SET application_name TO 'pg4';
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_login_role.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_login_role.msql
new file mode 100644
index 000000000..f624a21d1
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_login_role.msql
@@ -0,0 +1,9 @@
+CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
+ LOGIN
+ SUPERUSER
+ CREATEDB
+ CREATEROLE
+ INHERIT
+ REPLICATION
+ CONNECTION LIMIT -1
+ PASSWORD 'xxxxxx';
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_role.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_role.msql
new file mode 100644
index 000000000..a4ca80900
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_role.msql
@@ -0,0 +1,9 @@
+CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
+ NOLOGIN
+ NOSUPERUSER
+ NOCREATEDB
+ NOCREATEROLE
+ INHERIT
+ NOREPLICATION
+ CONNECTION LIMIT -1
+ PASSWORD 'xxxxxx';
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json
index 3a2bc9427..17feb43ef 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json
@@ -5,6 +5,7 @@
"name": "Create Role",
"endpoint": "NODE-role.obj",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql",
"data": {
"rolname": "Role1_$%{}[]()&*^!@\"'`\\/#",
"rolcanlogin": false,
@@ -17,37 +18,42 @@
"rolcatupdate": false,
"rolreplication": false,
"rolmembership": [],
- "rolvaliduntil": null,
"seclabels": [],
"variables": []
},
- "expected_sql_file": "create_role.sql"
+ "expected_sql_file": "create_role.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "alter",
"name": "Alter Role description",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"description": "This is detailed description"
},
- "expected_sql_file": "alter_role_description.sql"
+ "expected_sql_file": "alter_role_description.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "alter",
"name": "Alter Role name",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
},
- "expected_sql_file": "alter_role_name.sql"
+ "expected_sql_file": "alter_role_name.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "alter",
"name": "Alter Role options",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolsuper": true,
"rolcreatedb": true,
@@ -57,7 +63,8 @@
"rolvaliduntil": "2050-01-01 00:00:00 +05:30",
"variables": { "added": [{"name":"application_name","value":"pg4","database":"postgres"}] }
},
- "expected_sql_file": "alter_role_options.sql"
+ "expected_sql_file": "alter_role_options.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "delete",
@@ -70,6 +77,7 @@
"name": "Create Login Role",
"endpoint": "NODE-role.obj",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql",
"data": {
"rolname": "Role1_$%{}[]()&*^!@\"'`\\/#",
"rolcanlogin": true,
@@ -82,37 +90,42 @@
"rolcatupdate": true,
"rolreplication": true,
"rolmembership": [],
- "rolvaliduntil": null,
"seclabels": [],
"variables": []
},
- "expected_sql_file": "create_login_role.sql"
+ "expected_sql_file": "create_login_role.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "alter",
"name": "Alter Login Role description",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"description": "This is detailed description"
},
- "expected_sql_file": "alter_login_role_description.sql"
+ "expected_sql_file": "alter_login_role_description.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "alter",
"name": "Alter Login Role name",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
},
- "expected_sql_file": "alter_login_role_name.sql"
+ "expected_sql_file": "alter_login_role_name.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "alter",
"name": "Alter Login Role options",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolsuper": false,
"rolcreatedb": false,
@@ -122,7 +135,8 @@
"rolvaliduntil": "2050-01-01 00:00:00 +05:30",
"variables": { "added": [{"name":"application_name","value":"pg4","database":"postgres"}] }
},
- "expected_sql_file": "alter_login_role_options.sql"
+ "expected_sql_file": "alter_login_role_options.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "delete",
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_description.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_description.msql
new file mode 100644
index 000000000..0abf43505
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_description.msql
@@ -0,0 +1 @@
+COMMENT ON ROLE "Role1_$%{}[]()&*^!@""'`\/#" IS 'This is detailed description';
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_name.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_name.msql
new file mode 100644
index 000000000..088b07834
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_name.msql
@@ -0,0 +1,2 @@
+ALTER ROLE "Role1_$%{}[]()&*^!@""'`\/#"
+ RENAME TO "Role2_$%{}[]()&*^!@""'`\/#";
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_options.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_options.msql
new file mode 100644
index 000000000..4dc1ebdca
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_options.msql
@@ -0,0 +1,11 @@
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#"
+ NOSUPERUSER
+ NOCREATEDB
+ NOREPLICATION
+ CONNECTION LIMIT 100
+
+ VALID UNTIL '2050-01-01T00:00:00+05:30'
+ PASSWORD 'xxxxxx';
+
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#" IN DATABASE postgres
+ SET application_name TO 'pg4';
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_description.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_description.msql
new file mode 100644
index 000000000..0abf43505
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_description.msql
@@ -0,0 +1 @@
+COMMENT ON ROLE "Role1_$%{}[]()&*^!@""'`\/#" IS 'This is detailed description';
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_name.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_name.msql
new file mode 100644
index 000000000..088b07834
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_name.msql
@@ -0,0 +1,2 @@
+ALTER ROLE "Role1_$%{}[]()&*^!@""'`\/#"
+ RENAME TO "Role2_$%{}[]()&*^!@""'`\/#";
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_options.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_options.msql
new file mode 100644
index 000000000..1a196a375
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_role_options.msql
@@ -0,0 +1,11 @@
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#"
+ SUPERUSER
+ CREATEDB
+ NOREPLICATION
+ CONNECTION LIMIT 100
+
+ VALID UNTIL '2050-01-01T00:00:00+05:30'
+ PASSWORD 'xxxxxx';
+
+ALTER ROLE "Role2_$%{}[]()&*^!@""'`\/#" IN DATABASE postgres
+ SET application_name TO 'pg4';
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_login_role.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_login_role.msql
new file mode 100644
index 000000000..a3e6cc7ee
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_login_role.msql
@@ -0,0 +1,9 @@
+CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
+ LOGIN
+ SUPERUSER
+ CREATEDB
+ CREATEROLE
+ INHERIT
+ REPLICATION
+ CONNECTION LIMIT -1
+ PASSWORD 'xxxxxx';
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_role.msql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_role.msql
new file mode 100644
index 000000000..6ea5ec5ad
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_role.msql
@@ -0,0 +1,9 @@
+CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
+ NOLOGIN
+ NOSUPERUSER
+ NOCREATEDB
+ NOCREATEROLE
+ INHERIT
+ NOREPLICATION
+ CONNECTION LIMIT -1
+ PASSWORD 'xxxxxx';
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json
index 97ab53bae..3de2d40ac 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json
@@ -5,6 +5,7 @@
"name": "Create Role",
"endpoint": "NODE-role.obj",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql",
"data": {
"rolname": "Role1_$%{}[]()&*^!@\"'`\\/#",
"rolcanlogin": false,
@@ -17,37 +18,42 @@
"rolcatupdate": false,
"rolreplication": false,
"rolmembership": [],
- "rolvaliduntil": null,
"seclabels": [],
"variables": []
},
- "expected_sql_file": "create_role.sql"
+ "expected_sql_file": "create_role.sql",
+ "expected_msql_file": "create_role.msql"
},
{
"type": "alter",
"name": "Alter Role description",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"description": "This is detailed description"
},
- "expected_sql_file": "alter_role_description.sql"
+ "expected_sql_file": "alter_role_description.sql",
+ "expected_msql_file": "alter_role_description.msql"
},
{
"type": "alter",
"name": "Alter Role name",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
},
- "expected_sql_file": "alter_role_name.sql"
+ "expected_sql_file": "alter_role_name.sql",
+ "expected_msql_file": "alter_role_name.msql"
},
{
"type": "alter",
"name": "Alter Role options",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolsuper": true,
"rolcreatedb": true,
@@ -58,6 +64,7 @@
"variables": { "added": [{"name":"application_name","value":"pg4","database":"postgres"}] }
},
"expected_sql_file": "alter_role_options.sql",
+ "expected_msql_file": "alter_role_options.msql",
"convert_timestamp_columns": ["rolvaliduntil"]
},
{
@@ -71,6 +78,7 @@
"name": "Create Login Role",
"endpoint": "NODE-role.obj",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql",
"data": {
"rolname": "Role1_$%{}[]()&*^!@\"'`\\/#",
"rolcanlogin": true,
@@ -83,37 +91,42 @@
"rolcatupdate": true,
"rolreplication": true,
"rolmembership": [],
- "rolvaliduntil": null,
"seclabels": [],
"variables": []
},
- "expected_sql_file": "create_login_role.sql"
+ "expected_sql_file": "create_login_role.sql",
+ "expected_msql_file": "create_login_role.msql"
},
{
"type": "alter",
"name": "Alter Login Role description",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"description": "This is detailed description"
},
- "expected_sql_file": "alter_login_role_description.sql"
+ "expected_sql_file": "alter_login_role_description.sql",
+ "expected_msql_file": "alter_login_role_description.msql"
},
{
"type": "alter",
"name": "Alter Login Role name",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
},
- "expected_sql_file": "alter_login_role_name.sql"
+ "expected_sql_file": "alter_login_role_name.sql",
+ "expected_msql_file": "alter_login_role_name.msql"
},
{
"type": "alter",
"name": "Alter Login Role options",
"endpoint": "NODE-role.obj_id",
"sql_endpoint": "NODE-role.sql_id",
+ "msql_endpoint": "NODE-role.msql_id",
"data": {
"rolsuper": false,
"rolcreatedb": false,
@@ -124,6 +137,7 @@
"variables": { "added": [{"name":"application_name","value":"pg4","database":"postgres"}] }
},
"expected_sql_file": "alter_login_role_options.sql",
+ "expected_msql_file": "alter_login_role_options.msql",
"convert_timestamp_columns": ["rolvaliduntil"]
},
{