Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-12 Thread Victoria Henry
Hi Khushboo
can you explain a little bit more this while loop?


cnt = 0
while 1:
if cnt > 1:
break
# Check the process list
response1 = self.tester.get('/misc/bgprocess/?_='.format(
random.randint(1, 999)))
self.assertEquals(response1.status_code, 200)
process_list = json.loads(response1.data.decode('utf-8'))

if len(process_list) > 0 and 'execution_time' in process_list[0]:
break
time.sleep(0.5)
cnt += 1

>From what it looks like this will only run twice, maybe a for would be a
better solution because we know it will only run twice. Also are we sure we
only want it to run twice?

We are using PyCharm to do our developments and we notice there are a big
group of unused variables throughout. We should remove them if they are not
needed. Not sure if your editor also shows that information or not.
Do you know if there is a configuration in pycodestyle to enable the check
for unused variables? That would help a lot.

The code

assert 'execution_time' in process_list[0]
assert 'stime' in process_list[0]
assert 'exit_code' in process_list[0]
assert process_list[0]['exit_code'] in self.expected_exit_code

in test_Create_restore_job should use self.assertEqual or similar from
unittest instead of plain assert. Because when something fails we do not
have a way to understand what was wrong.
The tests on the restore are still failing GreenPlum.
​



Thanks
Victoria & Joao

On Tue, Jun 12, 2018 at 6:44 AM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Please find the attached updated patch with some code cleanup.
>
> On Tue, Jun 12, 2018 at 3:54 PM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>> Hi,
>>
>> Please find the attached patch excluding feature test cases.
>> Python test cases are working fine, so we can commit this patch. I am
>> working on fixing the feature tests which are failing on the different
>> window sizes.
>>
>> Thanks,
>> Khushboo
>>
>> On Fri, Jun 8, 2018 at 2:38 PM, Dave Page  wrote:
>>
>>> Hi
>>>
>>> On Fri, Jun 8, 2018 at 6:33 AM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
 Hi Dave,

 As per our discussion I have changed the window size to 1280X800,
 before it was 1280X900.
 Please find the attached updated patch

