Subject: [pgadmin4][Patch]: Feature #3273 Add ability to sort in the Select File window when opening a saved query

From: Akshay Joshi <[email-masked]>
Date: Wed, 20 Jun 2018 19:43:49 +0530

Hi Hackers,

Attached is the patch for Feature #3273 Add ability to sort in the Select
File window when opening a saved query.

I haven't seen any refactoring possibility, patch contains feature test
with *time.sleep(0.05). *I have spend lot of time to not introduce
"time.sleep()" and tried couple of different ways of WebDriveWait, but
didn't get success.

Please review it.

-- 
*Akshay Joshi*

*Sr. Software Architect *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

---

From: Dave Page <[email-masked]>
Date: Thu, 21 Jun 2018 01:50:52 +0100

Hi

On Wed, Jun 20, 2018 at 3:13 PM, Akshay Joshi <[email-masked]
> wrote:

> "time.sleep()" and tried couple of different ways of WebDriveWait, but

I get the following running the feature tests:

invalid syntax (xss_checks_file_manager_test.py, line 60)

make: *** [check-feature] Error 1

Also; should that file be renamed now, to reflect that it tests more than
just XSS?

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

---

From: Akshay Joshi <[email-masked]>
Date: Thu, 21 Jun 2018 10:57:18 +0530

On Thu, Jun 21, 2018 at 6:20 AM, Dave Page <[email-masked]> wrote:

> Hi
>
> On Wed, Jun 20, 2018 at 3:13 PM, Akshay Joshi <
> [email-masked]> wrote:
>
>> Hi Hackers,
>>
>    Fixed.

> Also; should that file be renamed now, to reflect that it tests more than

    Done. Attached is the modified patch.

-- 
*Akshay Joshi*

---

From: Dave Page <[email-masked]>
Date: Thu, 21 Jun 2018 19:27:06 +0100

Hi

On Thu, Jun 21, 2018 at 6:27 AM, Akshay Joshi <[email-masked]

>>> Attached is the patch for Feature #3273 Add ability to sort in the
>>> Select File window when opening a saved query.
>>>

This seems to work for the most part, however, when sorting on the Modified
column, it is sorting alphabetically, not by date. This doesn't seem like
it's what users would expect.

---

From: Akshay Joshi <[email-masked]>
Date: Fri, 22 Jun 2018 11:09:13 +0530

On Thu, Jun 21, 2018 at 11:57 PM, Dave Page <[email-masked]> wrote:

> Hi
>
> On Thu, Jun 21, 2018 at 6:27 AM, Akshay Joshi <
>>> Also; should that file be renamed now, to reflect that it tests more
>>> than just XSS?
>>>
>>
> This seems to work for the most part, however, when sorting on the
> Modified column, it is sorting alphabetically, not by date. This doesn't
> seem like it's what users would expect.
>

    Attached is the modified patch with the above fix.

-- 
*Akshay Joshi*

---

From: Dave Page <[email-masked]>
Date: Mon, 25 Jun 2018 12:13:59 +0100

Hi

On Fri, Jun 22, 2018 at 6:39 AM, Akshay Joshi <[email-masked]

>>>>> I haven't seen any refactoring possibility, patch contains feature
>>>>> test with *time.sleep(0.05). *I have spend lot of time to not
>>>>> introduce "time.sleep()" and tried couple of different ways of
>>>>> WebDriveWait, but didn't get success.
>>>>>
>>>>> Please review it.
>>>>>
>>>>
I'm seeing the following failure pretty consistently:

======================================================================

ERROR: runTest
(pgadmin.feature_tests.file_manager_test.CheckFileManagerFeatureTest)

File manager feature test

----------------------------------------------------------------------

Traceback (most recent call last):

  File
"/Users/dpage/git/pgadmin4/web/regression/feature_utils/base_feature_test.py",
line 66, in tearDown

    self.after()

  File
"/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/file_manager_test.py",
line 48, in after

    self.page.close_query_tool('sql', False)

  File
"/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
line 104, in close_query_tool

    "//li[contains(@class, 'context-menu-item')]/span[contains(text(),"

  File
"/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
line 171, in find_by_xpath

    lambda driver: driver.find_element_by_xpath(xpath)

  File
"/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
line 263, in wait_for_element

    return self._wait_for("element to exist", element_if_it_exists)

  File
"/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
line 337, in _wait_for

    "Timed out waiting for " + waiting_for_message

  File
"/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/selenium/webdriver/support/wait.py",
line 80, in until

    raise TimeoutException(message, screen, stacktrace)

selenium.common.exceptions.TimeoutException: Message: Timed out waiting for
element to exist

---

From: Akshay Joshi <[email-masked]>
Date: Mon, 25 Jun 2018 16:53:25 +0530

On Mon, Jun 25, 2018 at 4:43 PM, Dave Page <[email-masked]> wrote:

> Hi
>
> On Fri, Jun 22, 2018 at 6:39 AM, Akshay Joshi <
> ERROR: runTest (pgadmin.feature_tests.file_manager_test.
> CheckFileManagerFeatureTest)
>
>   File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/base_feature_test.py",
> line 66, in tearDown
>
>     self.after()
>
>   File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/file_manager_test.py",
> line 48, in after
>
>   File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
>   File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
>   File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
>   File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
> line 337, in _wait_for
>
>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-
> packages/selenium/webdriver/support/wait.py", line 80, in until
>
> selenium.common.exceptions.TimeoutException: Message: Timed out waiting
> for element to exist
>
>
   It's a Timed out issue and I haven't faced this on my machine. As per
above traceback it is failing on "self.page.close_query_tool()" which is
not the part of this patch and not reproducible either on my machine.

-- 
*Akshay Joshi*

---

From: Dave Page <[email-masked]>
Date: Mon, 25 Jun 2018 14:41:49 +0100

On Mon, Jun 25, 2018 at 12:23 PM, Akshay Joshi <
[email-masked]> wrote:

>> ERROR: runTest (pgadmin.feature_tests.file_ma
>> nager_test.CheckFileManagerFeatureTest)
>>
>>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packa
>> ges/selenium/webdriver/support/wait.py", line 80, in until
>>

True. I've pushed the patch, and will setup a call to figure out how to
resolve these issues as they are becoming a real pain.