Fixed an issue where the user is unable to change the macro name. Fixes #5885

pull/35/head
Khushboo Vashi 2020-10-05 14:40:21 +05:30 committed by Akshay Joshi
parent 542be2b2d4
commit c28509ac28
3 changed files with 34 additions and 5 deletions

View File

@ -36,4 +36,5 @@ Bug fixes
| `Issue #5843 <https://redmine.postgresql.org/issues/5843>`_ - Fixed an issue where the 'PARALLEL UNSAFE' option is missing from reverse engineering SQL of function/procedure. | `Issue #5843 <https://redmine.postgresql.org/issues/5843>`_ - Fixed an issue where the 'PARALLEL UNSAFE' option is missing from reverse engineering SQL of function/procedure.
| `Issue #5845 <https://redmine.postgresql.org/issues/5845>`_ - Fixed an issue where the query tool is not fetching more than 1000 rows for the table does not have any primary key. | `Issue #5845 <https://redmine.postgresql.org/issues/5845>`_ - Fixed an issue where the query tool is not fetching more than 1000 rows for the table does not have any primary key.
| `Issue #5861 <https://redmine.postgresql.org/issues/5861>`_ - Ensure that the 'Remove Server' option should be visible in the context menu. | `Issue #5861 <https://redmine.postgresql.org/issues/5861>`_ - Ensure that the 'Remove Server' option should be visible in the context menu.
| `Issue #5867 <https://redmine.postgresql.org/issues/5867>`_ - Fixed an issue where some properties are not being updated correctly for the shared server. | `Issue #5867 <https://redmine.postgresql.org/issues/5867>`_ - Fixed an issue where some properties are not being updated correctly for the shared server.
| `Issue #5885 <https://redmine.postgresql.org/issues/5885>`_ - Fixed an issue where the user is unable to change the macro name.

View File

@ -29,7 +29,7 @@ class TestMacros(BaseTestGenerator):
dict( dict(
url='set_macros', url='set_macros',
method='put', method='put',
operation='update', operation='set',
data={ data={
'changed': [ 'changed': [
{'id': 1, {'id': 1,
@ -47,6 +47,26 @@ class TestMacros(BaseTestGenerator):
] ]
} }
)), )),
('Update Macros',
dict(
url='set_macros',
method='put',
operation='update',
data={
'changed': [
{'id': 1,
'name': 'Test Macro 1 updated',
},
{'id': 2,
'sql': 'SELECT 22;'
},
{'id': 3,
'name': 'Test Macro 3 updated',
'sql': 'SELECT 33;'
},
]
}
)),
('Clear Macros', ('Clear Macros',
dict( dict(
url='set_macros', url='set_macros',
@ -113,12 +133,20 @@ class TestMacros(BaseTestGenerator):
if self.operation == 'clear': if self.operation == 'clear':
self.assertEqual(response.status_code, 410) self.assertEqual(response.status_code, 410)
else: elif self.operation == 'set':
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
response_data = json.loads(response.data.decode('utf-8')) response_data = json.loads(response.data.decode('utf-8'))
self.assertEqual(response_data['name'], m['name']) self.assertEqual(response_data['name'], m['name'])
self.assertEqual(response_data['sql'], m['sql']) self.assertEqual(response_data['sql'], m['sql'])
elif self.operation == 'update':
self.assertEqual(response.status_code, 200)
response_data = json.loads(response.data.decode('utf-8'))
if 'name' in m:
self.assertEqual(response_data['name'], m['name'])
if 'sql' in m:
self.assertEqual(response_data['sql'], m['sql'])
def tearDown(self): def tearDown(self):
# Disconnect the database # Disconnect the database

View File

@ -165,10 +165,10 @@ def update_macro(data, macro):
name = data.get('name', None) name = data.get('name', None)
sql = data.get('sql', None) sql = data.get('sql', None)
if name or sql and macro.sql and 'name' in data and name is None: if (name or sql) and macro.sql and 'name' in data and name is None:
return False, gettext( return False, gettext(
"Could not find the required parameter (name).") "Could not find the required parameter (name).")
elif name or sql and macro.name and 'sql' in data and sql is None: elif (name or sql) and macro.name and 'sql' in data and sql is None:
return False, gettext( return False, gettext(
"Could not find the required parameter (sql).") "Could not find the required parameter (sql).")