>>>
>>> I'm not sure that actually made any difference on my system. The window
>>> continued to look taller than it is wide, so I wonder if the code to set
>>> the size is being ignored, or is at the wrong place?
>>>
>>> Anyway, I got 10 failures with this patch :-(
>>>
>>> ==
>>>
>>> ERROR: runTest
>>> (pgadmin.feature_tests.pg_utilities_backup_restore_test.PGUtilitiesBackupFeatureTest)
>>>
>>> Test for PG utilities - Backup and Restore
>>>
>>> --
>>>
>>> Traceback (most recent call last):
>>>
>>>   File
>>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py",
>>> line 97, in runTest
>>>
>>> self.page.find_by_xpath("//div[contains(@class,'wcFloatingFocus')"
>>>
>>>   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/python2.7/site-packages/selenium/webdriver/support/wait.py",
>>> line 80, in until
>>>
>>> raise TimeoutException(message, screen, stacktrace)
>>>
>>> TimeoutException: Message: Timed out waiting for element to exist
>>>
>>>
>>>
>>> ==
>>>
>>> ERROR: runTest
>>> (pgadmin.feature_tests.xss_checks_pgadmin_debugger_test.CheckDebuggerForXssFeatureTest)
>>>
>>> Tests to check if Debugger is vulnerable to XSS
>>>
>>> --
>>>
>>> Traceback (most recent call last):
>>>
>>>   File
>>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/xss_checks_pgadmin_debugger_test.py",
>>> line 42, in runTest
>>>
>>> self._function_node_expandable()
>>>
>>>   File
>>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/xss_checks_pgadmin_debugger_test.py",
>>> line 57, in _function_node_expandable
>>>
>>> self.page.select_tree_item("a_test_function()")
>>>
>>>   File
>>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
>>> line 135, in select_tree_item
>>>
>>> "' and @class='aciTreeItem']").click()
>>>
>>>   File
>>> 

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-05 Thread Khushboo Vashi
Hi Victoria,

As per the logs, Restore job is failing only for GPDB. As I don't have
setup for the greenplum database, can you please check this functionality
works well in pgAdmin4 with GPDB?

Thanks,
Khushboo

On Wed, Jun 6, 2018 at 5:13 AM, Victoria Henry  wrote:

> Hi Khushboo
>
> The tests are still failing and seems flaky:
> https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/
> pipelines/pgadmin-patch/jobs/run-tests/builds/113
>
> Sincerely,
>
> Victoria
>
> On Tue, Jun 5, 2018 at 4:50 AM Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>>
>>
>> On Tue, Jun 5, 2018 at 2:09 PM, Dave Page  wrote:
>>
>>>
>>>
>>> On Tue, Jun 5, 2018 at 9:37 AM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>


 On Tue, Jun 5, 2018 at 1:36 PM, Dave Page  wrote:

> Hi
>
> On Tue, Jun 5, 2018 at 4:39 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>>
>>
>> On Mon, Jun 4, 2018 at 8:41 PM, Joao De Almeida Pereira <
>> jdealmeidapere...@pivotal.io> wrote:
>>
>>> Hi Khushboo,
>>>
>>> Some tests are failing in greenplum:
>>> https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/
>>> pipelines/pgadmin-patch/jobs/run-tests/builds/108
>>> The piece of code responsible for the error is:
>>>
>>> if server['default_binary_paths'] is not None:
>>> test_utils.set_preference(server['default_binary_paths'])
>>>
>>> config.DEFAULT_BINARY_PATHS = {
>>> "pg": str(server['default_binary_paths']['pg']),
>>> "ppas": str(server['default_binary_paths']['ppas']),
>>> "gpdb": ""
>>> }
>>>
>>>
>>> Can you send me the test_config.json file?  The above code sets the
>> paths to the SQLite database and through the logs couldn't figure out the
>> exact failure.
>>
>
> It seems clear from the code shown that it's not setting the binary
> paths for gpdb database servers. Shouldn't it be something like:
>
> config.DEFAULT_BINARY_PATHS = {
> "pg": str(server['default_binary_paths']['pg']),
> "ppas": str(server['default_binary_paths']['ppas']),
> "gpdb": str(server['default_binary_paths']['gpdb'])
> }
>
> Without this code, the test cases should work as I already set  paths
 through below code.

 test_utils.set_preference(server['default_binary_paths'])


>>> In that case, why is the code above required at all?
>>>
>>> My bad. Removed this code and also updated set_preference function for
>> greenplum database.
>> Please find the attached updated patch.
>>
>>>
>>>

>
>> test_backup_utils.py file name is misleading, these are not tests,
>>> are helpers.
>>> ​
>>>
>>>
>>> Thanks
>>> Victoria & Joao
>>>
>>> On Mon, Jun 4, 2018 at 1:36 AM Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>


 On Sat, Jun 2, 2018 at 3:01 AM, Dave Page 
 wrote:

> Hi
>
> This looks good, except that it's leaving the
> test_restore_database behind. Can we clean that up please?
>
> PFA updated patch.

> Thanks.
>
> On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>> Hi Victoria,
>>
>> Thanks for reviewing the patch.
>> The tests were failing due to the latest commit #
>> 2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
>> backup/restore/maintenance work via SSH tunnels. Fixes #3355
>>
>> I have fixed the issues and attached the updated patch.
>>
>> Thanks,
>> Khushboo
>>
>> On Thu, May 31, 2018 at 10:00 PM, Victoria Henry <
>> vhe...@pivotal.io> wrote:
>>
>>> Hi there,
>>>
>>> We've been noticing some issues with the tests on both our CI
>>> and local Mac workstations.
>>>
>>>1. When the following code blocks are invoked - we get
>>>plenty of app.context() issues. It must not be valid when
>>>running tests.
>>>
>>> ​
>>>
>>> from pgadmin.utils.driver import get_driver
>>> driver = get_driver(PG_DEFAULT_DRIVER)
>>> manager = driver.connection_manager(self.sid)
>>>
>>> host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
>>> port = manager.local_bind_port if manager.use_ssh_tunnel else s.port
>>>
>>> 2. When we finally enable
>>>
>>> "default_binary_paths": {
>>>
>>> in our test_config, we get more failing tests that look like:
>>>
>>> ==
>>> FAIL: runTest 
>>> 

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-05 Thread Victoria Henry
Hi Khushboo

The tests are still failing and seems flaky:
https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/pipelines/pgadmin-patch/jobs/run-tests/builds/113

Sincerely,

Victoria

On Tue, Jun 5, 2018 at 4:50 AM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

>
>
> On Tue, Jun 5, 2018 at 2:09 PM, Dave Page  wrote:
>
>>
>>
>> On Tue, Jun 5, 2018 at 9:37 AM, Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>>
>>>
>>> On Tue, Jun 5, 2018 at 1:36 PM, Dave Page  wrote:
>>>
 Hi

 On Tue, Jun 5, 2018 at 4:39 AM, Khushboo Vashi <
 khushboo.va...@enterprisedb.com> wrote:

>
>
> On Mon, Jun 4, 2018 at 8:41 PM, Joao De Almeida Pereira <
> jdealmeidapere...@pivotal.io> wrote:
>
>> Hi Khushboo,
>>
>> Some tests are failing in greenplum:
>>
>> https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/pipelines/pgadmin-patch/jobs/run-tests/builds/108
>> The piece of code responsible for the error is:
>>
>> if server['default_binary_paths'] is not None:
>> test_utils.set_preference(server['default_binary_paths'])
>>
>> config.DEFAULT_BINARY_PATHS = {
>> "pg": str(server['default_binary_paths']['pg']),
>> "ppas": str(server['default_binary_paths']['ppas']),
>> "gpdb": ""
>> }
>>
>>
>> Can you send me the test_config.json file?  The above code sets the
> paths to the SQLite database and through the logs couldn't figure out the
> exact failure.
>

 It seems clear from the code shown that it's not setting the binary
 paths for gpdb database servers. Shouldn't it be something like:

 config.DEFAULT_BINARY_PATHS = {
 "pg": str(server['default_binary_paths']['pg']),
 "ppas": str(server['default_binary_paths']['ppas']),
 "gpdb": str(server['default_binary_paths']['gpdb'])
 }

 Without this code, the test cases should work as I already set  paths
>>> through below code.
>>>
>>> test_utils.set_preference(server['default_binary_paths'])
>>>
>>>
>> In that case, why is the code above required at all?
>>
>> My bad. Removed this code and also updated set_preference function for
> greenplum database.
> Please find the attached updated patch.
>
>>
>>
>>>

> test_backup_utils.py file name is misleading, these are not tests,
>> are helpers.
>> ​
>>
>>
>> Thanks
>> Victoria & Joao
>>
>> On Mon, Jun 4, 2018 at 1:36 AM Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>>
>>>
>>> On Sat, Jun 2, 2018 at 3:01 AM, Dave Page  wrote:
>>>
 Hi

 This looks good, except that it's leaving the test_restore_database
 behind. Can we clean that up please?

 PFA updated patch.
>>>
 Thanks.

 On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
 khushboo.va...@enterprisedb.com> wrote:

> Hi Victoria,
>
> Thanks for reviewing the patch.
> The tests were failing due to the latest commit
> #2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
> backup/restore/maintenance work via SSH tunnels. Fixes #3355
>
> I have fixed the issues and attached the updated patch.
>
> Thanks,
> Khushboo
>
> On Thu, May 31, 2018 at 10:00 PM, Victoria Henry <
> vhe...@pivotal.io> wrote:
>
>> Hi there,
>>
>> We've been noticing some issues with the tests on both our CI and
>> local Mac workstations.
>>
>>1. When the following code blocks are invoked - we get plenty
>>of app.context() issues. It must not be valid when running
>>tests.
>>
>> ​
>>
>> from pgadmin.utils.driver import get_driver
>> driver = get_driver(PG_DEFAULT_DRIVER)
>> manager = driver.connection_manager(self.sid)
>>
>> host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
>> port = manager.local_bind_port if manager.use_ssh_tunnel else s.port
>>
>> 2. When we finally enable
>>
>> "default_binary_paths": {
>>
>> in our test_config, we get more failing tests that look like:
>>
>> ==
>> FAIL: runTest 
>> (pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
>> When restore object with option - Miscellaneous
>> --
>> Traceback (most recent call last):
>>   File 
>> "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py",
>>  line 1179, in patched
>> return func(*args, **keywargs)
>>   File 
>> 

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-05 Thread Dave Page
On Tue, Jun 5, 2018 at 9:37 AM, Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

>
>
> On Tue, Jun 5, 2018 at 1:36 PM, Dave Page  wrote:
>
>> Hi
>>
>> On Tue, Jun 5, 2018 at 4:39 AM, Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>>
>>>
>>> On Mon, Jun 4, 2018 at 8:41 PM, Joao De Almeida Pereira <
>>> jdealmeidapere...@pivotal.io> wrote:
>>>
 Hi Khushboo,

 Some tests are failing in greenplum:
 https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/pipelines
 /pgadmin-patch/jobs/run-tests/builds/108
 The piece of code responsible for the error is:

 if server['default_binary_paths'] is not None:
 test_utils.set_preference(server['default_binary_paths'])

 config.DEFAULT_BINARY_PATHS = {
 "pg": str(server['default_binary_paths']['pg']),
 "ppas": str(server['default_binary_paths']['ppas']),
 "gpdb": ""
 }


 Can you send me the test_config.json file?  The above code sets the
>>> paths to the SQLite database and through the logs couldn't figure out the
>>> exact failure.
>>>
>>
>> It seems clear from the code shown that it's not setting the binary paths
>> for gpdb database servers. Shouldn't it be something like:
>>
>> config.DEFAULT_BINARY_PATHS = {
>> "pg": str(server['default_binary_paths']['pg']),
>> "ppas": str(server['default_binary_paths']['ppas']),
>> "gpdb": str(server['default_binary_paths']['gpdb'])
>> }
>>
>> Without this code, the test cases should work as I already set  paths
> through below code.
>
> test_utils.set_preference(server['default_binary_paths'])
>
>
In that case, why is the code above required at all?



>
>>
>>> test_backup_utils.py file name is misleading, these are not tests, are
 helpers.
 ​


 Thanks
 Victoria & Joao

 On Mon, Jun 4, 2018 at 1:36 AM Khushboo Vashi <
 khushboo.va...@enterprisedb.com> wrote:

>
>
> On Sat, Jun 2, 2018 at 3:01 AM, Dave Page  wrote:
>
>> Hi
>>
>> This looks good, except that it's leaving the test_restore_database
>> behind. Can we clean that up please?
>>
>> PFA updated patch.
>
>> Thanks.
>>
>> On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>> Hi Victoria,
>>>
>>> Thanks for reviewing the patch.
>>> The tests were failing due to the latest commit
>>> #2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
>>> backup/restore/maintenance work via SSH tunnels. Fixes #3355
>>>
>>> I have fixed the issues and attached the updated patch.
>>>
>>> Thanks,
>>> Khushboo
>>>
>>> On Thu, May 31, 2018 at 10:00 PM, Victoria Henry 
>>> wrote:
>>>
 Hi there,

 We've been noticing some issues with the tests on both our CI and
 local Mac workstations.

1. When the following code blocks are invoked - we get plenty
of app.context() issues. It must not be valid when running
tests.

 ​

 from pgadmin.utils.driver import get_driver
 driver = get_driver(PG_DEFAULT_DRIVER)
 manager = driver.connection_manager(self.sid)

 host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
 port = manager.local_bind_port if manager.use_ssh_tunnel else s.port

 2. When we finally enable

 "default_binary_paths": {

 in our test_config, we get more failing tests that look like:

 ==
 FAIL: runTest 
 (pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
 When restore object with option - Miscellaneous
 --
 Traceback (most recent call last):
   File 
 "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py", 
 line 1179, in patched
 return func(*args, **keywargs)
   File 
 "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/tests/test_restore_create_job_unit_test.py",
  line 295, in runTest
 self.assertEquals(response.status_code, 200)
 AssertionError: 410 != 200

 And

 When restore object with the sections options ... 2018-05-31 
 12:24:42,988: ERRORpgadmin:illegal environment variable name
 Traceback (most recent call last):
   File 
 "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/__init__.py",
  line 352, in create_restore_job
 manager.export_password_env(p.id)
   File 
 "/Users/pivotal/workspace/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py",
  line 

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-05 Thread Khushboo Vashi
On Tue, Jun 5, 2018 at 1:36 PM, Dave Page  wrote:

> Hi
>
> On Tue, Jun 5, 2018 at 4:39 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>>
>>
>> On Mon, Jun 4, 2018 at 8:41 PM, Joao De Almeida Pereira <
>> jdealmeidapere...@pivotal.io> wrote:
>>
>>> Hi Khushboo,
>>>
>>> Some tests are failing in greenplum:
>>> https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/pipelines
>>> /pgadmin-patch/jobs/run-tests/builds/108
>>> The piece of code responsible for the error is:
>>>
>>> if server['default_binary_paths'] is not None:
>>> test_utils.set_preference(server['default_binary_paths'])
>>>
>>> config.DEFAULT_BINARY_PATHS = {
>>> "pg": str(server['default_binary_paths']['pg']),
>>> "ppas": str(server['default_binary_paths']['ppas']),
>>> "gpdb": ""
>>> }
>>>
>>>
>>> Can you send me the test_config.json file?  The above code sets the
>> paths to the SQLite database and through the logs couldn't figure out the
>> exact failure.
>>
>
> It seems clear from the code shown that it's not setting the binary paths
> for gpdb database servers. Shouldn't it be something like:
>
> config.DEFAULT_BINARY_PATHS = {
> "pg": str(server['default_binary_paths']['pg']),
> "ppas": str(server['default_binary_paths']['ppas']),
> "gpdb": str(server['default_binary_paths']['gpdb'])
> }
>
> Without this code, the test cases should work as I already set  paths
through below code.

test_utils.set_preference(server['default_binary_paths'])


>
>> test_backup_utils.py file name is misleading, these are not tests, are
>>> helpers.
>>> ​
>>>
>>>
>>> Thanks
>>> Victoria & Joao
>>>
>>> On Mon, Jun 4, 2018 at 1:36 AM Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>


 On Sat, Jun 2, 2018 at 3:01 AM, Dave Page  wrote:

> Hi
>
> This looks good, except that it's leaving the test_restore_database
> behind. Can we clean that up please?
>
> PFA updated patch.

> Thanks.
>
> On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>> Hi Victoria,
>>
>> Thanks for reviewing the patch.
>> The tests were failing due to the latest commit
>> #2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
>> backup/restore/maintenance work via SSH tunnels. Fixes #3355
>>
>> I have fixed the issues and attached the updated patch.
>>
>> Thanks,
>> Khushboo
>>
>> On Thu, May 31, 2018 at 10:00 PM, Victoria Henry 
>> wrote:
>>
>>> Hi there,
>>>
>>> We've been noticing some issues with the tests on both our CI and
>>> local Mac workstations.
>>>
>>>1. When the following code blocks are invoked - we get plenty of
>>>app.context() issues. It must not be valid when running tests.
>>>
>>> ​
>>>
>>> from pgadmin.utils.driver import get_driver
>>> driver = get_driver(PG_DEFAULT_DRIVER)
>>> manager = driver.connection_manager(self.sid)
>>>
>>> host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
>>> port = manager.local_bind_port if manager.use_ssh_tunnel else s.port
>>>
>>> 2. When we finally enable
>>>
>>> "default_binary_paths": {
>>>
>>> in our test_config, we get more failing tests that look like:
>>>
>>> ==
>>> FAIL: runTest 
>>> (pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
>>> When restore object with option - Miscellaneous
>>> --
>>> Traceback (most recent call last):
>>>   File 
>>> "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py", 
>>> line 1179, in patched
>>> return func(*args, **keywargs)
>>>   File 
>>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/tests/test_restore_create_job_unit_test.py",
>>>  line 295, in runTest
>>> self.assertEquals(response.status_code, 200)
>>> AssertionError: 410 != 200
>>>
>>> And
>>>
>>> When restore object with the sections options ... 2018-05-31 
>>> 12:24:42,988: ERRORpgadmin:illegal environment variable name
>>> Traceback (most recent call last):
>>>   File 
>>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/__init__.py",
>>>  line 352, in create_restore_job
>>> manager.export_password_env(p.id)
>>>   File 
>>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py",
>>>  line 365, in export_password_env
>>> os.environ[str(env)] = password
>>>   File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/os.py", line 
>>> 675, in __setitem__
>>> self.putenv(key, value)
>>> ValueError: illegal environment variable name
>>> FAIL
>>>
>>> ​
>>>

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-05 Thread Dave Page
Hi

On Tue, Jun 5, 2018 at 4:39 AM, Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

>
>
> On Mon, Jun 4, 2018 at 8:41 PM, Joao De Almeida Pereira <
> jdealmeidapere...@pivotal.io> wrote:
>
>> Hi Khushboo,
>>
>> Some tests are failing in greenplum:
>> https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/pipelines
>> /pgadmin-patch/jobs/run-tests/builds/108
>> The piece of code responsible for the error is:
>>
>> if server['default_binary_paths'] is not None:
>> test_utils.set_preference(server['default_binary_paths'])
>>
>> config.DEFAULT_BINARY_PATHS = {
>> "pg": str(server['default_binary_paths']['pg']),
>> "ppas": str(server['default_binary_paths']['ppas']),
>> "gpdb": ""
>> }
>>
>>
>> Can you send me the test_config.json file?  The above code sets the paths
> to the SQLite database and through the logs couldn't figure out the exact
> failure.
>

It seems clear from the code shown that it's not setting the binary paths
for gpdb database servers. Shouldn't it be something like:

config.DEFAULT_BINARY_PATHS = {
"pg": str(server['default_binary_paths']['pg']),
"ppas": str(server['default_binary_paths']['ppas']),
"gpdb": str(server['default_binary_paths']['gpdb'])
}




> test_backup_utils.py file name is misleading, these are not tests, are
>> helpers.
>> ​
>>
>>
>> Thanks
>> Victoria & Joao
>>
>> On Mon, Jun 4, 2018 at 1:36 AM Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>>
>>>
>>> On Sat, Jun 2, 2018 at 3:01 AM, Dave Page  wrote:
>>>
 Hi

 This looks good, except that it's leaving the test_restore_database
 behind. Can we clean that up please?

 PFA updated patch.
>>>
 Thanks.

 On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
 khushboo.va...@enterprisedb.com> wrote:

> Hi Victoria,
>
> Thanks for reviewing the patch.
> The tests were failing due to the latest commit
> #2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
> backup/restore/maintenance work via SSH tunnels. Fixes #3355
>
> I have fixed the issues and attached the updated patch.
>
> Thanks,
> Khushboo
>
> On Thu, May 31, 2018 at 10:00 PM, Victoria Henry 
> wrote:
>
>> Hi there,
>>
>> We've been noticing some issues with the tests on both our CI and
>> local Mac workstations.
>>
>>1. When the following code blocks are invoked - we get plenty of
>>app.context() issues. It must not be valid when running tests.
>>
>> ​
>>
>> from pgadmin.utils.driver import get_driver
>> driver = get_driver(PG_DEFAULT_DRIVER)
>> manager = driver.connection_manager(self.sid)
>>
>> host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
>> port = manager.local_bind_port if manager.use_ssh_tunnel else s.port
>>
>> 2. When we finally enable
>>
>> "default_binary_paths": {
>>
>> in our test_config, we get more failing tests that look like:
>>
>> ==
>> FAIL: runTest 
>> (pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
>> When restore object with option - Miscellaneous
>> --
>> Traceback (most recent call last):
>>   File 
>> "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py", 
>> line 1179, in patched
>> return func(*args, **keywargs)
>>   File 
>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/tests/test_restore_create_job_unit_test.py",
>>  line 295, in runTest
>> self.assertEquals(response.status_code, 200)
>> AssertionError: 410 != 200
>>
>> And
>>
>> When restore object with the sections options ... 2018-05-31 
>> 12:24:42,988: ERRORpgadmin:illegal environment variable name
>> Traceback (most recent call last):
>>   File 
>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/__init__.py",
>>  line 352, in create_restore_job
>> manager.export_password_env(p.id)
>>   File 
>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py",
>>  line 365, in export_password_env
>> os.environ[str(env)] = password
>>   File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/os.py", line 
>> 675, in __setitem__
>> self.putenv(key, value)
>> ValueError: illegal environment variable name
>> FAIL
>>
>> ​
>>
>> Sincerely,
>>
>> Victoria && Anthony
>>
>> On Thu, May 31, 2018 at 1:16 AM Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>> Hi,
>>>
>>> Please find the attached updated patch with the fixes.
>>> The test cases were only failing on MAC not on Linux.
>>>
>>> Thanks,
>>> Khushboo

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-04 Thread Khushboo Vashi
On Mon, Jun 4, 2018 at 8:41 PM, Joao De Almeida Pereira <
jdealmeidapere...@pivotal.io> wrote:

> Hi Khushboo,
>
> Some tests are failing in greenplum:
> https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/
> pipelines/pgadmin-patch/jobs/run-tests/builds/108
> The piece of code responsible for the error is:
>
> if server['default_binary_paths'] is not None:
> test_utils.set_preference(server['default_binary_paths'])
>
> config.DEFAULT_BINARY_PATHS = {
> "pg": str(server['default_binary_paths']['pg']),
> "ppas": str(server['default_binary_paths']['ppas']),
> "gpdb": ""
> }
>
>
> Can you send me the test_config.json file?  The above code sets the paths
to the SQLite database and through the logs couldn't figure out the exact
failure.

> test_backup_utils.py file name is misleading, these are not tests, are
> helpers.
> ​
>
>
> Thanks
> Victoria & Joao
>
> On Mon, Jun 4, 2018 at 1:36 AM Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>>
>>
>> On Sat, Jun 2, 2018 at 3:01 AM, Dave Page  wrote:
>>
>>> Hi
>>>
>>> This looks good, except that it's leaving the test_restore_database
>>> behind. Can we clean that up please?
>>>
>>> PFA updated patch.
>>
>>> Thanks.
>>>
>>> On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
 Hi Victoria,

 Thanks for reviewing the patch.
 The tests were failing due to the latest commit #
 2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
 backup/restore/maintenance work via SSH tunnels. Fixes #3355

 I have fixed the issues and attached the updated patch.

 Thanks,
 Khushboo

 On Thu, May 31, 2018 at 10:00 PM, Victoria Henry 
 wrote:

> Hi there,
>
> We've been noticing some issues with the tests on both our CI and
> local Mac workstations.
>
>1. When the following code blocks are invoked - we get plenty of
>app.context() issues. It must not be valid when running tests.
>
> ​
>
> from pgadmin.utils.driver import get_driver
> driver = get_driver(PG_DEFAULT_DRIVER)
> manager = driver.connection_manager(self.sid)
>
> host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
> port = manager.local_bind_port if manager.use_ssh_tunnel else s.port
>
> 2. When we finally enable
>
> "default_binary_paths": {
>
> in our test_config, we get more failing tests that look like:
>
> ==
> FAIL: runTest 
> (pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
> When restore object with option - Miscellaneous
> --
> Traceback (most recent call last):
>   File 
> "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py", 
> line 1179, in patched
> return func(*args, **keywargs)
>   File 
> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/tests/test_restore_create_job_unit_test.py",
>  line 295, in runTest
> self.assertEquals(response.status_code, 200)
> AssertionError: 410 != 200
>
> And
>
> When restore object with the sections options ... 2018-05-31 
> 12:24:42,988: ERRORpgadmin:illegal environment variable name
> Traceback (most recent call last):
>   File 
> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/__init__.py",
>  line 352, in create_restore_job
> manager.export_password_env(p.id)
>   File 
> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py",
>  line 365, in export_password_env
> os.environ[str(env)] = password
>   File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/os.py", line 
> 675, in __setitem__
> self.putenv(key, value)
> ValueError: illegal environment variable name
> FAIL
>
> ​
>
> Sincerely,
>
> Victoria && Anthony
>
> On Thu, May 31, 2018 at 1:16 AM Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>> Hi,
>>
>> Please find the attached updated patch with the fixes.
>> The test cases were only failing on MAC not on Linux.
>>
>> Thanks,
>> Khushboo
>>
>> On Wed, May 30, 2018 at 10:13 AM, Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>>
>>>
>>> On Wed, May 30, 2018 at 1:05 AM, Dave Page 
>>> wrote:
>>>
 Hi

 On Mon, May 28, 2018 at 8:09 AM, Khushboo Vashi <
 khushboo.va...@enterprisedb.com> wrote:

> Hi,
>
> please find the attached updated patch for the test cases of
> Backup, Restore and Maintenance modules which includes:
>
> 1. Unit test cases
> 2. End to end regression test cases
> 

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-04 Thread Joao De Almeida Pereira
Hi Khushboo,

Some tests are failing in greenplum:
https://gpdb-dev.bosh.pivotalci.info/teams/pgadmin/pipelines/pgadmin-patch/jobs/run-tests/builds/108
The piece of code responsible for the error is:

if server['default_binary_paths'] is not None:
test_utils.set_preference(server['default_binary_paths'])

config.DEFAULT_BINARY_PATHS = {
"pg": str(server['default_binary_paths']['pg']),
"ppas": str(server['default_binary_paths']['ppas']),
"gpdb": ""
}


test_backup_utils.py file name is misleading, these are not tests, are
helpers.
​


Thanks
Victoria & Joao

On Mon, Jun 4, 2018 at 1:36 AM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

>
>
> On Sat, Jun 2, 2018 at 3:01 AM, Dave Page  wrote:
>
>> Hi
>>
>> This looks good, except that it's leaving the test_restore_database
>> behind. Can we clean that up please?
>>
>> PFA updated patch.
>
>> Thanks.
>>
>> On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>> Hi Victoria,
>>>
>>> Thanks for reviewing the patch.
>>> The tests were failing due to the latest commit
>>> #2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
>>> backup/restore/maintenance work via SSH tunnels. Fixes #3355
>>>
>>> I have fixed the issues and attached the updated patch.
>>>
>>> Thanks,
>>> Khushboo
>>>
>>> On Thu, May 31, 2018 at 10:00 PM, Victoria Henry 
>>> wrote:
>>>
 Hi there,

 We've been noticing some issues with the tests on both our CI and local
 Mac workstations.

1. When the following code blocks are invoked - we get plenty of
app.context() issues. It must not be valid when running tests.

 ​

 from pgadmin.utils.driver import get_driver
 driver = get_driver(PG_DEFAULT_DRIVER)
 manager = driver.connection_manager(self.sid)

 host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
 port = manager.local_bind_port if manager.use_ssh_tunnel else s.port

 2. When we finally enable

 "default_binary_paths": {

 in our test_config, we get more failing tests that look like:

 ==
 FAIL: runTest 
 (pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
 When restore object with option - Miscellaneous
 --
 Traceback (most recent call last):
   File 
 "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py", 
 line 1179, in patched
 return func(*args, **keywargs)
   File 
 "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/tests/test_restore_create_job_unit_test.py",
  line 295, in runTest
 self.assertEquals(response.status_code, 200)
 AssertionError: 410 != 200

 And

 When restore object with the sections options ... 2018-05-31 12:24:42,988: 
 ERRORpgadmin:illegal environment variable name
 Traceback (most recent call last):
   File 
 "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/__init__.py", 
 line 352, in create_restore_job
 manager.export_password_env(p.id)
   File 
 "/Users/pivotal/workspace/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py",
  line 365, in export_password_env
 os.environ[str(env)] = password
   File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/os.py", line 
 675, in __setitem__
 self.putenv(key, value)
 ValueError: illegal environment variable name
 FAIL

 ​

 Sincerely,

 Victoria && Anthony

 On Thu, May 31, 2018 at 1:16 AM Khushboo Vashi <
 khushboo.va...@enterprisedb.com> wrote:

> Hi,
>
> Please find the attached updated patch with the fixes.
> The test cases were only failing on MAC not on Linux.
>
> Thanks,
> Khushboo
>
> On Wed, May 30, 2018 at 10:13 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>>
>>
>> On Wed, May 30, 2018 at 1:05 AM, Dave Page  wrote:
>>
>>> Hi
>>>
>>> On Mon, May 28, 2018 at 8:09 AM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
 Hi,

 please find the attached updated patch for the test cases of
 Backup, Restore and Maintenance modules which includes:

 1. Unit test cases
 2. End to end regression test cases
 3. Feature test cases

>>>
>>> Thanks. I've yet to be able to run the feature tests successfully.
>>> Here's what I've found so far:
>>>
>>> 1) DEFAULT_BINARY_PATHS should be default_binary_paths in the JSON
>>> config file.
>>>
>>> Will do.
>>
>>> 2) I've hit screensize related issues:
>>>
>>>
>>> ==
>>>

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-06-01 Thread Dave Page
Hi

This looks good, except that it's leaving the test_restore_database behind.
Can we clean that up please?

Thanks.

On Fri, Jun 1, 2018 at 7:06 AM, Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Hi Victoria,
>
> Thanks for reviewing the patch.
> The tests were failing due to the latest commit #
> 2b4605a9d390cb44e5dfe9967c3adf2b28d04f1f  - Ensure
> backup/restore/maintenance work via SSH tunnels. Fixes #3355
>
> I have fixed the issues and attached the updated patch.
>
> Thanks,
> Khushboo
>
> On Thu, May 31, 2018 at 10:00 PM, Victoria Henry 
> wrote:
>
>> Hi there,
>>
>> We've been noticing some issues with the tests on both our CI and local
>> Mac workstations.
>>
>>1. When the following code blocks are invoked - we get plenty of
>>app.context() issues. It must not be valid when running tests.
>>
>> ​
>>
>> from pgadmin.utils.driver import get_driver
>> driver = get_driver(PG_DEFAULT_DRIVER)
>> manager = driver.connection_manager(self.sid)
>>
>> host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
>> port = manager.local_bind_port if manager.use_ssh_tunnel else s.port
>>
>> 2. When we finally enable
>>
>> "default_binary_paths": {
>>
>> in our test_config, we get more failing tests that look like:
>>
>> ==
>> FAIL: runTest 
>> (pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
>> When restore object with option - Miscellaneous
>> --
>> Traceback (most recent call last):
>>   File 
>> "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py", line 
>> 1179, in patched
>> return func(*args, **keywargs)
>>   File 
>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/tests/test_restore_create_job_unit_test.py",
>>  line 295, in runTest
>> self.assertEquals(response.status_code, 200)
>> AssertionError: 410 != 200
>>
>> And
>>
>> When restore object with the sections options ... 2018-05-31 12:24:42,988: 
>> ERRORpgadmin:illegal environment variable name
>> Traceback (most recent call last):
>>   File 
>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/__init__.py", 
>> line 352, in create_restore_job
>> manager.export_password_env(p.id)
>>   File 
>> "/Users/pivotal/workspace/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py",
>>  line 365, in export_password_env
>> os.environ[str(env)] = password
>>   File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/os.py", line 675, 
>> in __setitem__
>> self.putenv(key, value)
>> ValueError: illegal environment variable name
>> FAIL
>>
>> ​
>>
>> Sincerely,
>>
>> Victoria && Anthony
>>
>> On Thu, May 31, 2018 at 1:16 AM Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>> Hi,
>>>
>>> Please find the attached updated patch with the fixes.
>>> The test cases were only failing on MAC not on Linux.
>>>
>>> Thanks,
>>> Khushboo
>>>
>>> On Wed, May 30, 2018 at 10:13 AM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>


 On Wed, May 30, 2018 at 1:05 AM, Dave Page  wrote:

> Hi
>
> On Mon, May 28, 2018 at 8:09 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>> Hi,
>>
>> please find the attached updated patch for the test cases of Backup,
>> Restore and Maintenance modules which includes:
>>
>> 1. Unit test cases
>> 2. End to end regression test cases
>> 3. Feature test cases
>>
>
> Thanks. I've yet to be able to run the feature tests successfully.
> Here's what I've found so far:
>
> 1) DEFAULT_BINARY_PATHS should be default_binary_paths in the JSON
> config file.
>
> Will do.

> 2) I've hit screensize related issues:
>
> ==
>
> ERROR: runTest (pgadmin.feature_tests.pg_util
> ities_maintenance_test.PGUtilitiesMaintenanceFeatureTest)
>
> Test for PG maintenance: database
>
> --
>
> Traceback (most recent call last):
>
>   File 
> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py",
> line 56, in runTest
>
> self._open_maintenance_dialogue()
>
>   File 
> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py",
> line 75, in _open_maintenance_dialogue
>
> "*[.='" + self.table_name + "']/../*[@class='aciTreeItem'"
>
>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
> ges/selenium/webdriver/remote/webelement.py", line 80, in click
>
> self._execute(Command.CLICK_ELEMENT)
>
>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
> ges/selenium/webdriver/remote/webelement.py", 

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-05-31 Thread Victoria Henry
Hi there,

We've been noticing some issues with the tests on both our CI and local Mac
workstations.

   1. When the following code blocks are invoked - we get plenty of
   app.context() issues. It must not be valid when running tests.

​

from pgadmin.utils.driver import get_driver
driver = get_driver(PG_DEFAULT_DRIVER)
manager = driver.connection_manager(self.sid)

host = manager.local_bind_host if manager.use_ssh_tunnel else s.host
port = manager.local_bind_port if manager.use_ssh_tunnel else s.port

2. When we finally enable

"default_binary_paths": {

in our test_config, we get more failing tests that look like:

==
FAIL: runTest 
(pgadmin.tools.restore.tests.test_restore_create_job_unit_test.RestoreCreateJobTest)
When restore object with option - Miscellaneous
--
Traceback (most recent call last):
  File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mock.py",
line 1179, in patched
return func(*args, **keywargs)
  File 
"/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/tests/test_restore_create_job_unit_test.py",
line 295, in runTest
self.assertEquals(response.status_code, 200)
AssertionError: 410 != 200

And

When restore object with the sections options ... 2018-05-31
12:24:42,988: ERRORpgadmin:illegal environment variable name
Traceback (most recent call last):
  File 
"/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/__init__.py",
line 352, in create_restore_job
manager.export_password_env(p.id)
  File 
"/Users/pivotal/workspace/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py",
line 365, in export_password_env
os.environ[str(env)] = password
  File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/os.py",
line 675, in __setitem__
self.putenv(key, value)
ValueError: illegal environment variable name
FAIL

​

Sincerely,

Victoria && Anthony

On Thu, May 31, 2018 at 1:16 AM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Hi,
>
> Please find the attached updated patch with the fixes.
> The test cases were only failing on MAC not on Linux.
>
> Thanks,
> Khushboo
>
> On Wed, May 30, 2018 at 10:13 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>>
>>
>> On Wed, May 30, 2018 at 1:05 AM, Dave Page  wrote:
>>
>>> Hi
>>>
>>> On Mon, May 28, 2018 at 8:09 AM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
 Hi,

 please find the attached updated patch for the test cases of Backup,
 Restore and Maintenance modules which includes:

 1. Unit test cases
 2. End to end regression test cases
 3. Feature test cases

>>>
>>> Thanks. I've yet to be able to run the feature tests successfully.
>>> Here's what I've found so far:
>>>
>>> 1) DEFAULT_BINARY_PATHS should be default_binary_paths in the JSON
>>> config file.
>>>
>>> Will do.
>>
>>> 2) I've hit screensize related issues:
>>>
>>> ==
>>>
>>> ERROR: runTest
>>> (pgadmin.feature_tests.pg_utilities_maintenance_test.PGUtilitiesMaintenanceFeatureTest)
>>>
>>> Test for PG maintenance: database
>>>
>>> --
>>>
>>> Traceback (most recent call last):
>>>
>>>   File
>>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py",
>>> line 56, in runTest
>>>
>>> self._open_maintenance_dialogue()
>>>
>>>   File
>>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py",
>>> line 75, in _open_maintenance_dialogue
>>>
>>> "*[.='" + self.table_name + "']/../*[@class='aciTreeItem'"
>>>
>>>   File
>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py",
>>> line 80, in click
>>>
>>> self._execute(Command.CLICK_ELEMENT)
>>>
>>>   File
>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py",
>>> line 628, in _execute
>>>
>>> return self._parent.execute(command, params)
>>>
>>>   File
>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py",
>>> line 312, in execute
>>>
>>> self.error_handler.check_response(response)
>>>
>>>   File
>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py",
>>> line 242, in check_response
>>>
>>> raise exception_class(message, screen, stacktrace)
>>>
>>> WebDriverException: Message: unknown error: Element >> class="aciTreeItem">... is not clickable at point (223, 604). Other
>>> element would receive the click: ...
>>>
>>>   (Session info: chrome=66.0.3359.181)
>>>
>>>   (Driver info: chromedriver=2.38.552518
>>> (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.12.6 x86_64)
>>>
>>> 3) One time the test did start, but then I 

Re: [pgadmin4][Patch]: Test cases for the backup module

2018-05-29 Thread Khushboo Vashi
On Wed, May 30, 2018 at 1:05 AM, Dave Page  wrote:

> Hi
>
> On Mon, May 28, 2018 at 8:09 AM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>> Hi,
>>
>> please find the attached updated patch for the test cases of Backup,
>> Restore and Maintenance modules which includes:
>>
>> 1. Unit test cases
>> 2. End to end regression test cases
>> 3. Feature test cases
>>
>
> Thanks. I've yet to be able to run the feature tests successfully. Here's
> what I've found so far:
>
> 1) DEFAULT_BINARY_PATHS should be default_binary_paths in the JSON config
> file.
>
> Will do.

> 2) I've hit screensize related issues:
>
> ==
>
> ERROR: runTest (pgadmin.feature_tests.pg_utilities_maintenance_test.
> PGUtilitiesMaintenanceFeatureTest)
>
> Test for PG maintenance: database
>
> --
>
> Traceback (most recent call last):
>
>   File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_
> utilities_maintenance_test.py", line 56, in runTest
>
> self._open_maintenance_dialogue()
>
>   File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_
> utilities_maintenance_test.py", line 75, in _open_maintenance_dialogue
>
> "*[.='" + self.table_name + "']/../*[@class='aciTreeItem'"
>
>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/selenium/webdriver/remote/webelement.py", line 80, in click
>
> self._execute(Command.CLICK_ELEMENT)
>
>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/selenium/webdriver/remote/webelement.py", line 628, in _execute
>
> return self._parent.execute(command, params)
>
>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
>
> self.error_handler.check_response(response)
>
>   File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/selenium/webdriver/remote/errorhandler.py", line 242, in
> check_response
>
> raise exception_class(message, screen, stacktrace)
>
> WebDriverException: Message: unknown error: Element  class="aciTreeItem">... is not clickable at point (223, 604). Other
> element would receive the click: ...
>
>   (Session info: chrome=66.0.3359.181)
>
>   (Driver info: chromedriver=2.38.552518 
> (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac
> OS X 10.12.6 x86_64)
>
> 3) One time the test did start, but then I saw this failure:
>
> ==
>
> ERROR: runTest (pgadmin.feature_tests.pg_utilities_backup_restore_test.
> PGUtilitiesBackupFeatureTest)
>
> Test for PG utilities - Backup and Restore
>
> --
>
> Traceback (most recent call last):
>
>   File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_
> utilities_backup_restore_test.py", line 93, in runTest
>
> self.page.fill_input_by_field_name("file", "test_backup_file")
>
>   File 
> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
> line 211, in fill_input_by_field_name
>
> self.wait_for_input_field_content(field_name, field_content)
>
>   File 
> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
> line 251, in wait_for_input_field_content
>
> "field to contain '" + str(content) + "'", input_field_has_content
>
>   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/python2.7/site-
> packages/selenium/webdriver/support/wait.py", line 80, in until
>
> raise TimeoutException(message, screen, stacktrace)
>
> TimeoutException: Message: Timed out waiting for field to contain
> 'test_backup_file'
>
>
>
> (with screenshot attached)
>
> Thanks.
>
> I have ran the feature tests with multiple servers many times but didn't
get a single failure.
I have asked Akshay to run on his machine, let see what he gets.

>
>
>
>
>>
>> Thanks,
>> Khushboo
>>
>>
>>
>>
>> On Wed, Apr 25, 2018 at 9:40 PM, Joao De Almeida Pereira <
>> jdealmeidapere...@pivotal.io> wrote:
>>
>>> Hi Khushboo,
>>>
>>> We reviewed the patch and it is very nice to see some more coverage in
>>> this area. Good job :D
>>>
>>> We passed the tests through our CI the feature tests are not passing,
>>> but the linter fails:
>>>
>>> ./pgadmin/feature_tests/pg_utilities_backup_test.py:37: [E501] line too 
>>> long (91 > 79 characters)
>>>  
>>> 
>>> ./pgadmin/feature_tests/pg_utilities_backup_test.py:53: [E501] line too 
>>> long (104 > 79 characters)
>>>  
>>> 
>>>