Commit Graph

300 Commits

Author SHA1 Message Date
Akshay Joshi
8c39b10d9c Ensure browser should not be started by Selenium when feature tests are excluded from a test run. Fixes #4442 2019-07-08 17:38:06 +05:30
Akshay Joshi
11a3aa56be Use different folders for pg vs. ppas RE-SQL tests. Fall back to the tests folder without a subdirectory if neither exist. 2019-07-05 14:40:51 +01:00
Khushboo Vashi
954c0d3101 Added logic to provide custom schema name in re_sql test framework. 2019-07-05 15:35:33 +05:30
Murtuza Zabuawala
588e3814d1 Add RE-SQL tests for Roles and Resource Groups. Fixes #4415 2019-07-03 14:38:29 +01:00
Aditya Toshniwal
0340b8fb28 Add EXPLAIN options for SETTINGS and SUMMARY. Fixes #4335
Prevent flickering of large tooltips on the Graphical EXPLAIN canvas. Fixes #4224
EXPLAIN options should be Query Tool instance-specific. Fixes #4395
2019-07-03 13:57:56 +01:00
Aditya Toshniwal
173b812b93 Allow some objects to be dragged/dropped into the Query Tool to insert their signature into the query text. Fixes #4139 2019-06-27 10:30:05 -04:00
Aditya Toshniwal
c39d257bf6 Fix an XSS issue when username contains XSS vulnerable text. Fixes #4386 2019-06-24 16:06:03 +05:30
Dave Page
9dbb74367d Fix regression tests. 2019-06-20 14:02:15 +01:00
Aditya Toshniwal
6e8ebbd375 Allow editing of data where a primary key column includes a % sign in the value. Fixes #4036
Fix an XSS issue seen in View/Edit data mode if a column name includes HTML. Fixes #4367
2019-06-20 12:21:37 +01:00
Akshay Joshi
9e65c971a3 Add a framework for testing reversed engineered SQL and CRUD API endpoints. Fixes #4202 2019-06-18 14:28:25 +01:00
Aditya Toshniwal
3b69f92d70 Ensure strings are properly encoded in the Query History. Fixes #4349 2019-06-14 09:17:02 +01:00
Aditya Toshniwal
23364464c2 Ensure the correct label is used in panel headers when viewing filtered rows. Fixes #4228 2019-06-11 15:11:23 +01:00
Dave Page
6d52f2b911 Initial support for PostgreSQL 12. Fixes #4283. Fixes #4288. Fixes #4290. 2019-06-10 14:24:45 +01:00
Aditya Toshniwal
f561c0cee6 Fix keyboard navigation in "inner" tabsets such as the Query Tool and Debugger. Fixes #4195 2019-06-10 11:10:49 +01:00
Dave Page
2dd075161d Allow the UI layout to be fully locked or to prevent docking changes. Fixes #2653 2019-05-31 11:51:30 -04:00
Aditya Toshniwal
dfa892d2a2 1. Added Master Password to increase the security of saved passwords. Fixes #4184
2. In server(web) mode, update all the saved server credentials when user password is changed. Fixes #3377
2019-05-28 12:00:18 +05:30
Khushboo Vashi
6f0eafb223 Fixed CSRF security vulnerability issue. per Alvin Lindstam. Fixes #4217
Initial patch by: Khushboo Vashi
Modified by: Ashesh Vashi and Murtuza Zabuawala
2019-05-28 10:59:51 +05:30
Usman Muzaffar
dcd163ac02 Feature test stabilisation. 2019-05-23 09:31:52 +01:00
Dave Page
e536408ce2 Don't try to install Chromedriver using the chromedriver_installer module as it no longer works and doesn't seem to be supported. 2019-04-25 09:41:40 +01:00
Usman Muzaffar
5c4c09f237 Fixed feature test issues 2019-04-05 12:25:03 +05:30
Aditya Toshniwal
6fb35f2649 Overhaul the layout saving code so it includes the Query Tool and Debugger, and stores the layout when change events are detected rather than (unreliably) on exit. Fixes #4084 2019-03-26 11:08:45 -04:00
Dave Page
ce073a2856 Fix SQL help for EPAS 10+, and refactor the URL generation code into a testable function. Fixes #4099 2019-03-22 14:09:24 +00:00
Dave Page
b2b5629a01 Fix PEP-8 issues. 2019-03-21 12:58:52 +00:00
Usman Muzaffar
be26fc540c Many fixes to the stability of the feature tests, including:
tree toggle issue
Query tool inteliSence issue eg. when there is only one option and drop down is not shown
Backup and restore windows locator changes
Fixes required due to resolving rm # 4041
Dependent tab not showing data sometime, so refreshed the page and handled it
Due to change of logic for auto commit, did the required changes
Due to fix of RM 4062, did the required workaround which broke the test case.
2019-03-21 12:04:37 +00:00
Khushboo Vashi
b529c28b43 Fix an issue with Python 2.7 where regression test output is printed twice by the logger. 2019-03-20 13:37:19 +00:00
Dave Page
906a4a845e Update pycodestyle to 2.5.0. Allow newer versions so we can catch issues early. 2019-03-20 13:01:32 +00:00
Dave Page
4dcd3e31d8 Fix PEP-8 issue 2019-03-18 11:11:48 +00:00
Khushboo Vashi
1e26b96b12 Another attempt to satisfy Jenkins. 2019-03-18 10:33:20 +00:00
Khushboo Vashi
e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Dave Page
ab9a3a57ad Make the Query Tool history persistent across sessions. Fixes #4017 2019-03-13 13:37:34 +00:00
Aditya Toshniwal
4b895941b3 Remove the large and unnecessary dependency on React and 87 other related libraries. Fixes #4018 2019-03-07 10:51:59 +00:00
Murtuza Zabuawala
36ffdb93e8 Custom-encode forward slashes in URL parameters as Apache HTTPD doesn't allow them in some cases. Fixes #3998 2019-03-01 14:55:25 +00:00
Akshay Joshi
38b034ec3c Add Commit and Rollback buttons to the Query Tool. Fixes #2418 2019-02-22 14:28:05 +00:00
Dave Page
c64373435b Make the Query Tool tab titles more concise and useful. Fixes #3544 2019-02-15 15:09:49 +00:00
Dave Page
1fc66406f5 Don't embed docs and external sites in iframes, to allow the external sites to set X-FRAME-OPTIONS = DENY for security. Fxies #3985 2019-02-12 16:07:38 +00:00
Cyril Jouve
28ce485cd2 requirements.txt simplifications. 2019-02-07 10:34:07 +00:00
Aditya Toshniwal
d2ee5c4e82 1) Fixed jasmine test cases.
2) Bootstarp4 toggle size should be mini for triggers
2019-02-04 17:43:19 +05:30
Aditya Toshniwal
aad7830d37 Dashboard graph optimization. Fixes #3941 2019-02-04 15:39:47 +05:30
Cyril Jouve
cbd8f8236a Remove Python 2.6 code that's now obsolete. Fixes #3935 2019-01-31 13:47:56 +01:00
Aditya Toshniwal
fcfe0929d3 Ensure that browser should warn before close or refresh. Fixes #3849 2019-01-23 11:57:36 +05:30
Murtuza Zabuawala
e27c2c421e Update chromedriver. 2019-01-22 16:11:01 +00:00
Harshal Dhumal
f731ab730b Fixed keyboard navigation for dialog tabs. Fixes #3862 2019-01-22 16:28:32 +05:30
Aditya Toshniwal
dec43d98dc Fixed execution time to show Hours part for long running queries in Query Tool. Fixes #3475 2019-01-16 12:57:52 +05:30
Aditya Toshniwal
7ac4e2a9d9 Fixed following issues:
- Process watcher made fixed width with header changes, time details rounded to 2 decimals
 - Query history will show "No query history" if no query fired. Query editor default size increased.
 - Fixed a bug where New folder create button not working when in List mode and No files/folder present.
 - Other minor improvements.
