From 6c7e95a4638e2db631a20626f1565ace2e60c0cd Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Wed, 10 Jul 2019 17:57:11 +0530 Subject: [PATCH] Added re_sql test cases for privileges in Foreign Data Wrappers --- .../sql/9.3_plus/acl.sql | 1 + .../foreign_data_wrappers/sql/default/acl.sql | 1 + .../tests/default/alter_fdw_rename.sql | 13 --------- .../9.3_plus/alter_fdw_change_opt2.sql | 0 .../{ => pg}/9.3_plus/alter_fdw_comment.sql | 0 .../{ => pg}/9.3_plus/alter_fdw_opt1.sql | 0 .../{ => pg}/9.3_plus/alter_fdw_opt2.sql | 0 .../pg/9.3_plus/alter_fdw_privileges.sql | 16 +++++++++++ .../{ => pg}/9.3_plus/alter_fdw_rename.sql | 0 .../{ => pg}/9.3_plus/alter_fdw_validator.sql | 0 .../tests/{ => pg}/9.3_plus/create_fdw.sql | 0 .../tests/{ => pg}/9.3_plus/test.json | 28 +++++++++++++++++++ .../9.3_plus}/alter_fdw_change_opt2.sql | 0 .../9.3_plus}/alter_fdw_comment.sql | 0 .../9.3_plus}/alter_fdw_opt1.sql | 0 .../9.3_plus}/alter_fdw_opt2.sql | 0 .../ppas/9.3_plus/alter_fdw_privileges.sql | 16 +++++++++++ .../tests/ppas/9.3_plus/alter_fdw_rename.sql | 13 +++++++++ .../9.3_plus}/alter_fdw_validator.sql | 0 .../{default => ppas/9.3_plus}/create_fdw.sql | 0 .../{default => ppas/9.3_plus}/test.json | 28 +++++++++++++++++++ 21 files changed, 103 insertions(+), 13 deletions(-) delete mode 100644 web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_rename.sql rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/alter_fdw_change_opt2.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/alter_fdw_comment.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/alter_fdw_opt1.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/alter_fdw_opt2.sql (100%) create mode 100644 web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_privileges.sql rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/alter_fdw_rename.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/alter_fdw_validator.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/create_fdw.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{ => pg}/9.3_plus/test.json (79%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{default => ppas/9.3_plus}/alter_fdw_change_opt2.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{default => ppas/9.3_plus}/alter_fdw_comment.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{default => ppas/9.3_plus}/alter_fdw_opt1.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{default => ppas/9.3_plus}/alter_fdw_opt2.sql (100%) create mode 100644 web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_privileges.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_rename.sql rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{default => ppas/9.3_plus}/alter_fdw_validator.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{default => ppas/9.3_plus}/create_fdw.sql (100%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{default => ppas/9.3_plus}/test.json (78%) diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/acl.sql index 64048a5e3..ac169ab2c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/acl.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/acl.sql @@ -19,3 +19,4 @@ FROM LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid) GROUP BY g.rolname, gt.rolname +ORDER BY grantee diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/acl.sql index c8c6066a1..994f3a55b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/acl.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/acl.sql @@ -25,3 +25,4 @@ FROM LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid) GROUP BY g.rolname, gt.rolname +ORDER BY grantee diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_rename.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_rename.sql deleted file mode 100644 index 05d4ec9e3..000000000 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_rename.sql +++ /dev/null @@ -1,13 +0,0 @@ --- Foreign Data Wrapper: Fdw1_$%{}[]()&*^!@"'`\/# - --- DROP FOREIGN DATA WRAPPER Fdw1_$%{}[]()&*^!@"'`\/# - -CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""`\/#" - VALIDATOR pg_catalog.postgresql_fdw_validator - OPTIONS (opt1 'val1'); - -ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO ; - -COMMENT ON FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - IS 'a comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_change_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_change_opt2.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_change_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_change_opt2.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_comment.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_comment.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_comment.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt1.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt1.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt1.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt1.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt2.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt2.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_privileges.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_privileges.sql new file mode 100644 index 000000000..c6eb07e8b --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_privileges.sql @@ -0,0 +1,16 @@ +-- Foreign Data Wrapper: Fdw2_$%{}[]()&*^!@"'`\/# + +-- DROP FOREIGN DATA WRAPPER Fdw2_$%{}[]()&*^!@"'`\/# + +CREATE FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + VALIDATOR pg_catalog.postgresql_fdw_validator + OPTIONS (opt1 'val1'); + +ALTER FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + OWNER TO ; + +COMMENT ON FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + IS 'a comment'; + +GRANT USAGE ON FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" TO PUBLIC; +GRANT USAGE ON FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" TO postgres WITH GRANT OPTION; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_rename.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_rename.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_rename.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_rename.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_validator.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_validator.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_validator.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_validator.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/create_fdw.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/create_fdw.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/create_fdw.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/create_fdw.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/test.json b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/test.json similarity index 79% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/test.json rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/test.json index 330c38e2b..556f2eee9 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/test.json +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/test.json @@ -94,6 +94,34 @@ "name": "Fdw2_$%{}[]()&*^!@\"'`\\/#" }, "expected_sql_file": "alter_fdw_rename.sql" + },{ + "type": "alter", + "name": "Alter FDW add privileges", + "endpoint": "NODE-foreign_data_wrapper.obj_id", + "sql_endpoint": "NODE-foreign_data_wrapper.sql_id", + "data": { + "fdwacl": { + "added":[{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges":[ + { + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + },{ + "grantee": "postgres", + "grantor": "postgres", + "privileges":[{ + "privilege_type": "U", + "privilege": true, + "with_grant": true + }] + }] + } + }, + "expected_sql_file": "alter_fdw_privileges.sql" },{ "type": "delete", "name": "Drop FDW", diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_change_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_change_opt2.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_change_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_change_opt2.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_comment.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_comment.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_comment.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt1.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_opt1.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt1.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_opt1.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_opt2.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_opt2.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_privileges.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_privileges.sql new file mode 100644 index 000000000..7c8a9ea86 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_privileges.sql @@ -0,0 +1,16 @@ +-- Foreign Data Wrapper: Fdw2_$%{}[]()&*^!@"'`\/# + +-- DROP FOREIGN DATA WRAPPER Fdw2_$%{}[]()&*^!@"'`\/# + +CREATE FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + VALIDATOR pg_catalog.postgresql_fdw_validator + OPTIONS (opt1 'val1'); + +ALTER FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + OWNER TO ; + +COMMENT ON FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + IS 'a comment'; + +GRANT USAGE ON FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" TO PUBLIC; +GRANT USAGE ON FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_rename.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_rename.sql new file mode 100644 index 000000000..216659c8a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_rename.sql @@ -0,0 +1,13 @@ +-- Foreign Data Wrapper: Fdw2_$%{}[]()&*^!@"'`\/# + +-- DROP FOREIGN DATA WRAPPER Fdw2_$%{}[]()&*^!@"'`\/# + +CREATE FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + VALIDATOR pg_catalog.postgresql_fdw_validator + OPTIONS (opt1 'val1'); + +ALTER FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + OWNER TO ; + +COMMENT ON FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" + IS 'a comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_validator.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_validator.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_validator.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/alter_fdw_validator.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/create_fdw.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/create_fdw.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/create_fdw.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/create_fdw.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/test.json b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/test.json similarity index 78% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/test.json rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/test.json index 330c38e2b..6c074a603 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/test.json +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/ppas/9.3_plus/test.json @@ -94,6 +94,34 @@ "name": "Fdw2_$%{}[]()&*^!@\"'`\\/#" }, "expected_sql_file": "alter_fdw_rename.sql" + },{ + "type": "alter", + "name": "Alter FDW add privileges", + "endpoint": "NODE-foreign_data_wrapper.obj_id", + "sql_endpoint": "NODE-foreign_data_wrapper.sql_id", + "data": { + "fdwacl": { + "added":[{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges":[ + { + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + },{ + "grantee": "enterprisedb", + "grantor": "enterprisedb", + "privileges":[{ + "privilege_type": "U", + "privilege": true, + "with_grant": true + }] + }] + } + }, + "expected_sql_file": "alter_fdw_privileges.sql" },{ "type": "delete", "name": "Drop FDW",