Re: [pgAdmin4][Patch] Feature #3270 Add support for running regression tests against Firefox

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
Cc: Anthony Emengo <aemengo(at)pivotal(dot)io>, Joao De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][Patch] Feature #3270 Add support for running regression tests against Firefox
Date: 2018-05-10 08:33:17
Message-ID: CA+OCxoyfdA-Tst=oVt5e7Haim8tqdb_Z-6gM7VZ5qMd=aFn+OA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Wed, May 9, 2018 at 2:55 PM, Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
wrote:

> Hi
>
> On Wed, May 9, 2018 at 6:19 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>> Hi
>>
>> On Wed, May 9, 2018 at 8:10 AM, Akshay Joshi <
>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>
>>> Thanks Anthony for fixing those two test cases. I have verified it and
>>> patch looks good to me.
>>> Attached is the modified patch where I have remove "import time" which
>>> is not required and update the retry message from 10 to 60.
>>>
>>> To be honest I have seen some intermittent "Timeout" issues on *Chrome*
>>> and *FireFox *and those issues are not consistent for any particular
>>> test case.
>>>
>>> @Hackers, Please review it and if it looks good then commit it.
>>>
>>
>> I seem to be getting the following failures consistently (screenshots
>> attached):
>>
>> ======================================================================
>> ERROR: runTest (pgadmin.feature_tests.pg_data
>> type_validation_test.PGDataypeFeatureTest)
>> Test checks for PG data-types output
>> ----------------------------------------------------------------------
>> Traceback (most recent call last):
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_datatype_validation_test.py",
>> line 135, in runTest
>> self._check_datatype()
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_datatype_validation_test.py",
>> line 169, in _check_datatype
>> "contains(.,'{}')]".format(batch['datatype'][0])
>> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>> ges/selenium/webdriver/support/wait.py", line 80, in until
>> raise TimeoutException(message, screen, stacktrace)
>> TimeoutException: Message:
>>
>
> This is the intermittent issue I was highlighted in my previous
> email.
>

Right - except I'm getting it consistently, on every run I've done.

>
>>
>> ======================================================================
>> FAIL: runTest (pgadmin.feature_tests.xss_che
>> cks_file_manager_test.CheckFileManagerFeatureTest)
>> Tests to check if File manager is vulnerable to XSS
>> ----------------------------------------------------------------------
>> Traceback (most recent call last):
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/xss_checks_file_manager_test.py",
>> line 60, in runTest
>> self._open_file_manager_and_check_xss_file()
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/xss_checks_file_manager_test.py",
>> line 110, in _open_file_manager_and_check_xss_file
>> 'File manager'
>> File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/xss_checks_file_manager_test.py",
>> line 117, in _check_escaped_characters
>> ) != -1, "{0} might be vulnerable to XSS ".format(source)
>> AssertionError: File manager might be vulnerable to XSS
>>
>
> I have removed Anthony's patch and added time.sleep(0.05) before and
> after reading the content from the file.
>

That part works now; however, Anthony's method is the more correct way to
handle this. Is the issue with his patch that waiting for the element to
load isn't enough, and we have to wait for it to load *and* for something
else to become active or dynamically load? In other words, are we waiting
for the right thing?

>
>> ----------------------------------------------------------------------
>> Ran 11 tests in 475.292s
>>
>> FAILED (failures=1, errors=1)
>>
>> ======================================================================
>> Test Result Summary
>> ======================================================================
>>
>> Regression - PG 9.4:
>>
>> 9 tests passed
>> 2 tests failed:
>> CheckFileManagerFeatureTest (Tests to check if File manager is vulnerable
>> to XSS)
>> PGDataypeFeatureTest (Test checks for PG data-types output)
>> 0 tests skipped
>>
>> ======================================================================
>>
>> Please check output in file: /Users/dpage/git/pgadmin4/web/
>> regression/regression.log
>>
>> make: *** [check-feature] Error 1
>>
>>
>
> Attached is the modified patch with all test cases passed on my
> machine. I have tried couple of times (refer the attached screenshot).
>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>
>
> --
> *Akshay Joshi*
>
> *Sr. Software Architect *
>
>
>
> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*
>

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

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

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message pgAdmin 4 Jenkins 2018-05-10 08:41:25 Jenkins build is back to normal : pgadmin4-master-python33 #607
Previous Message pgAdmin 4 Jenkins 2018-05-10 08:30:20 Jenkins build is back to normal : pgadmin4-master-python36 #600