2019-01-16 11:55:08 +05:30
Aditya Toshniwal
a8167f0a72 Fix Jasmine tests. 2019-01-10 15:02:51 +05:30
Dave Page
598f69b63d Improve wording. 2019-01-03 15:24:47 +00:00
Murtuza Zabuawala
e23d307c56 Update copyright notices for 2019 2019-01-02 15:54:12 +05:30
Aditya Toshniwal
86ecf9c84e Fixed following:
- Base font size changed from 0.815rem to 0.875rem, for navbar from 0.875rem to 0.925rem.
- Dialog sizes made consistent throughout the application. Now there are 3 size options for width and height each - sm, md, lg. Combination of any of these to be used hereafter
- Alignment fix for controls of Node properties dialogs which includes showing text and label in one line without dialog size change, checkbox alignment, switch control alignment at places and other minor improvements in other dialogs
- Error message design change in dialogs validation
- SQL Editor data grid editor popup design changes which were missed
- Design change for dashboard server activity grid
- Login page language dropdown color fix
- Properties accordion collapse design fix
- Help, Info icon fixed across all dialogs which were not working if clicked exactly on the text
- Added missing icon with buttons at few places
- Shadow behind the dialogs is increased to make it look clearly separated and depth.
- Control Alignment fix in maintenance dialog
- Min height of alertify dialogs set for better UX
- File dialog design fix when no files found
- Grant wizard fixes - Scroll bar visibility on first page, use full space for SQL generated on the last page
- Browser toolbar buttons changed to sync with SQL editor toolbar buttons
- Rounded corners for docker floating dialog (no properties)
- Renaming file in file dialog should show original file name
- SQL data grid text edit popup buttons behaviour was swapped. This is fixed.
- Import/Export dialog changes as per new design.
2019-01-02 15:07:59 +05:30
Ashesh Vashi
5799ac14ba Improvement in the look and feel of the whole application
Changed the SCSS/CSS for the below third party libraries to adopt the
new look 'n' feel:
- wcDocker
- Alertify dialogs, and notifications
- AciTree
- Bootstrap Navbar
- Bootstrap Tabs
- Bootstrap Drop-Down menu
- Backgrid
- Select2

