Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fOQTh-00013g-Nx for pgadmin-hackers@arkaria.postgresql.org; Thu, 31 May 2018 16:31:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fOQTf-00089D-Qg for pgadmin-hackers@arkaria.postgresql.org; Thu, 31 May 2018 16:31:03 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fOQTf-000891-8N for pgadmin-hackers@lists.postgresql.org; Thu, 31 May 2018 16:31:03 +0000 Received: from mx0b-00296801.pphosted.com ([148.163.153.148]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fOQTZ-0001ff-Ad for pgadmin-hackers@postgresql.org; Thu, 31 May 2018 16:31:01 +0000 Received: from pps.filterd (m0114586.ppops.net [127.0.0.1]) by mx0b-00296801.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w4VGQ6G5006376 for ; Thu, 31 May 2018 16:30:56 GMT Received: from mail-it0-f72.google.com (mail-it0-f72.google.com [209.85.214.72]) by mx0b-00296801.pphosted.com with ESMTP id 2j9euusqm7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 31 May 2018 16:30:55 +0000 Received: by mail-it0-f72.google.com with SMTP id c82-v6so18628837itg.1 for ; Thu, 31 May 2018 09:30:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Q0vs3d5jYfsNYTxqYwPS2Pzax6Wh9/8aIQ6IFv2pEbw=; b=ZWfpWc/fP3zzkRSkvhvA+zWeLbtnEIevNkJUFsDXOKPmsonl9Nkpw+eMwFFVTv530I xvyhbQ/4dk2xXQT0Yis8H33oymw3BVafJrrraPjQAreRA961pzXL9vBVo1u0gSYQVisy YeaAHjgtRqJ+KHWLzPWuFHH7Zp5MRhcfHxk8lsUHxh0NsfVOS8CEka9EBAp51qM7l9rr GHboBEQpDaa9muqNicBcIrQ1n63W1D6QwnxQLdvoIpimZduWeAr+a5GhKMrzqjejGRXV gf9YsZvXefqrz1iq0K9kVfOXFxmojqGDw+Ue5imkqyYQ+fiqNIEt/IqecATrsV36pToO qPWw== X-Gm-Message-State: APt69E1Dz6HaX8EGitFytRAjinHC+drD8zMa+v8inKRkOQd8FUB8lBKw gg7IkjP1R5lLYeTr0beM4yBNNJXvpuG633rLh7/ahOKGZss7crxGiftYRkjhTD1XCrfPgmUTEKR 1wY3EJ9twnWF/gkArvsfcfwbw42OcB6SaGgQrQuD8b0a5ee/NYOyNkp4KDe+fmxVNUqYp X-Received: by 2002:a6b:c7c6:: with SMTP id x189-v6mr7072950iof.262.1527784254686; Thu, 31 May 2018 09:30:54 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLBc1X0MsnN6W2SME2csTvlT7gvrOiMTuY938e+BVhwZgXVt8ni7sz1ePFBO4hy7FYzdlchC3NncrGms+im9O8= X-Received: by 2002:a6b:c7c6:: with SMTP id x189-v6mr7072912iof.262.1527784254221; Thu, 31 May 2018 09:30:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Victoria Henry Date: Thu, 31 May 2018 12:30:42 -0400 Message-ID: Subject: Re: [pgadmin4][Patch]: Test cases for the backup module To: Khushboo Vashi Cc: Dave Page , pgadmin-hackers Content-Type: multipart/alternative; boundary="000000000000c45141056d82fde8" X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-05-31_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=10 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1805220000 definitions=main-1805310184 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000c45141056d82fde8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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. =E2=80=8B from pgadmin.utils.driver import get_driver driver =3D get_driver(PG_DEFAULT_DRIVER) manager =3D driver.connection_manager(self.sid) host =3D manager.local_bind_host if manager.use_ssh_tunnel else s.host port =3D 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: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D FAIL: runTest (pgadmin.tools.restore.tests.test_restore_create_job_unit_tes= t.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/t= est_restore_create_job_unit_test.py", line 295, in runTest self.assertEquals(response.status_code, 200) AssertionError: 410 !=3D 200 And When restore object with the sections options ... 2018-05-31 12:24:42,988: ERROR pgadmin: 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)] =3D 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 =E2=80=8B Sincerely, Victoria && Anthony On Thu, May 31, 2018 at 1:16 AM Khushboo Vashi < khushboo.vashi@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.vashi@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.vashi@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: >>> >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> >>> ERROR: runTest >>> (pgadmin.feature_tests.pg_utilities_maintenance_test.PGUtilitiesMainten= anceFeatureTest) >>> >>> Test for PG maintenance: database >>> >>> ---------------------------------------------------------------------- >>> >>> Traceback (most recent call last): >>> >>> File >>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maint= enance_test.py", >>> line 56, in runTest >>> >>> self._open_maintenance_dialogue() >>> >>> File >>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maint= enance_test.py", >>> line 75, in _open_maintenance_dialogue >>> >>> "*[.=3D'" + self.table_name + "']/../*[@class=3D'aciTreeItem'" >>> >>> File >>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/seleniu= m/webdriver/remote/webelement.py", >>> line 80, in click >>> >>> self._execute(Command.CLICK_ELEMENT) >>> >>> File >>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/seleniu= m/webdriver/remote/webelement.py", >>> line 628, in _execute >>> >>> return self._parent.execute(command, params) >>> >>> File >>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/seleniu= m/webdriver/remote/webdriver.py", >>> line 312, in execute >>> >>> self.error_handler.check_response(response) >>> >>> File >>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/seleniu= m/webdriver/remote/errorhandler.py", >>> line 242, in check_response >>> >>> raise exception_class(message, screen, stacktrace) >>> >>> WebDriverException: Message: unknown error: Element >> class=3D"aciTreeItem">... is not clickable at point (223, 604). = Other >>> element would receive the click:
>> wcPanelBackground wcScrollableX wcScrollableY" style=3D"left: 0px; righ= t: >>> 0px; bottom: 0px;">...
>>> >>> (Session info: chrome=3D66.0.3359.181) >>> >>> (Driver info: chromedriver=3D2.38.552518 >>> (183d19265345f54ce39cbb94cf81ba5f15905011),platform=3DMac OS X 10.12.6 = x86_64) >>> >>> 3) One time the test did start, but then I saw this failure: >>> >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> >>> ERROR: runTest >>> (pgadmin.feature_tests.pg_utilities_backup_restore_test.PGUtilitiesBack= upFeatureTest) >>> >>> Test for PG utilities - Backup and Restore >>> >>> ---------------------------------------------------------------------- >>> >>> Traceback (most recent call last): >>> >>> File >>> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/pg_utilities_backu= p_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/seleniu= m/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 < >>>> jdealmeidapereira@pivotal.io> wrote: >>>> >>>>> Hi Khushboo, >>>>> >>>>> We reviewed the patch and it is very nice to see some more coverage i= n >>>>> 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 t= oo long (91 > 79 characters) >>>>> >>>>> ./pgadmin/feature_tests/pg_utilities_backup_test.py:53: [E501] line t= oo long (104 > 79 characters) >>>>> >>>>> ./pgadmin/feature_tests/pg_utilities_backup_test.py:59: [E501] line t= oo long (85 > 79 characters) >>>>> >>>>> ./pgadmin/feature_tests/pg_utilities_backup_test.py:62: [E501] line t= oo long (96 > 79 characters) >>>>> >>>>> ./pgadmin/feature_tests/pg_utilities_backup_test.py:63: [E501] line t= oo long (91 > 79 characters) >>>>> >>>>> ./pgadmin/feature_tests/pg_utilities_backup_test.py:70: [E501] line t= oo long (118 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:37: [E121] contin= uation line under-indented for hanging indent >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:48: [E122] contin= uation line missing indentation or outdented >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:49: [E251] unexpe= cted spaces around keyword / parameter equals >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:49: [E251] unexpe= cted spaces around keyword / parameter equals >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:51: [E501] line t= oo long (91 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:52: [E501] line t= oo long (94 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:53: [E501] line t= oo long (108 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:81: [E501] line t= oo long (113 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:82: [E501] line t= oo long (94 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:83: [E501] line t= oo long (108 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:111: [E501] line = too long (100 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:113: [E501] line = too long (94 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:114: [E501] line = too long (108 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_backup_message.py:147: [E501] line = too long (93 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:40: [E121] continu= ation line under-indented for hanging indent >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:51: [E122] continu= ation line missing indentation or outdented >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:135: [E501] line t= oo long (80 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:137: [E501] line t= oo long (83 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:138: [E122] contin= uation line missing indentation or outdented >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:139: [E122] contin= uation line missing indentation or outdented >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:140: [E122] contin= uation line missing indentation or outdented >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:191: [E501] line t= oo long (81 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:203: [E501] line t= oo long (80 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:204: [E128] contin= uation line under-indented for visual indent >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:204: [E501] line t= oo long (94 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:205: [E128] contin= uation line under-indented for visual indent >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:205: [E501] line t= oo long (94 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_batch_process.py:216: [W391] blank = line at end of file >>>>> >>>>> ./pgadmin/tools/backup/tests/test_create_backup_job.py:296: [E501] li= ne too long (97 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_create_backup_job.py:317: [E303] to= o many blank lines (2) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_create_backup_job.py:336: [E501] li= ne too long (84 > 79 characters) >>>>> >>>>> ./pgadmin/tools/backup/tests/test_create_backup_job.py:371: [W391] bl= ank line at end of file >>>>> >>>>> 2 E121 continuation line under-indented for hanging indent >>>>> >>>>> 5 E122 continuation line missing indentation or outdented >>>>> >>>>> 2 E128 continuation line under-indented for visual indent >>>>> >>>>> 2 E251 unexpected spaces around keyword / parameter equals >>>>> >>>>> 1 E303 too many blank lines (2) >>>>> >>>>> 24 E501 line too long (91 > 79 characters) >>>>> >>>>> 2 W391 blank line at end of file >>>>> >>>>> 38 >>>>> >>>>> >>>>> For the feature tests, we realized we had to update the configuration= , >>>>> and we did that, but we get the following error attached. We spent so= me >>>>> time trying to understand the problem but we were not successful. >>>>> >>>>> >>>>> Codewise: >>>>> - We just found some One Letter Variables in the code... >>>>> - Looks like there is a bug report in this area of the code and we do >>>>> not have coverage for it: https://redmine.postgresql.org/issues/3232 >>>>> Looks like in some of the unit tests we only have happy path tests, >>>>> maybe we should see if there are any sad paths that also need coverag= e. >>>>> >>>>> The configuration change, maybe need to be updated. When we install >>>>> multiple versions of postgres the binaries live in >>>>> `/usr/lib/postgresql/{{db_version}}/bin`, which makes us think that t= his >>>>> configuration should live near the server configuration, maybe? Also = to >>>>> maintain coherency on the naming maybe we should make it all lower ca= se. >>>>> Just as an aside, you can add the gpdb configuration as well in you >>>>> patch. >>>>> >>>>> Thanks >>>>> Victoria & Joao >>>>> >>>>> On Wed, Apr 25, 2018 at 5:20 AM Khushboo Vashi < >>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Please find the attached patch which covers test cases for the backu= p >>>>>> module (RM #3206). >>>>>> >>>>>> 1. Unit test cases >>>>>> 2. End to end regression test cases >>>>>> 3. Feature test cases >>>>>> >>>>>> Thanks, >>>>>> Khushboo >>>>>> >>>>> >>>> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> > --000000000000c45141056d82fde8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
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.
=E2=80=8B
=
from pgadmin.utils.driver import get_driver
driver =3D get_driver(PG_DEFAULT_DR= IVER)
manager =3D driver.connection_manager(self.sid)

host =3D manager.local_bind_host if manager.use_ssh_tunnel else s.host
port =3D manager.local_bin= d_port if manager.use_ssh_tunn= el else s.port=C2=A0
2. When we finally enable=C2=A0
"default_binary_path=
s": {
<= div>in our test_config, we get more failing tests that look like:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
FAIL: runTest (pgadmin.tools.restore.tests.test_restore_create_job_unit_tes=
t.RestoreCreateJobTest)
When restore object with option - Miscellaneous
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/pivotal/.pyenv/versions/3.6.5/lib/python3.6/unittest/mo=
ck.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/Users/pivotal/workspace/pgadmin4/web/pgadmin/tools/restore/te=
sts/test_restore_create_job_unit_test.py", line 295, in runTest
    self.assertEquals(response.status_code, 200)
AssertionError: 410 !=3D 200

And

When restore object with =
the sections options ... 2018-05-31 12:24:42,988: ERROR    pgadmin:    ille=
gal 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/psy=
copg2/server_manager.py", line 365, in export_password_env
    os.environ[str(env)] =3D 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
=E2=80=8B
=

Sincerely,

Vi= ctoria && Anthony

On Thu, May 31, 2018 at 1:16 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com>= ; wrote:
Hi,
<= br>
Please find the attached updated patch with the fixes.
<= div>The test cases were only failing on MAC not on Linux.

Thanks,
Khushboo
On Wed, May 30, 2018 at 10:13 AM, Khushboo Vas= hi <khushboo.vashi@enterprisedb.com> wrote:


On Wed, May 30, 2018 at 1:05 AM, = Dave Page <dpage@pgadmin.org> wrote:
Hi

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

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

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

Thanks. I've yet to be able to run the feature tests successful= ly. Here's what I've found so far:

1) DEFA= ULT_BINARY_PATHS should be default_binary_paths in the JSON config file.

Will do.=C2=A0=
2) I've hit screensize related issues:

=

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

ERROR: runTest (pgadmin.feature_tests.pg_utilities_maintenance_test.PGUti= litiesMaintenanceFeatureTest)

Test for PG maintenance: database

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

Traceback (most recent call last):

=C2=A0 File "/Users/dpage/g= it/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py"= ;, line 56, in runTest

=C2=A0 =C2=A0 self._open_mainten= ance_dialogue()

=C2=A0 File "/Users/dpage/g= it/pgadmin4/web/pgadmin/feature_tests/pg_utilities_maintenance_test.py"= ;, line 75, in _open_maintenance_dialogue

=C2=A0 =C2=A0 "*[.=3D'&= quot; + self.table_name + "']/../*[@class=3D'aciTreeItem'&= quot;

=C2=A0 File "/Users/dpage/.= virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/= webelement.py", line 80, in click

=C2=A0 =C2=A0 self._execute(Comm= and.CLICK_ELEMENT)

=C2=A0 File "/Users/dpage/.= virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/= webelement.py", line 628, in _execute

=C2=A0 =C2=A0 return self._paren= t.execute(command, params)

=C2=A0 File "/Users/dpage/.= virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/= webdriver.py", line 312, in execute

=C2=A0 =C2=A0 self.error_handler= .check_response(response)

=C2=A0 File "/Users/dpage/.= virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/= errorhandler.py", line 242, in check_response

=C2=A0 =C2=A0 raise exception_cl= ass(message, screen, stacktrace)

WebDriverException: Message: unknown error: Element <span class=3D&quo= t;aciTreeItem">...</span> is not clickable at point (223, 604= ). Other element would receive the click: <div class=3D"wcFrameCent= er wcPanelBackground wcScrollableX wcScrollableY" style=3D"left: = 0px; right: 0px; bottom: 0px;">...</div>

=C2=A0 (Session info: chrome=3D6= 6.0.3359.181)

=C2=A0 (Driver info: chromedrive= r=3D2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=3DMac O= S X 10.12.6 x86_64)


3) One time the test did start, but then I saw this failure:=

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

ERROR: runTest (pgadmin.feature_tests.pg_utilities_backup_restore_test.PG= UtilitiesBackupFeatureTest)

Test for PG utilities - Backup and Restore

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

Traceback (most recent call last):

=C2=A0 File "/Users/dpage/g= it/pgadmin4/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py&q= uot;, line 93, in runTest

=C2=A0 =C2=A0 self.page.fill_inp= ut_by_field_name("file", "test_backup_file")

=C2=A0 File "/Users/dpage/g= it/pgadmin4/web/regression/feature_utils/pgadmin_page.py", line 211, i= n fill_input_by_field_name

=C2=A0 =C2=A0 self.wait_for_inpu= t_field_content(field_name, field_content)

=C2=A0 File "/Users/dpage/g= it/pgadmin4/web/regression/feature_utils/pgadmin_page.py", line 251, i= n wait_for_input_field_content

=C2=A0 =C2=A0 "field to con= tain '" + str(content) + "'", input_field_has_conten= t

=C2=A0 File "/Users/dpage/g= it/pgadmin4/web/regression/feature_utils/pgadmin_page.py", line 337, i= n _wait_for

=C2=A0 =C2=A0 "Timed out wa= iting for " + waiting_for_message

=C2=A0 File "/Users/dpage/.= virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/support= /wait.py", line 80, in until

=C2=A0 =C2=A0 raise TimeoutExcep= tion(message, screen, stacktrace)

TimeoutException: Message: Timed out waiting for field to contain 'te= st_backup_file'



(with screenshot attached)

Thanks.<= /div>

I ha= ve ran the feature tests with multiple servers many times but didn't ge= t a single failure.
I have asked Akshay to run on his machine, le= t see what he gets.


=C2=A0

Thanks,
Khushboo




On= Wed, Apr 25, 2018 at 9:40 PM, Joao De Almeida Pereira &l= t;jdealme= idapereira@pivotal.io> wrote:
Hi Khushboo,

We reviewed the patch a= nd 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 a= re 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 cha= racters)
./pgadmin/feature_= tests/pg_utilities_backup_test.py:59: [E501] line too long (85 > 79 char= acters)
./pgadmin/feature_= tests/pg_utilities_backup_test.py:62: [E501] line too long (96 > 79 char= acters)
./pgadmin/feature_= tests/pg_utilities_backup_test.py:63: [E501] line too long (91 > 79 char= acters)
./pgadmin/feature_= tests/pg_utilities_backup_test.py:70: [E501] line too long (118 > 79 cha= racters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:37: [E121] continuation line under-indent= ed for hanging indent
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:48: [E122] continuation line missing inde= ntation or outdented
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:49: [E251] unexpected spaces around keywo= rd / parameter equals
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:49: [E251] unexpected spaces around keywo= rd / parameter equals
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:51: [E501] line too long (91 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:52: [E501] line too long (94 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:53: [E501] line too long (108 > 79 cha= racters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:81: [E501] line too long (113 > 79 cha= racters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:82: [E501] line too long (94 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:83: [E501] line too long (108 > 79 cha= racters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:111: [E501] line too long (100 > 79 ch= aracters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:113: [E501] line too long (94 > 79 cha= racters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:114: [E501] line too long (108 > 79 ch= aracters)
./pgadmin/tools/ba= ckup/tests/test_backup_message.py:147: [E501] line too long (93 > 79 cha= racters)
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:40: [E121] continuation line under-indente= d for hanging indent
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:51: [E122] continuation line missing inden= tation or outdented
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:135: [E501] line too long (80 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:137: [E501] line too long (83 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:138: [E122] continuation line missing inde= ntation or outdented
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:139: [E122] continuation line missing inde= ntation or outdented
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:140: [E122] continuation line missing inde= ntation or outdented
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:191: [E501] line too long (81 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:203: [E501] line too long (80 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:204: [E128] continuation line under-indent= ed for visual indent
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:204: [E501] line too long (94 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:205: [E128] continuation line under-indent= ed for visual indent
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:205: [E501] line too long (94 > 79 char= acters)
./pgadmin/tools/ba= ckup/tests/test_batch_process.py:216: [W391] blank line at end of file
./pgadmin/tools/ba= ckup/tests/test_create_backup_job.py:296: [E501] line too long (97 > 79 = characters)
./pgadmin/tools/ba= ckup/tests/test_create_backup_job.py:317: [E303] too many blank lines (2)
./pgadmin/tools/ba= ckup/tests/test_create_backup_job.py:336: [E501] line too long (84 > 79 = characters)
./pgadmin/tools/ba= ckup/tests/test_create_backup_job.py:371: [W391] blank line at end of file<= /span>
2 E121 conti= nuation line under-indented for hanging indent
5 E122 conti= nuation line missing indentation or outdented
2 E128 conti= nuation line under-indented for visual indent
2 E251 unexp= ected spaces around keyword / parameter equals
1 E303 too m= any blank lines (2)
24 E501 line = too long (91 > 79 characters)
2 W391 blank= line at end of file
38

For the feature tests, we realized we had= to update the configuration, and we did that, but we get the following err= or attached. We spent some time trying to understand the problem but we wer= e not successful.


Codewise:
- We just found some One Letter Variables in the code...
- Loo= ks like there is a bug report in this area of the code and we do not have c= overage for it:=C2=A0https://redmine.postgresql.org/issues/3232
=C2=A0 Looks like in some of the unit tests we only have happy path tests,= maybe we should see if there are any sad paths that also need coverage.

The configuration change, maybe need to be updated. = When we install multiple versions of postgres the binaries live in `/usr/li= b/postgresql/{{db_version}}/bin`, which makes us think that this configurat= ion should live near the server configuration, maybe? Also to maintain cohe= rency on the naming maybe we should make it all lower case.
Just = as an aside, you can add the gpdb configuration as well in you patch.
=

Thanks
Victoria & Joao

On We= d, Apr 25, 2018 at 5:20 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com= > wrote:
Hi,
Please find the attached patch which covers test cases for= the backup module (RM #3206).

1. Unit test cases<= /div>
2. End to end regression test cases=C2=A0
3. Feature te= st cases

Thanks,
Khushboo




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

Ent= erpriseDB UK: htt= p://www.enterprisedb.com
The Enterprise PostgreSQL Company


--000000000000c45141056d82fde8--