From c54017eac59515951bed9b045b9a1af4e6eb1171 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Tue, 24 Sep 2019 18:33:07 +0530 Subject: [PATCH] Add Reverse Engineered and Modified SQL tests for Synonyms. Fixes #4472 --- docs/en_US/release_notes_4_14.rst | 1 + .../9.4_plus/create_public_syn_with_func.sql | 6 + .../create_public_syn_with_func_msql.sql | 2 + .../9.4_plus/create_public_syn_with_pkg.sql | 6 + .../create_public_syn_with_pkg_msql.sql | 2 + .../9.4_plus/create_public_syn_with_proc.sql | 6 + .../create_public_syn_with_proc_msql.sql | 2 + .../9.4_plus/create_public_syn_with_seq.sql | 6 + .../create_public_syn_with_seq_msql.sql | 2 + .../9.4_plus/create_public_syn_with_table.sql | 6 + .../create_public_syn_with_table_msql.sql | 2 + .../9.4_plus/create_synonyms_with_func.sql | 6 + .../create_synonyms_with_func_msql.sql | 2 + .../9.4_plus/create_synonyms_with_pkg.sql | 6 + .../create_synonyms_with_pkg_msql.sql | 2 + .../9.4_plus/create_synonyms_with_proc.sql | 6 + .../create_synonyms_with_proc_msql.sql | 2 + .../9.4_plus/create_synonyms_with_seq.sql | 6 + .../create_synonyms_with_seq_msql.sql | 2 + .../9.4_plus/create_synonyms_with_table.sql | 6 + .../create_synonyms_with_table_msql.sql | 2 + .../ppas/9.4_plus/test_public_synonyms.json | 237 ++++++++++++++++++ .../tests/ppas/9.4_plus/test_synonyms.json | 237 ++++++++++++++++++ web/regression/re_sql/tests/test_resql.py | 5 +- 24 files changed, 559 insertions(+), 1 deletion(-) create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_public_synonyms.json create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_synonyms.json diff --git a/docs/en_US/release_notes_4_14.rst b/docs/en_US/release_notes_4_14.rst index b47b612d1..9b8aa7c20 100644 --- a/docs/en_US/release_notes_4_14.rst +++ b/docs/en_US/release_notes_4_14.rst @@ -12,6 +12,7 @@ New features Housekeeping ************ +| `Issue #4472 `_ - Add Reverse Engineered and Modified SQL tests for Synonyms. | `Issue #4628 `_ - Add Reverse Engineered and Modified SQL tests for Unique Constraints. Bug fixes diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func.sql new file mode 100644 index 000000000..b590b6c0a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func.sql @@ -0,0 +1,6 @@ +-- Public synonym: "syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.func_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func_msql.sql new file mode 100644 index 000000000..98863b74b --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_func_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.func_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg.sql new file mode 100644 index 000000000..822eb2426 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg.sql @@ -0,0 +1,6 @@ +-- Public synonym: "syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.package_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg_msql.sql new file mode 100644 index 000000000..fe14a90d8 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_pkg_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.package_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc.sql new file mode 100644 index 000000000..d947d48ed --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc.sql @@ -0,0 +1,6 @@ +-- Public synonym: "syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.procedure_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc_msql.sql new file mode 100644 index 000000000..85e571c82 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_proc_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.procedure_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq.sql new file mode 100644 index 000000000..c534d7fd5 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq.sql @@ -0,0 +1,6 @@ +-- Public synonym: "syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.sequence_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq_msql.sql new file mode 100644 index 000000000..4bd7462b2 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_seq_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.sequence_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table.sql new file mode 100644 index 000000000..d2dd38a4a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table.sql @@ -0,0 +1,6 @@ +-- Public synonym: "syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.table_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table_msql.sql new file mode 100644 index 000000000..0ef97c35a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_public_syn_with_table_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE PUBLIC SYNONYM "syn_$%{}[]()&*^!@""'`\/#" + FOR public.table_for_public_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func.sql new file mode 100644 index 000000000..0c7d83213 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func.sql @@ -0,0 +1,6 @@ +-- Private synonym: enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.func_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func_msql.sql new file mode 100644 index 000000000..d2eed8d9a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_func_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.func_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg.sql new file mode 100644 index 000000000..9f63b4a54 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg.sql @@ -0,0 +1,6 @@ +-- Private synonym: enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.package_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg_msql.sql new file mode 100644 index 000000000..18043f475 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_pkg_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.package_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc.sql new file mode 100644 index 000000000..552eb1bbe --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc.sql @@ -0,0 +1,6 @@ +-- Private synonym: enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.procedure_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc_msql.sql new file mode 100644 index 000000000..498fdfbc8 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_proc_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.procedure_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq.sql new file mode 100644 index 000000000..e9d0c82a0 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq.sql @@ -0,0 +1,6 @@ +-- Private synonym: enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.sequence_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq_msql.sql new file mode 100644 index 000000000..28dac223d --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_seq_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.sequence_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table.sql new file mode 100644 index 000000000..1bbab074e --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table.sql @@ -0,0 +1,6 @@ +-- Private synonym: enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +-- DROP SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#"; + +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.table_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table_msql.sql new file mode 100644 index 000000000..2ada07368 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/create_synonyms_with_table_msql.sql @@ -0,0 +1,2 @@ +CREATE OR REPLACE SYNONYM enterprisedb."syn_$%{}[]()&*^!@""'`\/#" + FOR enterprisedb.table_for_synonyms; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_public_synonyms.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_public_synonyms.json new file mode 100644 index 000000000..ccc94646c --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_public_synonyms.json @@ -0,0 +1,237 @@ +{ + "scenarios": [ + { + "type": "create", + "name": "Create Table for Synonyms", + "endpoint": "NODE-table.obj", + "sql_endpoint": "NODE-table.sql_id", + "data": { + "name": "table_for_public_synonyms", + "columns": [ + { + "name": "id", + "cltype": "integer", + "is_primary_key": true + }, + { + "name": "name", + "cltype": "text" + } + ], + "is_partitioned": false, + "schema": "public" + }, + "store_object_id": true + }, { + "type": "create", + "name": "Create public synonyms with table as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "public", + "schema": "public", + "targettype": "r", + "synobjname": "table_for_public_synonyms" + }, + "expected_sql_file": "create_public_syn_with_table.sql", + "expected_msql_file": "create_public_syn_with_table_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "delete", + "name": "Drop Table for Synonyms", + "endpoint": "NODE-table.delete_id", + "data": { + "name": "table_for_public_synonyms" + } + }, { + "type": "create", + "name": "Create Sequence for Synonyms", + "endpoint": "NODE-sequence.obj", + "sql_endpoint": "NODE-sequence.sql_id", + "data": { + "name": "sequence_for_public_synonyms", + "seqowner": "enterprisedb", + "schema": "public", + "increment": "5", + "start": "5", + "maximum": "999", + "minimum": "5", + "cache": "1", + "cycled": false, + "relacl": [], + "securities": [] + } + }, { + "type": "create", + "name": "Create public synonyms with sequence as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "public", + "schema": "public", + "targettype": "S", + "synobjname": "sequence_for_public_synonyms" + }, + "expected_sql_file": "create_public_syn_with_seq.sql", + "expected_msql_file": "create_public_syn_with_seq_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Package for Synonyms", + "endpoint": "NODE-package.obj", + "sql_endpoint": "NODE-package.sql_id", + "data": { + "name": "package_for_public_synonyms", + "owner": "enterprisedb", + "description": "test comment", + "pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);", + "pkgbodysrc": "FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;\nPROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;", + "pkgacl": [ + { + "grantee": "enterprisedb", + "grantor": "enterprisedb", + "privileges": [ + { + "privilege_type": "X", + "privilege": true, + "with_grant": true + } + ] + } + ], + "schema": "public" + } + }, { + "type": "create", + "name": "Create public synonyms with package as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "public", + "schema": "public", + "targettype": "P", + "synobjname": "package_for_public_synonyms" + }, + "expected_sql_file": "create_public_syn_with_pkg.sql", + "expected_msql_file": "create_public_syn_with_pkg_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Procedure for Synonyms", + "endpoint": "NODE-procedure.obj", + "sql_endpoint": "NODE-procedure.sql_id", + "data": { + "name": "procedure_for_public_synonyms", + "funcowner":"enterprisedb", + "pronamespace":2200, + "lanname":"edbspl", + "arguments":[], + "prosrc":"BEGIN\n SELECT 1;\nEND;", + "probin":"$libdir/", + "options":[], + "variables":[], + "seclabels":[], + "acl":[], + "schema": "public" + } + }, { + "type": "create", + "name": "Create public synonyms with procedure as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "public", + "schema": "public", + "targettype": "p", + "synobjname": "procedure_for_public_synonyms" + }, + "expected_sql_file": "create_public_syn_with_proc.sql", + "expected_msql_file": "create_public_syn_with_proc_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Function for Synonyms", + "endpoint": "NODE-function.obj", + "sql_endpoint": "NODE-function.sql_id", + "data": { + "name":"func_for_public_synonyms", + "funcowner":"enterprisedb", + "pronamespace":2200, + "prorettypename":"void", + "lanname":"edbspl", + "arguments":[], + "prosrc":"BEGIN\n SELECT 1;\nEND;", + "probin":"$libdir/", + "options":[], + "variables":[], + "seclabels":[], + "acl":[], + "schema": "public" + } + }, { + "type": "create", + "name": "Create public synonyms with function as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "public", + "schema": "public", + "targettype": "f", + "synobjname": "func_for_public_synonyms" + }, + "expected_sql_file": "create_public_syn_with_func.sql", + "expected_msql_file": "create_public_syn_with_func_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + } + ] +} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_synonyms.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_synonyms.json new file mode 100644 index 000000000..f42375e1b --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/tests/ppas/9.4_plus/test_synonyms.json @@ -0,0 +1,237 @@ +{ + "scenarios": [ + { + "type": "create", + "name": "Create Table for Synonyms", + "endpoint": "NODE-table.obj", + "sql_endpoint": "NODE-table.sql_id", + "data": { + "name": "table_for_synonyms", + "columns": [ + { + "name": "id", + "cltype": "integer", + "is_primary_key": true + }, + { + "name": "name", + "cltype": "text" + } + ], + "is_partitioned": false, + "schema": "enterprisedb" + }, + "store_object_id": true + }, { + "type": "create", + "name": "Create synonyms with table as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "enterprisedb", + "schema": "enterprisedb", + "targettype": "r", + "synobjname": "table_for_synonyms" + }, + "expected_sql_file": "create_synonyms_with_table.sql", + "expected_msql_file": "create_synonyms_with_table_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "delete", + "name": "Drop Table for Synonyms", + "endpoint": "NODE-table.delete_id", + "data": { + "name": "table_for_synonyms" + } + }, { + "type": "create", + "name": "Create Sequence for Synonyms", + "endpoint": "NODE-sequence.obj", + "sql_endpoint": "NODE-sequence.sql_id", + "data": { + "name": "sequence_for_synonyms", + "seqowner": "enterprisedb", + "schema": "enterprisedb", + "increment": "5", + "start": "5", + "maximum": "999", + "minimum": "5", + "cache": "1", + "cycled": false, + "relacl": [], + "securities": [] + } + }, { + "type": "create", + "name": "Create synonyms with sequence as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "enterprisedb", + "schema": "enterprisedb", + "targettype": "S", + "synobjname": "sequence_for_synonyms" + }, + "expected_sql_file": "create_synonyms_with_seq.sql", + "expected_msql_file": "create_synonyms_with_seq_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Package for Synonyms", + "endpoint": "NODE-package.obj", + "sql_endpoint": "NODE-package.sql_id", + "data": { + "name": "package_for_synonyms", + "owner": "enterprisedb", + "description": "test comment", + "pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);", + "pkgbodysrc": "FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;\nPROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;", + "pkgacl": [ + { + "grantee": "enterprisedb", + "grantor": "enterprisedb", + "privileges": [ + { + "privilege_type": "X", + "privilege": true, + "with_grant": true + } + ] + } + ], + "schema": "enterprisedb" + } + }, { + "type": "create", + "name": "Create synonyms with package as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "enterprisedb", + "schema": "enterprisedb", + "targettype": "P", + "synobjname": "package_for_synonyms" + }, + "expected_sql_file": "create_synonyms_with_pkg.sql", + "expected_msql_file": "create_synonyms_with_pkg_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Procedure for Synonyms", + "endpoint": "NODE-procedure.obj", + "sql_endpoint": "NODE-procedure.sql_id", + "data": { + "name": "procedure_for_synonyms", + "funcowner":"enterprisedb", + "pronamespace":2200, + "lanname":"edbspl", + "arguments":[], + "prosrc":"BEGIN\n SELECT 1;\nEND;", + "probin":"$libdir/", + "options":[], + "variables":[], + "seclabels":[], + "acl":[], + "schema": "public" + } + }, { + "type": "create", + "name": "Create synonyms with procedure as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "enterprisedb", + "schema": "enterprisedb", + "targettype": "p", + "synobjname": "procedure_for_synonyms" + }, + "expected_sql_file": "create_synonyms_with_proc.sql", + "expected_msql_file": "create_synonyms_with_proc_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Function for Synonyms", + "endpoint": "NODE-function.obj", + "sql_endpoint": "NODE-function.sql_id", + "data": { + "name":"func_for_synonyms", + "funcowner":"enterprisedb", + "pronamespace":2200, + "prorettypename":"void", + "lanname":"edbspl", + "arguments":[], + "prosrc":"BEGIN\n SELECT 1;\nEND;", + "probin":"$libdir/", + "options":[], + "variables":[], + "seclabels":[], + "acl":[], + "schema": "public" + } + }, { + "type": "create", + "name": "Create synonyms with function as target", + "endpoint": "NODE-synonym.obj", + "sql_endpoint": "NODE-synonym.sql_id", + "msql_endpoint": "NODE-synonym.msql", + "data": + { + "name": "syn_$%{}[]()&*^!@\"'`\\/#", + "owner": "enterprisedb", + "synobjschema": "enterprisedb", + "schema": "enterprisedb", + "targettype": "f", + "synobjname": "func_for_synonyms" + }, + "expected_sql_file": "create_synonyms_with_func.sql", + "expected_msql_file": "create_synonyms_with_func_msql.sql" + }, { + "type": "delete", + "name": "Drop Synonym", + "endpoint": "NODE-synonym.delete_id", + "data": { + "name": "syn_$%{}[]()&*^!@\"'`\\/#" + } + } + ] +} diff --git a/web/regression/re_sql/tests/test_resql.py b/web/regression/re_sql/tests/test_resql.py index f29442b03..e9de05cac 100644 --- a/web/regression/re_sql/tests/test_resql.py +++ b/web/regression/re_sql/tests/test_resql.py @@ -200,7 +200,10 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): options['fsid'] = int(self.parent_ids['fsid']) else: if object_id is not None: - options[arg] = int(object_id) + try: + options[arg] = int(object_id) + except ValueError: + options[arg] = object_id with self.app.test_request_context(): object_url = url_for(rule.endpoint, **options)