Adopated the new the look 'n' feel for the dialogs, wizard, properties,
tab panels, tabs, fieldset, subnode control, spinner control, HTML
table, and other form controls.

- Font is changed to Roboto
- Using SCSS variables to define the look 'n' feel
- Designer background images for the Login, and Forget password pages in
  'web' mode
- Improved the look 'n' feel for the key selection in the preferences
  dialog
- Table classes consistency changes across the application
- File Open and Save dialog list view changes

Author(s): Aditya Toshniwal & Khushboo Vashi
2018-12-21 17:14:55 +05:30
Murtuza Zabuawala
f4f0fa0e47 Fix utility route check for Windows. 2018-12-04 10:46:59 +00:00
Murtuza Zabuawala
9a3047c89c Add API tests for utility check route. Fixes #3790 2018-11-30 09:56:41 +00:00
Khushboo Vashi
f17979141c Add support for dropping multiple objects at once from the collection Properties panel. Fixes #1513 2018-10-31 10:30:37 +00:00
Akshay Joshi
6bc6bc7f60 Ensure that Utilities(Backup/Restore/Maintenence/Import-Export) should not be started
if binary path is wrong and also added 'Stop Process' button to cancel the process.
2018-10-22 12:35:53 +05:30
Aditya Toshniwal
6fa6939f52 Additional feature test fixes:
1) Changes required for working with Bootstrap 4.
2) Change to fix the timeout exception when waiting for element (tested multiple times on multiple server, did not occur to me thereafter)
3) Removed reset layout after each test case. Instead, delete the layout entry from sqlite db file and do a plain refresh. This will save some time and will also remove dependency on reset layout menu.
4) Disables tree state saving when feature test run starts. Feature tests got confused with auto expanding tree.
2018-10-17 11:50:22 +01:00
Aditya Toshniwal
0565f8dd78 Update to use Bootstrap 3 instead of Bootstrap 4. Fixes #3562 2018-10-10 12:43:26 +01:00
Murtuza Zabuawala
0f1651686b Code refactoring:
- Move the duplicate code for closing the background process dialog into 'test_gui_helper.py',
- Simplify the logic by removing the duplicate steps to insert/update binary paths for each server type from 'test_utils.py'.
2018-10-08 11:09:30 +01:00
Khushboo Vashi
528ea88dec Save the treeview state periodically, and restore it automatically when reconnecting. Fixes #1253 2018-10-08 10:03:19 +01:00
Akshay Joshi
4010dc80a9 Ensure auto-complete works for objects in schemas other than public and pg_catalog. Fixes #3630 2018-09-11 12:56:14 +01:00
Aditya Toshniwal
a74b9c96c1 Add optional data point markers and mouse-over tooltips to display values on graphs. Fixes #3514
Ensure queries are no longer executed when dashboards are closed. Fixes #3576
2018-09-05 17:25:11 +01:00
Dave Page
6e54a13ba2 Update test cases to match style changes 2018-09-04 12:04:57 +01:00
Xuri Gong
89e283fbc2 Add a geometry viewer that can render PostGIS data on a blank canvas or various map sources. Fixes #1407 2018-08-30 13:59:44 +01:00
Usman Muzaffar
70c95fcdd5 Stabilise feature tests for continuous running on CI systems. Fixes #3136. 2018-08-21 17:39:36 +05:30
Khushboo Vashi
2d1e835d32 Fix panel errors seen when click on partitions. 2018-07-23 14:33:40 +01:00
Aditya Toshniwal
2b9c0a63fb Ensure CodeMirror always has a non-zero font size. Fixes #3480 2018-07-10 13:58:44 +01:00
Khushboo Vashi
81312d17e2 Add feature tests for Backup/Restore and Maintenance. Fixes #3206 2018-07-09 11:27:25 +01:00
Akshay Joshi
2b20b387e2 Add support for Trigger and JIT stats in the graphical query plan viewer. Fixes #3397 2018-07-06 13:13:14 +01:00
Aditya Toshniwal
73530c05aa Add missing files related to previous commit: Infrastructure and changes to the Query Tool for realtime preference handling. Refs #3294 2018-07-05 11:41:01 +01:00
Aditya Toshniwal
bdb7e3fde2 Infrastructure and changes to the Query Tool for realtime preference handling. Refs #3294
Highlights of this patch include:
- Changes will affect SQL Editors in Create dialog boxes, SQL tab of the main screen, Query tool, History entries in the query tool, Query tool opened in New Tab/Window
- All the components of SQL editor will refer to single source of preferences which is cached in the Browser object. All other redundant ajax get preference calls are removed.
- SQL editor will not refer template JS variables anymore, once all the references are removed the template variables will also be removed.
- Code refactoring wherever possible.
- Covered JS test cases wherever possible.
2018-07-05 11:38:43 +01:00
Murtuza Zabuawala
d53c47e1cf Cleanup and fix handling of Query Tool Cancel button status. Fixes #3319 2018-07-02 15:43:36 +01:00
Murtuza Zabuawala
b390c033cf Fix debugging of procedures in EPAS packages. Fixes #3457 2018-06-29 15:20:33 +01:00
Khushboo Vashi
fb1ef9ac0b Properly support backups in Directory format. Fixes #3309 2018-06-29 15:14:37 +01:00
Dave Page
21fd953672 PEP-8 fix 2018-06-27 16:55:57 +01:00
Shubham Agarwal
ec476d6274 Feature test reliability improvements:
1. click_tab() -> Added wait till element is clickable, test cases are failing since the function attempts to click the tab which is not yet in the state to be clicked.

