From 8ec51412c34df5d27501d618e18f90883a023f14 Mon Sep 17 00:00:00 2001 From: Murtuza Zabuawala Date: Fri, 6 Apr 2018 10:00:25 +0100 Subject: [PATCH] Add a (configurable) limit to the number of pgAgent job history rows displayed on the statistics tab. Fixes #3072 --- .../images/preferences_browser_properties.png | Bin 51937 -> 112725 bytes docs/en_US/preferences.rst | 2 + docs/en_US/release_notes_3_0.rst | 1 + web/pgadmin/browser/__init__.py | 272 +--------------- .../browser/register_browser_preferences.py | 293 ++++++++++++++++++ .../server_groups/servers/pgagent/__init__.py | 9 +- .../servers/pgagent/steps/__init__.py | 9 +- .../templates/pga_job/sql/pre3.4/stats.sql | 3 +- .../pga_jobstep/sql/pre3.4/stats.sql | 3 +- .../servers/pgagent/tests/__init__.py | 15 + .../servers/pgagent/tests/test_pgagent_add.py | 89 ++++++ .../pgagent/tests/test_pgagent_delete.py | 49 +++ .../servers/pgagent/tests/test_pgagent_put.py | 51 +++ .../pgagent/tests/tests_pgagent_get.py | 45 +++ .../pgagent/tests/tests_pgagent_stats.py | 45 +++ .../servers/pgagent/tests/utils.py | 175 +++++++++++ 16 files changed, 788 insertions(+), 273 deletions(-) create mode 100644 web/pgadmin/browser/register_browser_preferences.py create mode 100644 web/pgadmin/browser/server_groups/servers/pgagent/tests/__init__.py create mode 100644 web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_add.py create mode 100644 web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_delete.py create mode 100644 web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_put.py create mode 100644 web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_get.py create mode 100644 web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_stats.py create mode 100644 web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py diff --git a/docs/en_US/images/preferences_browser_properties.png b/docs/en_US/images/preferences_browser_properties.png index b9ec9325f163190e2cbd2cb6845df67157652364..564fb5aad02e410c014539b21acb80dc5ba9f138 100644 GIT binary patch literal 112725 zcmZ^~1yo$w(l(3*2rj|hA!u-Scc*a(jk`MphY;K)5Zv7f5?mU0clR{zKQs5vz4Olf z{$8tBcb~JR&fZnE>v^g=LRnD?837*w0s;bAMp|4I0s@*J0s=}19`@}@E!N5v1OyVc zrI?tqjF=dyvXi};rHv^Bgmgqw3Y>bv5ca@6JzX$mqA*N;@EXjahSdQnDUnSuWw7#R zco;0c+TslzW%RDEm0uU;paykn=p(NwQ&$R)z>H?uUhQK`RvEim^)WmZpZxh zGVaHaAgq`OYq)VV;7FC!X(JGkfd%=6HPSH1?Al})1eh<<$#ud* z4^CsswL#r9WYNex@DQv?J#p|5KR}mtUz?#)!mPW?(*Lm!5tdfgqH;HU`vp}y+`bA$xM6QcX>LGPoXC|>w(dvR~2G$}FO)wLe90*=Org0ujRO3r6Zrw1XM=8s zUk~-Rul+ae-BsA^``cdvVcP(!o_36&2$5cv&+wC8;&3>nV<8$)!TwFYk(B&YE*Qk< zm6*WbWm1er@Mh{Rf&>MH9F)=r?a&t`tYm3Ff?}%W_!xH1LFp$%g zGq8EN?zN9Z7fZXwMY}Ujn`jSz!~R=7LOE7r5aEj

