Added Modified SQL test cases for Packages.

This commit is contained in:
navnath gadakh 2019-09-03 17:33:57 +05:30 committed by Akshay Joshi
parent 4745ad56e9
commit 4690700a24
12 changed files with 140 additions and 56 deletions

View File

@ -365,11 +365,8 @@ class PackageView(PGChildNodeView):
)
)
data['schema'] = self.schema
# The SQL below will execute CREATE DDL only
SQL = render_template(
"/".join([self.template_path, 'create.sql']),
data=data, conn=self.conn
)
SQL, name = self.getSQL(gid, sid, did, data, scid, None)
status, msg = self.conn.execute_scalar(SQL)
if not status:
@ -555,7 +552,7 @@ class PackageView(PGChildNodeView):
status=200
)
def getSQL(self, gid, sid, did, data, scid, pkgid=None):
def getSQL(self, gid, sid, did, data, scid, pkgid=None, sqltab=False):
"""
This function will generate sql from model data.
@ -571,7 +568,7 @@ class PackageView(PGChildNodeView):
u'name'
]
if pkgid is not None:
if pkgid is not None and not sqltab:
data['schema'] = self.schema
SQL = render_template(
"/".join([self.template_path, 'properties.sql']), scid=scid,
@ -679,7 +676,7 @@ class PackageView(PGChildNodeView):
res['rows'][0].setdefault(row['deftype'], []).append(priv)
result = res['rows'][0]
sql, name = self.getSQL(gid, sid, did, result, scid, pkgid)
sql, name = self.getSQL(gid, sid, did, result, scid, pkgid, True)
# Most probably this is due to error
if not isinstance(sql, (str, unicode)):
return sql

View File

@ -33,3 +33,4 @@ FROM
LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid)
LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid)
GROUP BY g.rolname, gt.rolname
ORDER BY grantee

View File

@ -1,20 +1,20 @@
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func2(v2 integer) RETURN integer;
PROCEDURE proc2(v2 integer);
gl_v character varying(50);
FUNCTION func1(v1 integer) RETURN integer;
PROCEDURE proc1(v1 integer);
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END FUNC2;
PROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); END;
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment updated';

View File

@ -0,0 +1,4 @@
REVOKE ALL ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" FROM enterprisedb;
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment updated';

View File

@ -1,20 +1,22 @@
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer;
PROCEDURE proc1(v1 integer);
gl_v character varying(50);
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment';

View File

@ -0,0 +1,16 @@
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer;
PROCEDURE proc1(v1 integer);
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment';

View File

@ -5,13 +5,16 @@
"name": "Create Packages",
"endpoint": "NODE-package.obj",
"sql_endpoint": "NODE-package.sql_id",
"msql_endpoint": "NODE-package.msql",
"data":
{
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#",
"description": "test comment",
"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": "aq_administrator_role",
"grantee": "enterprisedb",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "X",
@ -19,26 +22,44 @@
"with_grant": true
}]
}],
"pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);\ngl_v character varying(50);",
"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;",
"schema": "public"
},
"expected_sql_file": "create_package_with_all_options.sql"
"expected_sql_file": "create_package_with_all_options.sql",
"expected_msql_file": "create_package_with_all_options_msql.sql"
},
{
"type": "alter",
"name": "Alter Packages",
"endpoint": "NODE-package.obj_id",
"sql_endpoint": "NODE-package.sql_id",
"msql_endpoint": "NODE-package.msql_id",
"data":
{
"description": "test comment updated",
"owner": "enterprisedb",
"pkgheadsrc": "FUNCTION func2(v2 integer) RETURN integer;\nPROCEDURE proc2(v2 integer);\ngl_v character varying(50);",
"pkgbodysrc": "FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END FUNC2;\nPROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); END;",
"pkgacl": {
"deleted": [{
"grantee": "enterprisedb",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "X",
"privilege": true,
"with_grant": true
}]
}]
},
"schema": "public"
},
"expected_sql_file": "alter_package_headers_and_comment.sql"
"expected_sql_file": "alter_package_headers_and_comment.sql",
"expected_msql_file": "alter_package_headers_and_comment_msql.sql"
},
{
"type": "delete",
"name": "Drop Package",
"endpoint": "NODE-package.delete_id",
"data": {
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#"
}
}
]
}

View File

@ -1,20 +1,20 @@
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func2(v2 integer) RETURN integer;
PROCEDURE proc2(v2 integer);
gl_v character varying(50);
FUNCTION func1(v1 integer) RETURN integer;
PROCEDURE proc1(v1 integer);
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END;
PROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); END;
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment updated';

View File

@ -0,0 +1,4 @@
REVOKE ALL ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" FROM enterprisedb;
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment updated';

View File

@ -1,20 +1,22 @@
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer;
PROCEDURE proc1(v1 integer);
gl_v character varying(50);
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment';

View File

@ -0,0 +1,16 @@
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer;
PROCEDURE proc1(v1 integer);
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
IS 'test comment';

View File

@ -5,13 +5,16 @@
"name": "Create Packages",
"endpoint": "NODE-package.obj",
"sql_endpoint": "NODE-package.sql_id",
"msql_endpoint": "NODE-package.msql",
"data":
{
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#",
"description": "test comment",
"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": "aq_administrator_role",
"grantee": "enterprisedb",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "X",
@ -19,26 +22,44 @@
"with_grant": true
}]
}],
"pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);\ngl_v character varying(50);",
"pkgbodysrc": "FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;\nPROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;",
"schema": "public"
},
"expected_sql_file": "create_package_with_all_options.sql"
"expected_sql_file": "create_package_with_all_options.sql",
"expected_msql_file": "create_package_with_all_options_msql.sql"
},
{
"type": "alter",
"name": "Alter Packages",
"endpoint": "NODE-package.obj_id",
"sql_endpoint": "NODE-package.sql_id",
"msql_endpoint": "NODE-package.msql_id",
"data":
{
"description": "test comment updated",
"owner": "enterprisedb",
"pkgheadsrc": "FUNCTION func2(v2 integer) RETURN integer;\nPROCEDURE proc2(v2 integer);\ngl_v character varying(50);",
"pkgbodysrc": "FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END;\nPROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); END;",
"pkgacl": {
"deleted": [{
"grantee": "enterprisedb",
"grantor": "enterprisedb",
"privileges": [{
"privilege_type": "X",
"privilege": true,
"with_grant": true
}]
}]
},
"schema": "public"
},
"expected_sql_file": "alter_package_headers_and_comment.sql"
"expected_sql_file": "alter_package_headers_and_comment.sql",
"expected_msql_file": "alter_package_headers_and_comment_msql.sql"
},
{
"type": "delete",
"name": "Drop Package",
"endpoint": "NODE-package.delete_id",
"data": {
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#"
}
}
]
}