2. add_server() -> Replaced the sleep statement with wait till element to be clickable.
2018-06-27 16:40:03 +01:00
Aditya Toshniwal
df85392bbf Fix handling of SQL_ASCII data in the query tool. Fixes #3289. Fixes #3250 2018-06-21 08:26:01 -04:00
Khushboo Vashi
d1902cd639 Add Python API tests for execution of external utilities such as pg_dump. 2018-06-15 11:36:07 +01:00
Akshay Joshi
b48145f01f Add an option to auto-complete keywords in upper case. Fixes #2686 2018-06-15 10:18:56 +01:00
Joao De Almeida Pereira
7dd6372eeb Extract the tests and refactor some of the methods.
Extract some of the ACI Tree functionalities, and decouple it from the
main source. Also - create some abstractions from the repeated code
around the enable/disable the schema children object create/edit/delete
functionalities, and also created the dialog wrappers for backup and
restore dialogs.

Reviewed by: Khushboo and Ashesh
Refactored by: Ashesh
2018-06-05 16:42:59 +05:30
Akshay Joshi
38ee39ae7a Add support for LISTEN/NOTIFY in the query tool. Fixes #3204 2018-05-30 21:58:28 -04:00
Aditya Toshniwal
9f13865777 Update jQuery to 3.3.1. Fixes #3271
Patch by Aditya, with test enhancements from Anthony and Joao at Pivotal.
2018-05-25 16:26:37 +01:00
Akshay Joshi
ccf58570b1 Support running feature tests against Firefox. Fixes #3270 2018-05-15 15:10:11 +01:00
Joao De Almeida Pereira
bc4d16eb83 Initial version of the new tree implementation.
This is the first version of our Tree implementation. At this point is a
very simple tree without no abstractions and with code that eventually
is not very performant, but this is only the first iteration and we are
trying to follow the 'Last Responsible Moment Principle' [1].

