Fix stored procedure test cases so they don't fail on EPAS 9.4

This commit is contained in:
Dave Page 2018-06-13 17:01:19 +01:00
parent 88a2309a26
commit 087db8a75e
4 changed files with 16 additions and 8 deletions

View File

@ -38,7 +38,7 @@ class procedureDeleteTestCase(BaseTestGenerator):
func_name = "test_procedure_delete_%s" % str(uuid.uuid4())[1:8]
proc_info = funcs_utils.create_procedure(
self.server, self.db_name, self.schema_name, func_name,
self.server_type)
self.server_type, self.server_version)
proc_id = proc_info[0]
response = self.tester.delete(

View File

@ -38,7 +38,7 @@ class ProcedureGetTestCase(BaseTestGenerator):
func_name = "test_procedure_get_%s" % str(uuid.uuid4())[1:8]
proc_info = funcs_utils.create_procedure(
self.server, self.db_name, self.schema_name, func_name,
self.server_type)
self.server_type, self.server_version)
proc_id = proc_info[0]
response = self.tester.get(

View File

@ -39,7 +39,7 @@ class ProcedurePutTestCase(BaseTestGenerator):
func_name = "test_procedure_put_%s" % str(uuid.uuid4())[1:8]
proc_info = funcs_utils.create_procedure(
self.server, self.db_name, self.schema_name, func_name,
self.server_type)
self.server_type, self.server_version)
proc_id = proc_info[0]
data = {

View File

@ -99,7 +99,8 @@ def verify_trigger_function(server, db_name, func_name):
return functions
def create_procedure(server, db_name, schema_name, func_name, s_type):
def create_procedure(server, db_name, schema_name, func_name, s_type,
s_version):
"""This function add the procedure to schema"""
try:
connection = utils.get_db_connection(db_name,
@ -116,10 +117,17 @@ def create_procedure(server, db_name, schema_name, func_name, s_type):
" SECURITY DEFINER AS $$" \
" SELECT 1; $$;"
else:
query = "CREATE PROCEDURE " + schema_name + "." + func_name + \
"()" \
" SECURITY DEFINER AS $BODY$ BEGIN" \
" NULL; END; $BODY$"
if s_version >= 90500:
query = "CREATE PROCEDURE " + schema_name + "." + func_name + \
"()" \
" SECURITY DEFINER AS $BODY$ BEGIN" \
" NULL; END; $BODY$"
else:
query = "CREATE PROCEDURE " + schema_name + "." + func_name + \
"()" \
" AS $BODY$ BEGIN" \
" NULL; END; $BODY$"
pg_cursor.execute(query)
connection.commit()
# Get 'oid' from newly created function