^1)w}GU`$;sggLioj3%TI8P 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�cb`b;U0U&ddq%wkn!N{!br%YP3Eu=+72 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

    #qs)JkWb<*YkS4~_+eKtUnqE!={LAkp_C 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%0A-0E83T=bnnTP9 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 Z7A{dDn3IBn`xg2~T3q2>iKyY{{{nm=0t^5E diff --git a/docs/en_US/preferences.rst b/docs/en_US/preferences.rst index c22365fbb..e1ddc9b67 100644 --- a/docs/en_US/preferences.rst +++ b/docs/en_US/preferences.rst @@ -45,6 +45,8 @@ Use fields on the *Properties* panel to specify browser properties: * Include a value in the *Count rows if estimated less than* field to perform a SELECT count(*) if the estimated number of rows in a table (as read from the table statistics) is below the specified limit. After performing the SELECT count(*), pgAdmin will display the row count. The default is 2000. +* Provide a value in the *Maximum job history rows* field to limit the number of rows to show on the statistics tab for pgAgent jobs. The default is 250. + **The Dashboards Node** Expand the *Dashboards* node to specify your dashboard display preferences. diff --git a/docs/en_US/release_notes_3_0.rst b/docs/en_US/release_notes_3_0.rst index ade1c0d28..b318b4a31 100644 --- a/docs/en_US/release_notes_3_0.rst +++ b/docs/en_US/release_notes_3_0.rst @@ -88,6 +88,7 @@ Bug fixes | `Bug #3060 `_ - Fix quoting of function names in RE-SQL | `Bug #3066 `_ - Ensure column names on indexes on views are properly quoted in RE-SQL | `Bug #3067 `_ - Prevent the filter dialog CodeMirror from overflowing onto the button bar of the dialog +| `Bug #3072 `_ - Add a (configurable) limit to the number of pgAgent job history rows displayed on the statistics tab | `Bug #3073 `_ - Ensure the pgAgent job start/end time grid fields synchronise with the subnode control and validate correctly | `Bug #3075 `_ - Runtime issue causing Select, Update, and Insert script generation for a table fails to load | `Bug #3077 `_ - Remove dependency on standards_conforming_strings being enabled diff --git a/web/pgadmin/browser/__init__.py b/web/pgadmin/browser/__init__.py index 514b18673..9df9dc98b 100644 --- a/web/pgadmin/browser/__init__.py +++ b/web/pgadmin/browser/__init__.py @@ -37,6 +37,8 @@ from pgadmin.settings import get_setting from pgadmin.utils import PgAdminModule from pgadmin.utils.ajax import make_json_response from pgadmin.utils.preferences import Preferences +from pgadmin.browser.register_browser_preferences import \ + register_browser_preferences try: import urllib.request as urlreq @@ -211,275 +213,7 @@ class BrowserModule(PgAdminModule): return scripts def register_preferences(self): - self.show_system_objects = self.preference.register( - 'display', 'show_system_objects', - gettext("Show system objects?"), 'boolean', False, - category_label=gettext('Display') - ) - - self.preference.register( - 'display', 'enable_acitree_animation', - gettext("Enable browser tree animation?"), 'boolean', True, - category_label=gettext('Display') - ) - - self.preference.register( - 'display', 'enable_alertify_animation', - gettext("Enable dialogue/notification animation?"), 'boolean', - True, category_label=gettext('Display') - ) - - self.table_row_count_threshold = self.preference.register( - 'properties', 'table_row_count_threshold', - gettext("Count rows if estimated less than"), 'integer', 2000, - category_label=gettext('Properties') - ) - fields = [ - {'name': 'key', 'type': 'keyCode', 'label': gettext('Key')}, - {'name': 'shift', 'type': 'checkbox', 'label': gettext('Shift')}, - {'name': 'control', 'type': 'checkbox', 'label': gettext('Ctrl')}, - {'name': 'alt', 'type': 'checkbox', 'label': gettext('Alt/Option')} - ] - - self.preference.register( - 'keyboard_shortcuts', - 'browser_tree', - gettext('Browser tree'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 66, 'char': 'b'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'tabbed_panel_backward', - gettext('Tabbed panel backward'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 91, 'char': '['} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'tabbed_panel_forward', - gettext('Tabbed panel forward'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 93, 'char': ']'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'main_menu_file', - gettext('File main menu'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 70, 'char': 'f'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'main_menu_object', - gettext('Object main menu'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 79, 'char': 'o'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'main_menu_tools', - gettext('Tools main menu'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 76, 'char': 'l'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'main_menu_help', - gettext('Help main menu'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 72, 'char': 'h'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'sub_menu_query_tool', - gettext('Open query tool'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 81, 'char': 'q'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'sub_menu_view_data', - gettext('View data'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 86, 'char': 'v'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'sub_menu_create', - gettext('Create object'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 78, 'char': 'n'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'sub_menu_properties', - gettext('Edit object properties'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 69, 'char': 'e'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'sub_menu_delete', - gettext('Delete object'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 68, 'char': 'd'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'context_menu', - gettext('Open context menu'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 67, 'char': 'c'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'direct_debugging', - gettext('Direct debugging'), - 'keyboardshortcut', - { - 'alt': True, - 'shift': True, - 'control': False, - 'key': {'key_code': 71, 'char': 'g'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'dialog_tab_forward', - gettext('Dialog tab forward'), - 'keyboardshortcut', - { - 'alt': False, - 'shift': True, - 'control': True, - 'key': {'key_code': 93, 'char': ']'} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) - - self.preference.register( - 'keyboard_shortcuts', - 'dialog_tab_backward', - gettext('Dialog tab backward'), - 'keyboardshortcut', - { - 'alt': False, - 'shift': True, - 'control': True, - 'key': {'key_code': 91, 'char': '['} - }, - category_label=gettext('Keyboard shortcuts'), - fields=fields - ) + register_browser_preferences(self) def get_exposed_url_endpoints(self): """ diff --git a/web/pgadmin/browser/register_browser_preferences.py b/web/pgadmin/browser/register_browser_preferences.py new file mode 100644 index 000000000..178af6b09 --- /dev/null +++ b/web/pgadmin/browser/register_browser_preferences.py @@ -0,0 +1,293 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## +from flask_babelex import gettext + + +def register_browser_preferences(self): + self.show_system_objects = self.preference.register( + 'display', 'show_system_objects', + gettext("Show system objects?"), 'boolean', False, + category_label=gettext('Display') + ) + + self.preference.register( + 'display', 'enable_acitree_animation', + gettext("Enable browser tree animation?"), 'boolean', True, + category_label=gettext('Display') + ) + + self.preference.register( + 'display', 'enable_alertify_animation', + gettext("Enable dialogue/notification animation?"), 'boolean', + True, category_label=gettext('Display') + ) + + self.table_row_count_threshold = self.preference.register( + 'properties', 'table_row_count_threshold', + gettext("Count rows if estimated less than"), 'integer', 2000, + category_label=gettext('Properties') + ) + + self.pg_agent_row_threshold = self.preference.register( + 'properties', 'pgagent_row_threshold', + gettext("Maximum job history rows"), 'integer', 250, + category_label=gettext('Properties'), + min_val=1, max_val=9999, + help_str=gettext( + 'The maximum number of history rows to show on ' + 'the Statistics tab for pgAgent jobs' + ) + ) + + fields = [ + {'name': 'key', 'type': 'keyCode', 'label': gettext('Key')}, + {'name': 'shift', 'type': 'checkbox', 'label': gettext('Shift')}, + {'name': 'control', 'type': 'checkbox', 'label': gettext('Ctrl')}, + {'name': 'alt', 'type': 'checkbox', 'label': gettext('Alt/Option')} + ] + + self.preference.register( + 'keyboard_shortcuts', + 'browser_tree', + gettext('Browser tree'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 66, 'char': 'b'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'tabbed_panel_backward', + gettext('Tabbed panel backward'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 91, 'char': '['} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'tabbed_panel_forward', + gettext('Tabbed panel forward'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 93, 'char': ']'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'main_menu_file', + gettext('File main menu'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 70, 'char': 'f'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'main_menu_object', + gettext('Object main menu'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 79, 'char': 'o'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'main_menu_tools', + gettext('Tools main menu'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 76, 'char': 'l'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'main_menu_help', + gettext('Help main menu'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 72, 'char': 'h'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'sub_menu_query_tool', + gettext('Open query tool'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 81, 'char': 'q'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'sub_menu_view_data', + gettext('View data'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 86, 'char': 'v'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'sub_menu_create', + gettext('Create object'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 78, 'char': 'n'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'sub_menu_properties', + gettext('Edit object properties'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 69, 'char': 'e'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'sub_menu_delete', + gettext('Delete object'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 68, 'char': 'd'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'context_menu', + gettext('Open context menu'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 67, 'char': 'c'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'direct_debugging', + gettext('Direct debugging'), + 'keyboardshortcut', + { + 'alt': True, + 'shift': True, + 'control': False, + 'key': {'key_code': 71, 'char': 'g'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'dialog_tab_forward', + gettext('Dialog tab forward'), + 'keyboardshortcut', + { + 'alt': False, + 'shift': True, + 'control': True, + 'key': {'key_code': 93, 'char': ']'} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) + + self.preference.register( + 'keyboard_shortcuts', + 'dialog_tab_backward', + gettext('Dialog tab backward'), + 'keyboardshortcut', + { + 'alt': False, + 'shift': True, + 'control': True, + 'key': {'key_code': 91, 'char': '['} + }, + category_label=gettext('Keyboard shortcuts'), + fields=fields + ) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py b/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py index bdfca2d1d..81d9c7d56 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py @@ -22,6 +22,7 @@ from pgadmin.browser.server_groups import servers from pgadmin.utils.ajax import make_json_response, internal_server_error, \ make_response as ajax_response, gone, success_return from pgadmin.utils.driver import get_driver +from pgadmin.utils.preferences import Preferences class JobModule(CollectionNodeModule): @@ -415,10 +416,16 @@ SELECT EXISTS( otherwise it will return statistics for all the databases in that server. """ + pref = Preferences.module('browser') + rows_threshold = pref.preference( + 'pgagent_row_threshold' + ) + status, res = self.conn.execute_dict( render_template( "/".join([self.template_path, 'stats.sql']), - jid=jid, conn=self.conn + jid=jid, conn=self.conn, + rows_threshold=rows_threshold.get() ) ) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/steps/__init__.py b/web/pgadmin/browser/server_groups/servers/pgagent/steps/__init__.py index cb3971300..275616e63 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/steps/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/pgagent/steps/__init__.py @@ -19,6 +19,7 @@ from pgadmin.browser.utils import PGChildNodeView from pgadmin.utils.ajax import make_json_response, gone, \ make_response as ajax_response, internal_server_error from pgadmin.utils.driver import get_driver +from pgadmin.utils.preferences import Preferences from config import PG_DEFAULT_DRIVER @@ -570,10 +571,16 @@ SELECT EXISTS( otherwise it will return statistics for all the databases in that server. """ + pref = Preferences.module('browser') + rows_threshold = pref.preference( + 'pgagent_row_threshold' + ) + status, res = self.conn.execute_dict( render_template( "/".join([self.template_path, 'stats.sql']), - jid=jid, jstid=jstid, conn=self.conn + jid=jid, jstid=jstid, conn=self.conn, + rows_threshold=rows_threshold.get() ) ) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_job/sql/pre3.4/stats.sql b/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_job/sql/pre3.4/stats.sql index be9f61c68..afaba724f 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_job/sql/pre3.4/stats.sql +++ b/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_job/sql/pre3.4/stats.sql @@ -8,4 +8,5 @@ FROM pgagent.pga_joblog WHERE jlgjobid = {{ jid|qtLiteral }}::integer -ORDER BY jlgid DESC; +ORDER BY jlgid DESC +LIMIT {{ rows_threshold }}; diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_jobstep/sql/pre3.4/stats.sql b/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_jobstep/sql/pre3.4/stats.sql index b2ee8543c..3bd05d742 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_jobstep/sql/pre3.4/stats.sql +++ b/web/pgadmin/browser/server_groups/servers/pgagent/templates/pga_jobstep/sql/pre3.4/stats.sql @@ -10,4 +10,5 @@ FROM pgagent.pga_jobsteplog WHERE jsljstid = {{ jstid|qtLiteral }}::integer -ORDER BY jslid DESC; +ORDER BY jslid DESC +LIMIT {{ rows_threshold }}; diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/__init__.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/__init__.py new file mode 100644 index 000000000..61f4d19a0 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/__init__.py @@ -0,0 +1,15 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +from pgadmin.utils.route import BaseTestGenerator + + +class PgAgentCreateTestCase(BaseTestGenerator): + def runTest(self): + return diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_add.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_add.py new file mode 100644 index 000000000..7eb499f74 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_add.py @@ -0,0 +1,89 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +import simplejson as json +import uuid +from pgadmin.utils.route import BaseTestGenerator +from regression.python_test_utils import test_utils as utils +from . import utils as pgagent_utils + + +class PgAgentAddTestCase(BaseTestGenerator): + """This class will test the add pgAgent job API""" + scenarios = [ + ('Add pgAgent job', dict(url='/browser/pga_job/obj/')) + ] + + def setUp(self): + flag, msg = pgagent_utils.is_valid_server_to_run_pgagent(self) + if not flag: + self.skipTest(msg) + flag, msg = pgagent_utils.is_pgagent_installed_on_server(self) + if not flag: + self.skipTest(msg) + + def runTest(self): + """This function will adds pgAgent job""" + self.pgagent_job = "test_job_add%s" % str(uuid.uuid4())[1:8] + data = { + 'jobname': self.pgagent_job, + 'jobenabled': True, + 'jobhostagent': '', + 'jobjclid': 1, + 'jobdesc': '', + 'jsteps': [{ + 'jstid': None, + 'jstjobid': None, + 'jstname': 'test_step', + 'jstdesc': '', + 'jstenabled': True, + 'jstkind': True, + 'jstconntype': True, + 'jstcode': 'SELECT 1;', + 'jstconnstr': None, + 'jstdbname': 'postgres', + 'jstonerror': 'f', + 'jstnextrun': '', + }], + 'jschedules': [{ + 'jscid': None, + 'jscjobid': None, + 'jscname': 'test_sch', + 'jscdesc': '', + 'jscenabled': True, + 'jscstart': '2050-01-01 12:14:21 +05:30', + 'jscend': None, + 'jscweekdays': [False] * 7, + 'jscmonthdays': [False] * 32, + 'jscmonths': [False] * 12, + 'jschours': [False] * 24, + 'jscminutes': [False] * 60, + 'jscexceptions': [], + }], + } + + response = self.tester.post( + '{0}{1}/{2}/'.format( + self.url, str(utils.SERVER_GROUP), str(self.server_id) + ), + data=json.dumps(data), + content_type='html/json' + ) + self.assertEquals(response.status_code, 200) + + response_data = json.loads(response.data) + self.job_id = response_data['node']['_id'] + is_present = pgagent_utils.verify_pgagent_job(self) + self.assertTrue( + is_present, "pgAgent job was not created successfully" + ) + + def tearDown(self): + """Clean up code""" + pgagent_utils.delete_pgagent_job(self) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_delete.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_delete.py new file mode 100644 index 000000000..f9bcb087a --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_delete.py @@ -0,0 +1,49 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +import uuid +from pgadmin.utils.route import BaseTestGenerator +from regression.python_test_utils import test_utils as utils +from . import utils as pgagent_utils + + +class PgAgentDeleteTestCase(BaseTestGenerator): + """This class will test the delete pgAgent job API""" + scenarios = [ + ('Delete pgAgent job', dict(url='/browser/pga_job/obj/')) + ] + + def setUp(self): + flag, msg = pgagent_utils.is_valid_server_to_run_pgagent(self) + if not flag: + self.skipTest(msg) + flag, msg = pgagent_utils.is_pgagent_installed_on_server(self) + if not flag: + self.skipTest(msg) + name = "test_job_delete%s" % str(uuid.uuid4())[1:8] + self.job_id = pgagent_utils.create_pgagent_job(self, name) + + def runTest(self): + """This function will deletes pgAgent job""" + response = self.tester.delete( + '{0}{1}/{2}/{3}'.format( + self.url, str(utils.SERVER_GROUP), str(self.server_id), + str(self.job_id) + ), + content_type='html/json' + ) + self.assertEquals(response.status_code, 200) + is_present = pgagent_utils.verify_pgagent_job(self) + self.assertFalse( + is_present, "pgAgent job was not deleted successfully" + ) + + def tearDown(self): + """Clean up code""" + pgagent_utils.delete_pgagent_job(self) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_put.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_put.py new file mode 100644 index 000000000..08ffc6b9e --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/test_pgagent_put.py @@ -0,0 +1,51 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## +import simplejson as json +import uuid +from pgadmin.utils.route import BaseTestGenerator +from regression.python_test_utils import test_utils as utils +from . import utils as pgagent_utils + + +class PgAgentPutTestCase(BaseTestGenerator): + """This class will test the put pgAgent job API""" + scenarios = [ + ('Put pgAgent job', dict(url='/browser/pga_job/obj/')) + ] + + def setUp(self): + flag, msg = pgagent_utils.is_valid_server_to_run_pgagent(self) + if not flag: + self.skipTest(msg) + flag, msg = pgagent_utils.is_pgagent_installed_on_server(self) + if not flag: + self.skipTest(msg) + name = "test_job_put%s" % str(uuid.uuid4())[1:8] + self.job_id = pgagent_utils.create_pgagent_job(self, name) + + def runTest(self): + """This function will put pgAgent job""" + data = { + "jobdesc": "This is a test comment", + } + + response = self.tester.put( + '{0}{1}/{2}/{3}'.format( + self.url, str(utils.SERVER_GROUP), str(self.server_id), + str(self.job_id) + ), + data=json.dumps(data), + follow_redirects=True, + content_type='html/json' + ) + self.assertEquals(response.status_code, 200) + + def tearDown(self): + """Clean up code""" + pgagent_utils.delete_pgagent_job(self) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_get.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_get.py new file mode 100644 index 000000000..1c2e51159 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_get.py @@ -0,0 +1,45 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +import uuid +from pgadmin.utils.route import BaseTestGenerator +from regression.python_test_utils import test_utils as utils +from . import utils as pgagent_utils + + +class PgAgentGetTestCase(BaseTestGenerator): + """This class will test the get pgAgent job API""" + scenarios = [ + ('Get pgAgent job', dict(url='/browser/pga_job/obj/')) + ] + + def setUp(self): + flag, msg = pgagent_utils.is_valid_server_to_run_pgagent(self) + if not flag: + self.skipTest(msg) + flag, msg = pgagent_utils.is_pgagent_installed_on_server(self) + if not flag: + self.skipTest(msg) + name = "test_job_get%s" % str(uuid.uuid4())[1:8] + self.job_id = pgagent_utils.create_pgagent_job(self, name) + + def runTest(self): + """This function will get pgAgent job""" + response = self.tester.get( + '{0}{1}/{2}/{3}'.format( + self.url, str(utils.SERVER_GROUP), str(self.server_id), + str(self.job_id) + ), + content_type='html/json' + ) + self.assertEquals(response.status_code, 200) + + def tearDown(self): + """Clean up code""" + pgagent_utils.delete_pgagent_job(self) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_stats.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_stats.py new file mode 100644 index 000000000..3bc3d0f6f --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/tests_pgagent_stats.py @@ -0,0 +1,45 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +import uuid +from pgadmin.utils.route import BaseTestGenerator +from regression.python_test_utils import test_utils as utils +from . import utils as pgagent_utils + + +class PgAgentStatsTestCase(BaseTestGenerator): + """This class will test the stats pgAgent job API""" + scenarios = [ + ('Check the stats of pgAgent job', dict(url='/browser/pga_job/stats/')) + ] + + def setUp(self): + flag, msg = pgagent_utils.is_valid_server_to_run_pgagent(self) + if not flag: + self.skipTest(msg) + flag, msg = pgagent_utils.is_pgagent_installed_on_server(self) + if not flag: + self.skipTest(msg) + name = "test_job_get%s" % str(uuid.uuid4())[1:8] + self.job_id = pgagent_utils.create_pgagent_job(self, name) + + def runTest(self): + """This function will check stats of pgAgent job""" + response = self.tester.get( + '{0}{1}/{2}/{3}'.format( + self.url, str(utils.SERVER_GROUP), str(self.server_id), + str(self.job_id) + ), + content_type='html/json' + ) + self.assertEquals(response.status_code, 200) + + def tearDown(self): + """Clean up code""" + pgagent_utils.delete_pgagent_job(self) diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py b/web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py new file mode 100644 index 000000000..e2af5f9cd --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/pgagent/tests/utils.py @@ -0,0 +1,175 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2018, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +from __future__ import print_function +import sys +import traceback + +from regression.python_test_utils import test_utils as utils +from regression import parent_node_dict +from pgadmin.utils import server_utils as server_utils + + +def is_valid_server_to_run_pgagent(self): + """ + This function checks if server is valid for the pgAgent job. + """ + self.server_id = parent_node_dict["server"][-1]["server_id"] + server_con = server_utils.connect_server(self, self.server_id) + if not server_con["info"] == "Server connected.": + raise Exception("Could not connect to server to add pgAgent job.") + if "type" in server_con["data"]: + if server_con["data"]["type"] == "gpdb": + message = "pgAgent is not supported by Greenplum." + return False, message + return True, None + + +def is_pgagent_installed_on_server(self): + """ + This function checks if the pgAgent is installed properly. + """ + try: + connection = utils.get_db_connection( + self.server['db'], + self.server['username'], + self.server['db_password'], + self.server['host'], + self.server['port'], + self.server['sslmode'] + ) + pg_cursor = connection.cursor() + + SQL = """ + SELECT + has_table_privilege( + 'pgagent.pga_job', 'INSERT, SELECT, UPDATE' + ) has_priviledge + WHERE EXISTS( + SELECT has_schema_privilege('pgagent', 'USAGE') + WHERE EXISTS( + SELECT cl.oid FROM pg_class cl + LEFT JOIN pg_namespace ns ON ns.oid=relnamespace + WHERE relname='pga_job' AND nspname='pgagent' + ) + ) + """ + pg_cursor.execute(SQL) + result = pg_cursor.fetchone() + if result is None: + connection.close() + message = "Make sure pgAgent is installed properly." + return False, message + + SQL = """ + SELECT EXISTS( + SELECT 1 FROM information_schema.columns + WHERE + table_schema='pgagent' AND table_name='pga_jobstep' AND + column_name='jstconnstr' + ) has_connstr + """ + pg_cursor.execute(SQL) + result = pg_cursor.fetchone() + if result is None: + connection.close() + message = "Make sure pgAgent is installed properly." + return False, message + + connection.close() + return True, None + except Exception: + traceback.print_exc(file=sys.stderr) + + +def create_pgagent_job(self, name): + """ + This function create the pgAgent job. + """ + try: + connection = utils.get_db_connection( + self.server['db'], + self.server['username'], + self.server['db_password'], + self.server['host'], + self.server['port'], + self.server['sslmode'] + ) + old_isolation_level = connection.isolation_level + connection.set_isolation_level(0) + pg_cursor = connection.cursor() + pg_cursor.execute( + """ + INSERT INTO pgagent.pga_job( + jobjclid, jobname, jobdesc, jobhostagent, jobenabled + ) VALUES ( + 1::integer, '{0}'::text, ''::text, ''::text, true + ) RETURNING jobid; + """.format(name) + ) + job_id = pg_cursor.fetchone() + connection.set_isolation_level(old_isolation_level) + connection.commit() + connection.close() + return job_id[0] + except Exception: + traceback.print_exc(file=sys.stderr) + + +def delete_pgagent_job(self): + """ + This function deletes the pgAgent job. + """ + try: + connection = utils.get_db_connection( + self.server['db'], + self.server['username'], + self.server['db_password'], + self.server['host'], + self.server['port'], + self.server['sslmode'] + ) + old_isolation_level = connection.isolation_level + connection.set_isolation_level(0) + pg_cursor = connection.cursor() + pg_cursor.execute( + "DELETE FROM pgagent.pga_job " + "WHERE jobid = '%s'::integer;" % self.job_id + ) + connection.set_isolation_level(old_isolation_level) + connection.commit() + connection.close() + except Exception: + traceback.print_exc(file=sys.stderr) + + +def verify_pgagent_job(self): + """ + This function deletes the pgAgent job. + """ + try: + connection = utils.get_db_connection( + self.server['db'], + self.server['username'], + self.server['db_password'], + self.server['host'], + self.server['port'], + self.server['sslmode'] + ) + pg_cursor = connection.cursor() + pg_cursor.execute( + "SELECT COUNT(*) FROM pgagent.pga_job " + "WHERE jobid = '%s'::integer;" % self.job_id + ) + result = pg_cursor.fetchone() + count = result[0] + connection.close() + return count is not None and int(count) != 0 + except Exception: + traceback.print_exc(file=sys.stderr)