Implemention details:
- Creation of PGBrowser.treeMenu
- Initial version of the Tree Adaptor 'pgadmin/static/js/tree/tree.js'
- TreeFake test double that can replace the Tree for testing purposes
- Tests, As an interesting asside because Fake’s need to behave like
  the real object you will noticed that there are tests for this type
  of double and they the same as of the real object.

[1] https://medium.com/@aidanjcasey/guiding-principles-for-an-evolutionary-software-architecture-b6dc2cb24680

Patched by: Victoria && Joao
Reviewed by: Khushboo & Ashesh
2018-05-14 18:00:23 +05:30
Dave Page
8937375885 Standardise the error handling for parsing of JSON response messages from the server. Fixes #3238 2018-05-04 16:56:15 +01:00
Akshay Joshi
b7fb01ab04 Add support for SSH tunneled connections. Fixes #1447 2018-05-04 11:27:27 +01:00
Murtuza Zabuawala
455c45ea85 Update chromedriver version to support Chrome 66. 2018-05-04 10:20:14 +01:00
Dave Page
59d8f6fb84 Allow feature tests to run in Chrome headless mode. 2018-05-02 16:51:17 +01:00
Khushboo Vashi
732d8d903d F5 key should work to refresh Browser tree. Fixes #3284
Refactoring by:  Joao Pedro De Almeida Pereira
2018-05-02 11:43:42 +05:30
Ashesh Vashi
c94439bf8e Fixed the issues for all the javascript files reported by the liner. 2018-04-30 17:51:57 +05:30
Murtuza Zabuawala
f5e474e4ec Ensure the query tool will open properly under MS Edge. 2018-04-10 11:09:59 +01:00
Murtuza Zabuawala
fa1854bd85 Allow sorting when viewing/editing data. Fixes #1894 2018-04-05 16:25:17 +01:00
Murtuza Zabuawala
b7c86da586 Fix requirements for Python 2.6. 2018-04-04 12:26:44 +01:00
Murtuza Zabuawala
a705fb46a8 Refactor and simplify query tool connection error handling code. Fixes #3235 2018-04-04 11:20:36 +01:00
Murtuza Zabuawala
be055ce57d Update Python and JS modules. Fixes #3154 2018-04-04 10:47:01 +01:00
Khushboo Vashi
7805170783 Add the ability to enable/disable UI animations. Fixes #1978 2018-04-03 14:52:13 +01:00
Joao Pedro De Almeida Pereira
94e1e46201 Show more granular timing info in the query tool history panel. Fixes #3244 2018-04-03 14:11:11 +01:00
Akshay Joshi
637f3b9d1a Fix a number of broken connection detection scenarios. 2018-03-21 08:38:18 +00:00
Khushboo Vashi
534f1f35fe Appropriately set the cookie path. Fixes #3197 2018-03-19 17:09:19 +00:00
Murtuza Zabuawala
34f1ebc88e Ensure the host parameter is correctly pickup up from the service file. Fixes #3200 2018-03-19 12:38:44 +00:00
Murtuza Zabuawala
9ea118ca57 Ensure the file manager properly escapes file & directory names. Fixes #3196 2018-03-19 10:58:12 +00:00
Murtuza Zabuawala
48319d56df Update required ChromeDriver version for current versions of Chrome. Fixes #3219
This requires an update to build/test envs:

pip uninstall chromedriver_installer
pip install -r regression/requirements.txt
2018-03-19 10:05:41 +00:00
Joao Pedro De Almeida Pereira
3c4359270e Fix trim function which was causing some JS errors during Server Properties validation. Victoria & Joao 2018-03-14 17:58:01 -04:00