mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Improve code coverage and API test cases for Grant Wizard. Fixes #5344
This commit is contained in:
committed by
Akshay Joshi
parent
79e6480513
commit
6415294782
@@ -183,7 +183,6 @@ def properties(sid, did, node_id, node_type):
|
||||
"""It fetches the properties of object types
|
||||
and render into selection page of wizard
|
||||
"""
|
||||
|
||||
# unquote encoded url parameter
|
||||
node_type = unquote(node_type)
|
||||
|
||||
@@ -197,23 +196,22 @@ def properties(sid, did, node_id, node_type):
|
||||
node_types = []
|
||||
show_sysobj = blueprint.show_system_objects().get()
|
||||
if node_type == 'database':
|
||||
|
||||
# Fetch list of schemas
|
||||
# Get sys_obj_values and get list of schemas
|
||||
ntype = 'schema'
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/get_schemas.sql']),
|
||||
show_sysobj=show_sysobj)
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
|
||||
if not status:
|
||||
return internal_server_error(errormsg=res)
|
||||
node_types = res['rows']
|
||||
else:
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/get_schemas.sql']),
|
||||
nspid=node_id, show_sysobj=False)
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
|
||||
if not status:
|
||||
return internal_server_error(errormsg=res)
|
||||
@@ -226,11 +224,11 @@ def properties(sid, did, node_id, node_type):
|
||||
|
||||
# Fetch functions against schema
|
||||
if ntype in ['schema', 'function']:
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/function.sql']),
|
||||
node_id=node_id, type='function')
|
||||
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
if not status:
|
||||
current_app.logger.error(res)
|
||||
failed_objects.append('function')
|
||||
@@ -243,11 +241,11 @@ def properties(sid, did, node_id, node_type):
|
||||
(server_prop['server_type'] == 'pg' and
|
||||
server_prop['version'] >= 11000)) and
|
||||
ntype in ['schema', 'procedure']):
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/function.sql']),
|
||||
node_id=node_id, type='procedure')
|
||||
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
|
||||
if not status:
|
||||
current_app.logger.error(res)
|
||||
@@ -257,10 +255,10 @@ def properties(sid, did, node_id, node_type):
|
||||
|
||||
# Fetch trigger functions
|
||||
if ntype in ['schema', 'trigger_function']:
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/function.sql']),
|
||||
node_id=node_id, type='trigger_function')
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
|
||||
if not status:
|
||||
current_app.logger.error(res)
|
||||
@@ -270,11 +268,11 @@ def properties(sid, did, node_id, node_type):
|
||||
|
||||
# Fetch Sequences against schema
|
||||
if ntype in ['schema', 'sequence']:
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/sequence.sql']),
|
||||
node_id=node_id)
|
||||
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
if not status:
|
||||
current_app.logger.error(res)
|
||||
failed_objects.append('sequence')
|
||||
@@ -283,11 +281,11 @@ def properties(sid, did, node_id, node_type):
|
||||
|
||||
# Fetch Tables against schema
|
||||
if ntype in ['schema', 'table']:
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/table.sql']),
|
||||
node_id=node_id)
|
||||
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
if not status:
|
||||
current_app.logger.error(res)
|
||||
failed_objects.append('table')
|
||||
@@ -296,11 +294,11 @@ def properties(sid, did, node_id, node_type):
|
||||
|
||||
# Fetch Views against schema
|
||||
if ntype in ['schema', 'view']:
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/view.sql']),
|
||||
node_id=node_id, node_type='v')
|
||||
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
if not status:
|
||||
current_app.logger.error(res)
|
||||
failed_objects.append('view')
|
||||
@@ -309,11 +307,11 @@ def properties(sid, did, node_id, node_type):
|
||||
|
||||
# Fetch Materialzed Views against schema
|
||||
if ntype in ['schema', 'mview']:
|
||||
SQL = render_template("/".join(
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], '/sql/view.sql']),
|
||||
node_id=node_id, node_type='m')
|
||||
|
||||
status, res = conn.execute_dict(SQL)
|
||||
status, res = conn.execute_dict(sql)
|
||||
if not status:
|
||||
current_app.logger.error(res)
|
||||
failed_objects.append('materialized view')
|
||||
@@ -343,7 +341,6 @@ def msql(sid, did):
|
||||
"""
|
||||
This function will return modified SQL
|
||||
"""
|
||||
|
||||
server_prop = server_info
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
# Form db connection
|
||||
@@ -360,7 +357,6 @@ def msql(sid, did):
|
||||
current_app.logger.exception(e)
|
||||
|
||||
try:
|
||||
|
||||
# Parse privileges
|
||||
data['priv'] = {}
|
||||
if 'acl' in data:
|
||||
@@ -381,29 +377,29 @@ def msql(sid, did):
|
||||
sql_data = ''
|
||||
data_func = {'objects': data['objects'],
|
||||
'priv': data['priv']['function']}
|
||||
SQL = render_template(
|
||||
sql = render_template(
|
||||
"/".join([server_prop['template_path'],
|
||||
'/sql/grant_function.sql']),
|
||||
data=data_func, conn=conn)
|
||||
if SQL and SQL.strip('\n') != '':
|
||||
sql_data += SQL
|
||||
if sql and sql.strip('\n') != '':
|
||||
sql_data += sql
|
||||
|
||||
data_seq = {'objects': data['objects'],
|
||||
'priv': data['priv']['sequence']}
|
||||
SQL = render_template(
|
||||
sql = render_template(
|
||||
"/".join([server_prop['template_path'],
|
||||
'/sql/grant_sequence.sql']),
|
||||
data=data_seq, conn=conn)
|
||||
if SQL and SQL.strip('\n') != '':
|
||||
sql_data += SQL
|
||||
if sql and sql.strip('\n') != '':
|
||||
sql_data += sql
|
||||
|
||||
data_table = {'objects': data['objects'],
|
||||
'priv': data['priv']['table']}
|
||||
SQL = render_template(
|
||||
sql = render_template(
|
||||
"/".join([server_prop['template_path'], '/sql/grant_table.sql']),
|
||||
data=data_table, conn=conn)
|
||||
if SQL and SQL.strip('\n') != '':
|
||||
sql_data += SQL
|
||||
if sql and sql.strip('\n') != '':
|
||||
sql_data += sql
|
||||
|
||||
res = {'data': sql_data}
|
||||
|
||||
@@ -469,29 +465,29 @@ def save(sid, did):
|
||||
sql_data = ''
|
||||
data_func = {'objects': data['objects'],
|
||||
'priv': data['priv']['function']}
|
||||
SQL = render_template(
|
||||
sql = render_template(
|
||||
"/".join([server_prop['template_path'],
|
||||
'/sql/grant_function.sql']),
|
||||
data=data_func, conn=conn)
|
||||
if SQL and SQL.strip('\n') != '':
|
||||
sql_data += SQL
|
||||
if sql and sql.strip('\n') != '':
|
||||
sql_data += sql
|
||||
|
||||
data_seq = {'objects': data['objects'],
|
||||
'priv': data['priv']['sequence']}
|
||||
SQL = render_template(
|
||||
sql = render_template(
|
||||
"/".join([server_prop['template_path'],
|
||||
'/sql/grant_sequence.sql']),
|
||||
data=data_seq, conn=conn)
|
||||
if SQL and SQL.strip('\n') != '':
|
||||
sql_data += SQL
|
||||
if sql and sql.strip('\n') != '':
|
||||
sql_data += sql
|
||||
|
||||
data_table = {'objects': data['objects'],
|
||||
'priv': data['priv']['table']}
|
||||
SQL = render_template(
|
||||
sql = render_template(
|
||||
"/".join([server_prop['template_path'], '/sql/grant_table.sql']),
|
||||
data=data_table, conn=conn)
|
||||
if SQL and SQL.strip('\n') != '':
|
||||
sql_data += SQL
|
||||
if sql and sql.strip('\n') != '':
|
||||
sql_data += sql
|
||||
|
||||
status, res = conn.execute_dict(sql_data)
|
||||
if not status:
|
||||
|
||||
Reference in New Issue
Block a user