From e0c53e7d1dfdb68a55c8aca30d4e59a37c913724 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Thu, 29 Aug 2019 18:32:08 +0530 Subject: [PATCH] Add Reverse Engineered SQL tests for Schemas. Fixes #4575 --- docs/en_US/release_notes_4_13.rst | 1 + .../templates/schemas/pg/9.2_plus/sql/acl.sql | 3 +- .../templates/schemas/pg/default/sql/acl.sql | 3 +- .../schemas/ppas/9.1_plus/sql/acl.sql | 3 +- .../schemas/ppas/9.2_plus/sql/acl.sql | 3 +- .../pg/9.2_plus/alter_schema_add_priv.sql | 22 ++ .../9.2_plus/alter_schema_add_priv_msql.sql | 13 + .../pg/9.2_plus/alter_schema_drop_priv.sql | 14 + .../9.2_plus/alter_schema_drop_priv_msql.sql | 5 + .../tests/pg/9.2_plus/alter_schema_name.sql | 9 + .../pg/9.2_plus/alter_schema_name_msql.sql | 2 + .../pg/9.2_plus/create_schema_all_options.sql | 25 ++ .../create_schema_all_options_msql.sql | 18 ++ .../9.2_plus/create_schema_with_comment.sql | 9 + .../create_schema_with_comment_msql.sql | 4 + .../tests/pg/9.2_plus/test_schema.json | 272 ++++++++++++++++++ .../ppas/9.2_plus/alter_schema_add_priv.sql | 22 ++ .../9.2_plus/alter_schema_add_priv_msql.sql | 17 ++ .../ppas/9.2_plus/alter_schema_drop_priv.sql | 14 + .../9.2_plus/alter_schema_drop_priv_msql.sql | 7 + .../tests/ppas/9.2_plus/alter_schema_name.sql | 9 + .../ppas/9.2_plus/alter_schema_name_msql.sql | 2 + .../9.2_plus/create_schema_all_options.sql | 25 ++ .../create_schema_all_options_msql.sql | 18 ++ .../9.2_plus/create_schema_with_comment.sql | 9 + .../create_schema_with_comment_msql.sql | 4 + .../tests/ppas/9.2_plus/test_schema.json | 272 ++++++++++++++++++ web/regression/re_sql/tests/test_resql.py | 7 +- 28 files changed, 807 insertions(+), 5 deletions(-) create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/test_schema.json create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment_msql.sql create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/test_schema.json diff --git a/docs/en_US/release_notes_4_13.rst b/docs/en_US/release_notes_4_13.rst index f9a747136..8d90e49f7 100644 --- a/docs/en_US/release_notes_4_13.rst +++ b/docs/en_US/release_notes_4_13.rst @@ -16,6 +16,7 @@ New features Housekeeping ************ +| `Issue #4575 `_ - Add Reverse Engineered SQL tests for Schemas. | `Issue #4576 `_ - Add Reverse Engineered SQL tests for Views. | `Issue #4600 `_ - Add Reverse Engineered SQL tests for Rules. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/9.2_plus/sql/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/9.2_plus/sql/acl.sql index e1e64be64..e8fbfd01f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/9.2_plus/sql/acl.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/9.2_plus/sql/acl.sql @@ -20,4 +20,5 @@ FROM ) b LEFT JOIN pg_catalog.pg_roles g ON (b.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles gt ON (b.grantee = gt.oid) -GROUP BY g.rolname, gt.rolname; +GROUP BY g.rolname, gt.rolname +ORDER BY grantee; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/default/sql/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/default/sql/acl.sql index e1e64be64..e8fbfd01f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/default/sql/acl.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/pg/default/sql/acl.sql @@ -20,4 +20,5 @@ FROM ) b LEFT JOIN pg_catalog.pg_roles g ON (b.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles gt ON (b.grantee = gt.oid) -GROUP BY g.rolname, gt.rolname; +GROUP BY g.rolname, gt.rolname +ORDER BY grantee; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.1_plus/sql/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.1_plus/sql/acl.sql index e1e64be64..e8fbfd01f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.1_plus/sql/acl.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.1_plus/sql/acl.sql @@ -20,4 +20,5 @@ FROM ) b LEFT JOIN pg_catalog.pg_roles g ON (b.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles gt ON (b.grantee = gt.oid) -GROUP BY g.rolname, gt.rolname; +GROUP BY g.rolname, gt.rolname +ORDER BY grantee; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.2_plus/sql/acl.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.2_plus/sql/acl.sql index e1e64be64..e8fbfd01f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.2_plus/sql/acl.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schemas/ppas/9.2_plus/sql/acl.sql @@ -20,4 +20,5 @@ FROM ) b LEFT JOIN pg_catalog.pg_roles g ON (b.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles gt ON (b.grantee = gt.oid) -GROUP BY g.rolname, gt.rolname; +GROUP BY g.rolname, gt.rolname +ORDER BY grantee; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv.sql new file mode 100644 index 000000000..e90ef0f78 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv.sql @@ -0,0 +1,22 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION postgres; + +GRANT CREATE ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO postgres; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON SEQUENCES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv_msql.sql new file mode 100644 index 000000000..ca4e5eba8 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_add_priv_msql.sql @@ -0,0 +1,13 @@ +GRANT CREATE ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON SEQUENCES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv.sql new file mode 100644 index 000000000..f9cee50b8 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv.sql @@ -0,0 +1,14 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION postgres; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO postgres; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv_msql.sql new file mode 100644 index 000000000..9ebb719ae --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_drop_priv_msql.sql @@ -0,0 +1,5 @@ +REVOKE ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" FROM PUBLIC; +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + REVOKE ALL ON SEQUENCES FROM PUBLIC; +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + REVOKE ALL ON TYPES FROM PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name.sql new file mode 100644 index 000000000..86bf07af6 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name.sql @@ -0,0 +1,9 @@ +-- SCHEMA: test_schema1_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema1_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema1_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION postgres; + +COMMENT ON SCHEMA "test_schema1_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name_msql.sql new file mode 100644 index 000000000..89038d77a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/alter_schema_name_msql.sql @@ -0,0 +1,2 @@ +ALTER SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + RENAME TO "test_schema1_$%{}[]()&*^!@""""'`\/#"; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options.sql new file mode 100644 index 000000000..9251fbe06 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options.sql @@ -0,0 +1,25 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION postgres; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO postgres; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON SEQUENCES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options_msql.sql new file mode 100644 index 000000000..2c80b5146 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_all_options_msql.sql @@ -0,0 +1,18 @@ +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#"; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON SEQUENCES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment.sql new file mode 100644 index 000000000..83973a3ac --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment.sql @@ -0,0 +1,9 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION postgres; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment_msql.sql new file mode 100644 index 000000000..add17f781 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/create_schema_with_comment_msql.sql @@ -0,0 +1,4 @@ +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#"; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/test_schema.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/test_schema.json new file mode 100644 index 000000000..62fb3c771 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/pg/9.2_plus/test_schema.json @@ -0,0 +1,272 @@ +{ + "scenarios": [ + { + "type": "create", + "name": "Create Schema With All Options", + "endpoint": "NODE-schema.obj", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#", + "description": "This is a test comment", + "nspacl": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "C", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }], + "seclabels": [], + "deftblacl": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "a", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "d", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "D", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "x", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "t", + "privilege": true, + "with_grant": false + }] + }], + "defseqacl": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }], + "deffuncacl": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "X", + "privilege": true, + "with_grant": false + }] + }], + "deftypeacl": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }] + }, + "expected_sql_file": "create_schema_all_options.sql", + "expected_msql_file": "create_schema_all_options_msql.sql" + }, { + "type": "delete", + "name": "Drop Schema with all options", + "endpoint": "NODE-schema.obj_id", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Schema with comments", + "endpoint": "NODE-schema.obj", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#", + "description": "This is a test comment" + }, + "expected_sql_file": "create_schema_with_comment.sql", + "expected_msql_file": "create_schema_with_comment_msql.sql" + }, { + "type": "alter", + "name": "Alert Schema Name", + "endpoint": "NODE-schema.obj_id", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql_id", + "data": { + "name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#" + }, + "expected_sql_file": "alter_schema_name.sql", + "expected_msql_file": "alter_schema_name_msql.sql" + }, + { + "type": "delete", + "name": "Drop Schema", + "endpoint": "NODE-schema.obj_id", + "data": { + "name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Schema", + "endpoint": "NODE-schema.obj", + "sql_endpoint": "NODE-schema.sql_id", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#" + } + }, { + "type": "alter", + "name": "Alert Schema Add Privileges", + "endpoint": "NODE-schema.obj_id", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql_id", + "data": { + "nspacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "C", + "privilege": true, + "with_grant": false + }] + }] + }, + "deftblacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }] + }] + }, + "defseqacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }] + }] + }, + "deffuncacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "X", + "privilege": true, + "with_grant": false + }] + }] + }, + "deftypeacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }] + } + }, + "expected_sql_file": "alter_schema_add_priv.sql", + "expected_msql_file": "alter_schema_add_priv_msql.sql" + }, { + "type": "alter", + "name": "Alert Schema Drop Privileges", + "endpoint": "NODE-schema.obj_id", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql_id", + "data": { + "nspacl": { + "deleted": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "C", + "privilege": true, + "with_grant": false + }] + }] + }, + "defseqacl": { + "deleted": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }] + }] + }, + "deftypeacl": { + "deleted": [{ + "grantee": "PUBLIC", + "grantor": "postgres", + "privileges": [{ + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }] + } + }, + "expected_sql_file": "alter_schema_drop_priv.sql", + "expected_msql_file": "alter_schema_drop_priv_msql.sql" + }, { + "type": "delete", + "name": "Drop Schema", + "endpoint": "NODE-schema.obj_id", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#" + } + } + ] +} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv.sql new file mode 100644 index 000000000..8b130b324 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv.sql @@ -0,0 +1,22 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION enterprisedb; + +GRANT CREATE ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO enterprisedb; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON SEQUENCES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv_msql.sql new file mode 100644 index 000000000..1163b0687 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_add_priv_msql.sql @@ -0,0 +1,17 @@ +GRANT CREATE ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON TABLES TO PUBLIC; + + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON SEQUENCES TO PUBLIC; + + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv.sql new file mode 100644 index 000000000..4dbbf07e6 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv.sql @@ -0,0 +1,14 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION enterprisedb; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO enterprisedb; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT SELECT, UPDATE ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv_msql.sql new file mode 100644 index 000000000..9378fcfc3 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_drop_priv_msql.sql @@ -0,0 +1,7 @@ +REVOKE ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" FROM PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + REVOKE ALL ON SEQUENCES FROM PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + REVOKE ALL ON TYPES FROM PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name.sql new file mode 100644 index 000000000..5ef0e4522 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name.sql @@ -0,0 +1,9 @@ +-- SCHEMA: test_schema1_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema1_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema1_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION enterprisedb; + +COMMENT ON SCHEMA "test_schema1_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name_msql.sql new file mode 100644 index 000000000..89038d77a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/alter_schema_name_msql.sql @@ -0,0 +1,2 @@ +ALTER SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + RENAME TO "test_schema1_$%{}[]()&*^!@""""'`\/#"; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options.sql new file mode 100644 index 000000000..5b92773ea --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options.sql @@ -0,0 +1,25 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION enterprisedb; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO enterprisedb; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON SEQUENCES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options_msql.sql new file mode 100644 index 000000000..2c80b5146 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_all_options_msql.sql @@ -0,0 +1,18 @@ +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#"; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; + +GRANT ALL ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON TABLES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT ALL ON SEQUENCES TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT EXECUTE ON FUNCTIONS TO PUBLIC; + +ALTER DEFAULT PRIVILEGES IN SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" +GRANT USAGE ON TYPES TO PUBLIC; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment.sql new file mode 100644 index 000000000..c8a8a15b8 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment.sql @@ -0,0 +1,9 @@ +-- SCHEMA: test_schema_$%{}[]()&*^!@""'`\/# + +-- DROP SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" ; + +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + AUTHORIZATION enterprisedb; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment_msql.sql new file mode 100644 index 000000000..add17f781 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/create_schema_with_comment_msql.sql @@ -0,0 +1,4 @@ +CREATE SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#"; + +COMMENT ON SCHEMA "test_schema_$%{}[]()&*^!@""""'`\/#" + IS 'This is a test comment'; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/test_schema.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/test_schema.json new file mode 100644 index 000000000..b3d23b60f --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/ppas/9.2_plus/test_schema.json @@ -0,0 +1,272 @@ +{ + "scenarios": [ + { + "type": "create", + "name": "Create Schema With All Options", + "endpoint": "NODE-schema.obj", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#", + "description": "This is a test comment", + "nspacl": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "C", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }], + "seclabels": [], + "deftblacl": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "a", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "d", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "D", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "x", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "t", + "privilege": true, + "with_grant": false + }] + }], + "defseqacl": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }], + "deffuncacl": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "X", + "privilege": true, + "with_grant": false + }] + }], + "deftypeacl": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }] + }, + "expected_sql_file": "create_schema_all_options.sql", + "expected_msql_file": "create_schema_all_options_msql.sql" + }, { + "type": "delete", + "name": "Drop Schema with all options", + "endpoint": "NODE-schema.obj_id", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Schema with comments", + "endpoint": "NODE-schema.obj", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#", + "description": "This is a test comment" + }, + "expected_sql_file": "create_schema_with_comment.sql", + "expected_msql_file": "create_schema_with_comment_msql.sql" + }, { + "type": "alter", + "name": "Alert Schema Name", + "endpoint": "NODE-schema.obj_id", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql_id", + "data": { + "name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#" + }, + "expected_sql_file": "alter_schema_name.sql", + "expected_msql_file": "alter_schema_name_msql.sql" + }, + { + "type": "delete", + "name": "Drop Schema", + "endpoint": "NODE-schema.obj_id", + "data": { + "name": "test_schema1_$%{}[]()&*^!@\"\"'`\\/#" + } + }, { + "type": "create", + "name": "Create Schema", + "endpoint": "NODE-schema.obj", + "sql_endpoint": "NODE-schema.sql_id", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#" + } + }, { + "type": "alter", + "name": "Alert Schema Add Privileges", + "endpoint": "NODE-schema.obj_id", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql_id", + "data": { + "nspacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "C", + "privilege": true, + "with_grant": false + }] + }] + }, + "deftblacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }] + }] + }, + "defseqacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }] + }] + }, + "deffuncacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "X", + "privilege": true, + "with_grant": false + }] + }] + }, + "deftypeacl": { + "added": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }] + } + }, + "expected_sql_file": "alter_schema_add_priv.sql", + "expected_msql_file": "alter_schema_add_priv_msql.sql" + }, { + "type": "alter", + "name": "Alert Schema Drop Privileges", + "endpoint": "NODE-schema.obj_id", + "sql_endpoint": "NODE-schema.sql_id", + "msql_endpoint": "NODE-schema.msql_id", + "data": { + "nspacl": { + "deleted": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "C", + "privilege": true, + "with_grant": false + }] + }] + }, + "defseqacl": { + "deleted": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "r", + "privilege": true, + "with_grant": false + }, { + "privilege_type": "w", + "privilege": true, + "with_grant": false + }] + }] + }, + "deftypeacl": { + "deleted": [{ + "grantee": "PUBLIC", + "grantor": "enterprisedb", + "privileges": [{ + "privilege_type": "U", + "privilege": true, + "with_grant": false + }] + }] + } + }, + "expected_sql_file": "alter_schema_drop_priv.sql", + "expected_msql_file": "alter_schema_drop_priv_msql.sql" + }, { + "type": "delete", + "name": "Drop Schema", + "endpoint": "NODE-schema.obj_id", + "data": { + "name": "test_schema_$%{}[]()&*^!@\"\"'`\\/#" + } + } + ] +} diff --git a/web/regression/re_sql/tests/test_resql.py b/web/regression/re_sql/tests/test_resql.py index aa3df5ed5..fc8939907 100644 --- a/web/regression/re_sql/tests/test_resql.py +++ b/web/regression/re_sql/tests/test_resql.py @@ -168,7 +168,12 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator): elif arg == 'did': options['did'] = int(self.server_information['db_id']) elif arg == 'scid': - options['scid'] = int(self.schema_id) + # For schema node object_id is the actual schema id. + if endpoint.__contains__('NODE-schema') and \ + object_id is not None: + options['scid'] = int(object_id) + else: + options['scid'] = int(self.schema_id) elif arg == 'tid' and self.table_id: options['tid'] = int(self.table_id) else: