From 1a9d8f01aa49a92612be11b6589220186bb55645 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Tue, 9 Jul 2019 15:37:53 +0530 Subject: [PATCH] 1) Ensure re_sql tests should not abort at the first failure, it should run all the test cases. 2) Added place holder for owner, so we won't need to create separate pg/ppas folder just because of change in the owner name. --- .../9.3_plus/alter_fdw_change_opt2.sql | 2 +- .../{pg => }/9.3_plus/alter_fdw_comment.sql | 2 +- .../default => 9.3_plus}/alter_fdw_opt1.sql | 2 +- .../default => 9.3_plus}/alter_fdw_opt2.sql | 2 +- .../{pg => }/9.3_plus/alter_fdw_rename.sql | 2 +- .../{pg => }/9.3_plus/alter_fdw_validator.sql | 2 +- .../tests/{pg => }/9.3_plus/create_fdw.sql | 2 +- .../tests/{pg => }/9.3_plus/test.json | 1 - .../default/alter_fdw_change_opt2.sql | 2 +- .../{pg => }/default/alter_fdw_comment.sql | 2 +- .../9.3_plus => default}/alter_fdw_opt1.sql | 2 +- .../9.3_plus => default}/alter_fdw_opt2.sql | 2 +- .../{pg => }/default/alter_fdw_rename.sql | 2 +- .../{pg => }/default/alter_fdw_validator.sql | 2 +- .../tests/{pg => }/default/create_fdw.sql | 2 +- .../tests/{pg => }/default/test.json | 1 - .../9.3_plus/create_trusted_language.sql | 11 ++ .../9.3_plus/create_untrusted_language.sql | 11 ++ .../languages/tests/9.3_plus/test.json | 43 +++++++ web/regression/re_sql/tests/test_resql.py | 105 +++++++++++++++--- 20 files changed, 170 insertions(+), 30 deletions(-) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/9.3_plus/alter_fdw_change_opt2.sql (93%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/9.3_plus/alter_fdw_comment.sql (92%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg/default => 9.3_plus}/alter_fdw_opt1.sql (93%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg/default => 9.3_plus}/alter_fdw_opt2.sql (93%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/9.3_plus/alter_fdw_rename.sql (94%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/9.3_plus/alter_fdw_validator.sql (94%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/9.3_plus/create_fdw.sql (90%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/9.3_plus/test.json (98%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/default/alter_fdw_change_opt2.sql (93%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/default/alter_fdw_comment.sql (92%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg/9.3_plus => default}/alter_fdw_opt1.sql (93%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg/9.3_plus => default}/alter_fdw_opt2.sql (93%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/default/alter_fdw_rename.sql (94%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/default/alter_fdw_validator.sql (94%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/default/create_fdw.sql (90%) rename web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/{pg => }/default/test.json (98%) create mode 100644 web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_trusted_language.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_untrusted_language.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/test.json diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_change_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_change_opt2.sql similarity index 93% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_change_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_change_opt2.sql index eee2f8b4d..d34de6f68 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_change_opt2.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_change_opt2.sql @@ -6,7 +6,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1', opt2 'valopt2'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/9.3_plus/alter_fdw_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_comment.sql similarity index 92% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_comment.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_comment.sql index 5efdd18cb..9e3e10a74 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_comment.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_comment.sql @@ -5,7 +5,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#"; ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/default/alter_fdw_opt1.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt1.sql similarity index 93% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_opt1.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt1.sql index e1e9b637d..fd67506c7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_opt1.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt1.sql @@ -6,7 +6,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/default/alter_fdw_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt2.sql similarity index 93% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt2.sql index b0c5b8844..aade70af3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_opt2.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_opt2.sql @@ -6,7 +6,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1', opt2 'val2'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/9.3_plus/alter_fdw_rename.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_rename.sql similarity index 94% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_rename.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_rename.sql index 1e8897fe6..216659c8a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_rename.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_rename.sql @@ -7,7 +7,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1'); ALTER FOREIGN DATA WRAPPER "Fdw2_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/9.3_plus/alter_fdw_validator.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_validator.sql similarity index 94% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_validator.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_validator.sql index 54025dfba..422606199 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_validator.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/alter_fdw_validator.sql @@ -7,7 +7,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/9.3_plus/create_fdw.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/create_fdw.sql similarity index 90% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/create_fdw.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/create_fdw.sql index 4776beff3..a4e39cd4f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/create_fdw.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/create_fdw.sql @@ -5,4 +5,4 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#"; ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + OWNER TO ; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/test.json b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/test.json similarity index 98% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/test.json rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/test.json index f24e28771..330c38e2b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/test.json +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/9.3_plus/test.json @@ -7,7 +7,6 @@ "sql_endpoint": "NODE-foreign_data_wrapper.sql_id", "data": { "name": "Fdw1_$%{}[]()&*^!@\"'`\\/#", - "fdwowner": "postgres", "fdwacl": [], "fdwoptions": [] }, diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_change_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_change_opt2.sql similarity index 93% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_change_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_change_opt2.sql index eee2f8b4d..d34de6f68 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_change_opt2.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_change_opt2.sql @@ -6,7 +6,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1', opt2 'valopt2'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/default/alter_fdw_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_comment.sql similarity index 92% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_comment.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_comment.sql index 5efdd18cb..9e3e10a74 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_comment.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_comment.sql @@ -5,7 +5,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#"; ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/9.3_plus/alter_fdw_opt1.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt1.sql similarity index 93% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt1.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt1.sql index e1e9b637d..fd67506c7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt1.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt1.sql @@ -6,7 +6,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/9.3_plus/alter_fdw_opt2.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt2.sql similarity index 93% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt2.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt2.sql index b0c5b8844..aade70af3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/9.3_plus/alter_fdw_opt2.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_opt2.sql @@ -6,7 +6,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1', opt2 'val2'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/default/alter_fdw_rename.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_rename.sql similarity index 94% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_rename.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_rename.sql index b61fd7a75..05d4ec9e3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_rename.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_rename.sql @@ -7,7 +7,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""`\/#" OPTIONS (opt1 'val1'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/default/alter_fdw_validator.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_validator.sql similarity index 94% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_validator.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_validator.sql index 54025dfba..422606199 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/alter_fdw_validator.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/alter_fdw_validator.sql @@ -7,7 +7,7 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" OPTIONS (opt1 'val1'); ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + 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/pg/default/create_fdw.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/create_fdw.sql similarity index 90% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/create_fdw.sql rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/create_fdw.sql index 4776beff3..a4e39cd4f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/create_fdw.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/create_fdw.sql @@ -5,4 +5,4 @@ CREATE FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#"; ALTER FOREIGN DATA WRAPPER "Fdw1_$%{}[]()&*^!@""'`\/#" - OWNER TO postgres; + OWNER TO ; diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/test.json b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/test.json similarity index 98% rename from web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/test.json rename to web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/test.json index f24e28771..330c38e2b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/pg/default/test.json +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/default/test.json @@ -7,7 +7,6 @@ "sql_endpoint": "NODE-foreign_data_wrapper.sql_id", "data": { "name": "Fdw1_$%{}[]()&*^!@\"'`\\/#", - "fdwowner": "postgres", "fdwacl": [], "fdwoptions": [] }, diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_trusted_language.sql b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_trusted_language.sql new file mode 100644 index 000000000..9b5ff05e0 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_trusted_language.sql @@ -0,0 +1,11 @@ +-- Language: Lan1_$%{}[]()&*^!@"'`\/# + +-- DROP LANGUAGE "Lan1_$%{}[]()&*^!@""'`\/#" + +CREATE TRUSTED PROCEDURAL LANGUAGE "Lan1_$%{}[]()&*^!@""'`\/#" + HANDLER plpgsql_call_handler + INLINE plpgsql_inline_handler + VALIDATOR plpgsql_validator; + +ALTER LANGUAGE "Lan1_$%{}[]()&*^!@""'`\/#" + OWNER TO ; diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_untrusted_language.sql b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_untrusted_language.sql new file mode 100644 index 000000000..9b5ff05e0 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/create_untrusted_language.sql @@ -0,0 +1,11 @@ +-- Language: Lan1_$%{}[]()&*^!@"'`\/# + +-- DROP LANGUAGE "Lan1_$%{}[]()&*^!@""'`\/#" + +CREATE TRUSTED PROCEDURAL LANGUAGE "Lan1_$%{}[]()&*^!@""'`\/#" + HANDLER plpgsql_call_handler + INLINE plpgsql_inline_handler + VALIDATOR plpgsql_validator; + +ALTER LANGUAGE "Lan1_$%{}[]()&*^!@""'`\/#" + OWNER TO ; diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/test.json b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/test.json new file mode 100644 index 000000000..473331b6e --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/9.3_plus/test.json @@ -0,0 +1,43 @@ +{ + "scenarios": [ + { + "type": "create", + "name": "Create Resource groups", + "endpoint": "NODE-resource_group.obj", + "sql_endpoint": "NODE-resource_group.sql_id", + "data": { + "name": "Rg1_$%{}[]()&*^!@\"'`\\/#", + "cpu_rate_limit": 0, + "dirty_rate_limit": 0 + }, + "expected_sql_file": "create_resource_group.sql" + }, + { + "type": "alter", + "name": "Alter Resource groups name", + "endpoint": "NODE-resource_group.obj_id", + "sql_endpoint": "NODE-resource_group.sql_id", + "data": { + "name": "Rg2_$%{}[]()&*^!@\"'`\\/#" + }, + "expected_sql_file": "alter_resource_group_name.sql" + }, + { + "type": "alter", + "name": "Alter Resource groups options", + "endpoint": "NODE-resource_group.obj_id", + "sql_endpoint": "NODE-resource_group.sql_id", + "data": { + "cpu_rate_limit": 1, + "dirty_rate_limit": 5 + }, + "expected_sql_file": "alter_resource_group_options.sql" + }, + { + "type": "delete", + "name": "Drop Resource groups", + "endpoint": "NODE-resource_group.obj_id", + "data": {} + } + ] +} diff --git a/web/regression/re_sql/tests/test_resql.py b/web/regression/re_sql/tests/test_resql.py index 75e7249b6..811900374 100644 --- a/web/regression/re_sql/tests/test_resql.py +++ b/web/regression/re_sql/tests/test_resql.py @@ -9,7 +9,7 @@ from __future__ import print_function import json import os -import sys +import traceback from flask import url_for import regression from regression import parent_node_dict @@ -52,6 +52,10 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): ('Reverse Engineered SQL Test Cases', dict()) ] + @classmethod + def setUpClass(cls): + cls.maxDiff = None + def setUp(self): # Get the database connection self.db_con = database_utils.connect_database( @@ -65,6 +69,8 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): # Get the application path self.apppath = os.getcwd() + # Status of the test case + self.final_test_status = True def runTest(self): """ Create the module list on which reverse engineering sql test @@ -72,9 +78,9 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): # Schema ID placeholder in JSON file which needs to be replaced # while running the test cases - self.JSON_PLACEHOLDERS = {'schema_id': ''} + self.JSON_PLACEHOLDERS = {'schema_id': '', + 'owner': ''} - server_info = self.server_information resql_module_list = create_resql_module_list( BaseTestGenerator.re_sql_module_list, BaseTestGenerator.exclude_pkgs) @@ -98,6 +104,9 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): for key, scenarios in data.items(): self.execute_test_case(scenarios) + # Check the final status of the test case + self.assertEqual(self.final_test_status, True) + def tearDown(self): database_utils.disconnect_database( self, self.server_information['server_id'], @@ -160,8 +169,6 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): print("\n") for scenario in scenarios: - print(scenario['name']) - if 'type' in scenario and scenario['type'] == 'create': # Get the url and create the specific node. @@ -193,30 +200,66 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): response = self.tester.post(create_url, data=json.dumps(scenario['data']), content_type='html/json') - self.assertEquals(response.status_code, 200) + try: + self.assertEquals(response.status_code, 200) + except Exception as e: + self.final_test_status = False + print(scenario['name'] + "..............FAIL") + traceback.print_exc() + continue + resp_data = json.loads(response.data.decode('utf8')) object_id = resp_data['node']['_id'] # Compare the reverse engineering SQL - self.check_re_sql(scenario, object_id) + if not self.check_re_sql(scenario, object_id): + print_msg = scenario['name'] + if 'expected_sql_file' in scenario: + print_msg = print_msg + " Expected SQL File:" + \ + scenario['expected_sql_file'] + print_msg = print_msg + " ..............FAIL" + print(print_msg) + continue elif 'type' in scenario and scenario['type'] == 'alter': # Get the url and create the specific node. alter_url = self.get_url(scenario['endpoint'], object_id) response = self.tester.put(alter_url, data=json.dumps(scenario['data']), follow_redirects=True) - self.assertEquals(response.status_code, 200) + try: + self.assertEquals(response.status_code, 200) + except Exception as e: + self.final_test_status = False + print(scenario['name'] + "..............FAIL") + traceback.print_exc() + continue + resp_data = json.loads(response.data.decode('utf8')) object_id = resp_data['node']['_id'] # Compare the reverse engineering SQL - self.check_re_sql(scenario, object_id) + if not self.check_re_sql(scenario, object_id): + print_msg = scenario['name'] + if 'expected_sql_file' in scenario: + print_msg = print_msg + " Expected SQL File:" + \ + scenario['expected_sql_file'] + print_msg = print_msg + " ..............FAIL" + print(print_msg) + continue elif 'type' in scenario and scenario['type'] == 'delete': # Get the delete url and delete the object created above. delete_url = self.get_url(scenario['endpoint'], object_id) delete_response = self.tester.delete(delete_url, follow_redirects=True) - self.assertEquals(delete_response.status_code, 200) + try: + self.assertEquals(delete_response.status_code, 200) + except Exception as e: + self.final_test_status = False + print(scenario['name'] + "..............FAIL") + traceback.print_exc() + continue + + print(scenario['name'] + "..............OK") def get_test_folder(self, module_path): """ @@ -260,7 +303,13 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): """ sql_url = self.get_url(scenario['sql_endpoint'], object_id) response = self.tester.get(sql_url) - self.assertEquals(response.status_code, 200) + try: + self.assertEquals(response.status_code, 200) + except Exception as e: + self.final_test_status = False + traceback.print_exc() + return False + resp_sql = response.data.decode('unicode_escape') # Remove first and last double quotes @@ -278,8 +327,36 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): fp = open(output_file, "r") # Used rstrip to remove trailing \n sql = fp.read().rstrip() - self.assertEquals(sql, resp_sql) + # Replace place holder with the current username + # used to connect to the database + if 'username' in self.server: + sql = sql.replace(self.JSON_PLACEHOLDERS['owner'], + self.server['username']) + try: + self.assertEquals(sql, resp_sql) + except Exception as e: + self.final_test_status = False + traceback.print_exc() + return False else: - self.assertFalse("Expected SQL File not found") + try: + self.assertFalse("Expected SQL File not found") + except Exception as e: + self.final_test_status = False + traceback.print_exc() + return False elif 'expected_sql' in scenario: - self.assertEquals(scenario['expected_sql'], resp_sql) + exp_sql = scenario['expected_sql'] + # Replace place holder with the current username + # used to connect to the database + if 'username' in self.server: + exp_sql = exp_sql.replace(self.JSON_PLACEHOLDERS['owner'], + self.server['username']) + try: + self.assertEquals(exp_sql, resp_sql) + except Exception as e: + self.final_test_status = False + traceback.print_exc() + return False + + return True