Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jVXIK-0000EU-MI for pgadmin-hackers@arkaria.postgresql.org; Mon, 04 May 2020 09:21:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jVXIJ-00029w-IR for pgadmin-hackers@arkaria.postgresql.org; Mon, 04 May 2020 09:21:47 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jVXIJ-0001xB-2a for pgadmin-hackers@lists.postgresql.org; Mon, 04 May 2020 09:21:47 +0000 Received: from mail-il1-x12b.google.com ([2607:f8b0:4864:20::12b]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jVXIF-0000U0-Kk for pgadmin-hackers@postgresql.org; Mon, 04 May 2020 09:21:46 +0000 Received: by mail-il1-x12b.google.com with SMTP id w6so10592228ilg.1 for ; Mon, 04 May 2020 02:21:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jyc4qkeFqs6XrsjY01Sd20VAph8sByhHjGqPjQRlWZA=; b=bTS5XhR6py6j5b7woAs5o223gdkYQAMkvKchqbnELNlgbvy8ULn60kHoglmdIY4yYk RpsWZ/ys5o7rZb7p8+jmYdhpipIalm6VSTxQNZJ+OdRtx5Eep++OOyAU/x3lv6Aqzc75 r6A5XQtVNlHGfaZRl7zHZT0FAGanX2AGHROKBIaUFYOeC+SV56u2bYoKCnMElQ7pvTkt j3ol/bdjxFYUBzNR5RXvLXmAn6FgaixVcezY+x/+mvN8d9WRQw3htB79YGXCoGy3IIC1 h2gpHwA8eOWUjAG5YX26Kg85LoDu/OB6c8zz5Zkz+WD5Zu8KH6yZAWCmuz9s7Or+exOh OTNA== 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=jyc4qkeFqs6XrsjY01Sd20VAph8sByhHjGqPjQRlWZA=; b=H3Zt68HB0TYlRfd1LE5qU+Hw+ETqrOkipFE7lQd++maCc78AegRzADoBnx1+ip8oXB E0EK1BRj/ddZzzPXM9wHUgxXg9W4IwPysQg2pltGnfl5Sn8Klt9MaTcHeJLVfVjHfrtQ o/cjeKqorSLaEAVGApqwjgzJbbd8BkGG1VrDcbNU5PHtWEUx2xNNBCGFEHeTXAVJzEkk 2TUwB5UwBM19Sav/6Ud8Yb6+h1Byni8VmSkW7HWNoz3VTU+6E+6JRALF0JqAdXupjawv MDN4lIAbdjj5LhCckPvwzGcMkFAxMs+GRw8doAu7FR0C2S/ZNCfVvie2XmzhPNvIKcAS BBEA== X-Gm-Message-State: AGi0PuZS3DX3CeEPe5faQgx+EG3Q9X1QpGtTOmBloFNxk8L2VuHJ5FmQ 4osIwCrba9SU22A8oUGLEvwVgKvxGGnCk9jjOvZS0Y1WixlXOCxrJoQl08ERtBBm4kBRaL/yrHV 4UcTt0RxMtr+vTzkujTYC5v1tIyepdtzwTAeC+jdpko8d5kT98a5SPvcuU03jhnNBSSSjHFKBd7 ZTTjJzdYs/ZmuThxR1J3LPFkAJklhIeP1QA8DyXsuXoMzini9LsPnyqtKlVw== X-Google-Smtp-Source: APiQypImGBBK0pOBunvTQWJAyZl4ul3RRm4J4A7QsunMwqv01lHpcXcypYrWKmx7ry91yEiFcwbsBH2hxBrEm+3+z+s= X-Received: by 2002:a05:6e02:80e:: with SMTP id u14mr16337000ilm.176.1588584102635; Mon, 04 May 2020 02:21:42 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Akshay Joshi Date: Mon, 4 May 2020 14:51:31 +0530 Message-ID: Subject: Re: [pgAdmin 4 - Housekeeping #5255] Implement Selenium Grid using multi-threading & solenoid using current test framework To: Yogesh Mahajan Cc: Shubham Agarwal , pgadmin-hackers , navnath gadakh Content-Type: multipart/alternative; boundary="00000000000022442a05a4cf0f01" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --00000000000022442a05a4cf0f01 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Yogesh The patch is not applied to the master branch. Can you please rebase and send the patch again. On Fri, May 1, 2020 at 12:28 PM Yogesh Mahajan < yogesh.mahajan@enterprisedb.com> wrote: > Hi, > > Please find updated patch modified according to review comments - > Patch implements below things - > 1.Enable the current framework to provide option to execute Feature tests > in parallel on selenium grid set up. > - Addition of new switch to start parallel features tests. > - New parameters with respect to selenoid in test_config.json.in > - Addition of new script to check solenoid updates. > > > > Thanks, > Yogesh Mahajan > QA - Team > EnterpriseDB Corporation > > Phone: +91-9741705709 > > > On Tue, Apr 21, 2020 at 1:18 PM Shubham Agarwal < > shubham.agarwal@enterprisedb.com> wrote: > >> Hi Yogesh, >> Below are the review comments- >> >> 1. runtests.py >> a. The exception traceback logic at line number 653 in runtests.py >> is not correct since it is particular to the thread >> but there is much more code in that block which can throw some exception= . >> b. line number 447 -> The drop_database function will only try to drop >> the database with the name which is newly created >> at 431 line number, its probability is 1% instead of this you can write = a >> logic so that it will drop all the database which starts with name >> =E2=80=98acceptance_test_db'. >> c. line 584 - Why we are including resql test case execution in GUI >> execution logic. >> d. Change the function name run_test as script name is also >> runtests.py >> >> 2. test_utils.py >> a. Remove the headless chrome code from get_remote_webdriver() in >> test_utils.py since we are using solenoid and it is not required anymore= . >> b. Create separate functions to instantiate the firefox driver and >> chrome driver logic since the same code is used in multiple files. >> c. launch_url_in_browser() -> you can simplify the definition of the >> function like: >> retry =3D 60 >> =EF=BB=BF *while *retry > 0: >> try: >> driver.get(url) >> except WebDriverException: >> retry -=3D 1 >> 3. Execution logs are not printing as per the logic some time, I ran the >> suite for two servers and attached are the execution logs. >> 4. Readme - >> Please provide the Valid selenoid URL to be provided in the >> test_config.json, with all the steps mentioned in the readme it is not >> clear. >> Revisit the readme and write the missing steps. >> 5. copy_selected_query_results_feature_tests.py- >> Create the function to avoid duplicate code. The code for pasting the >> values is repeating 8 times in the test code. >> 6. Provide the valid docstring in newly introduced functions and also >> valid comments while calling it. for ex.- _update_preference() function = is >> introduced in pg_utilities_backup_restrore_test.py but from the function >> name, it is not clear what preferences are going to update in it. >> 7. test_index_constraint_add test case is failing due to the latest >> change, please merge and update this test case >> >> On Thu, Apr 16, 2020 at 2:41 PM navnath gadakh < >> navnath.gadakh@enterprisedb.com> wrote: >> >>> Hi, >>> I think I am not the right person to review this patch now as I already >>> reviewed this code offline in the last week. I know the approached Yoge= sh >>> has followed, also given some review comments on it. >>> Someone else please review it. >>> >>> Thanks! >>> >>> On Mon, Apr 13, 2020 at 2:49 PM Akshay Joshi < >>> akshay.joshi@enterprisedb.com> wrote: >>> >>>> Hi Navnath >>>> >>>> Can you please review it? >>>> >>>> On Mon, Apr 13, 2020 at 2:40 PM Yogesh Mahajan < >>>> yogesh.mahajan@enterprisedb.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> Please find the attached patch for running *features tests* using >>>>> solenoid(selenium grid + docker). >>>>> KIndly review. >>>>> To sun feature tests in parallel, required prerequisites can be >>>>> checked in '~/web/regression/README' file. >>>>> Also detailed instructions are added in the same file. >>>>> After applying the patch, any existing process for execution of >>>>> API/Features tests remains the same. >>>>> >>>>> >>>>> Thanks, >>>>> Yogesh Mahajan >>>>> QA - Team >>>>> EnterpriseDB Corporation >>>>> >>>>> Phone: +91-9741705709 >>>>> >>>> >>>> >>>> -- >>>> *Thanks & Regards* >>>> *Akshay Joshi* >>>> >>>> *Sr. Software Architect* >>>> *EnterpriseDB Software India Private Limited* >>>> *Mobile: +91 976-788-8246* >>>> >>> >>> >>> -- >>> Regards, >>> Navnath Gadakh >>> >> >> >> -- >> Thanks & Regards, >> Shubham Agarwal >> EnterpriseDB Corporation >> >> The Postgres Database Company >> > --=20 *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* --00000000000022442a05a4cf0f01 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi=C2=A0Yogesh

The patch is not applied= to the master branch. Can you please rebase and send the patch again.

On Fri, May 1, 2020 at 12:28 PM Yogesh Mahajan <yogesh.mahajan@enterprisedb.com> wrote:<= br>
Hi,

Please find updated patch modified according to rev= iew comments=C2=A0-=C2=A0
Patch implements below things=C2=A0-=C2= =A0
1.Enable the current framework to provide option to execute F= eature tests in parallel =C2=A0on selenium grid set up.
=C2=A0 = =C2=A0- Addition of new switch to start parallel features tests.
= =C2=A0 =C2=A0- New parameters with respect to selenoid in test_config.json.in
= =C2=A0 =C2=A0- Addition of new script to check solenoid=C2=A0updates.
=



=
Thanks,
Yogesh Mahajan
QA - Team
<= div>EnterpriseDB Corporation

Phone: +91-9741705709
=


On Tue, Apr 21, 2020 at 1:18 PM Shubham Agarwal <<= a href=3D"mailto:shubham.agarwal@enterprisedb.com" target=3D"_blank">shubha= m.agarwal@enterprisedb.com> wrote:
Hi Yogesh,
Be= low are the review comments-

1. runtests.py
=C2=A0 =C2=A0 a. The exception traceback logic = at line number 653 in runtests.py is not correct since it is particular to = the thread
but there is much m= ore code in that block which can throw some exception.
<= div> b. line number 447 -> The drop_database function will only try to = drop the database with the name which is newly created
=
at 431 line number, its probability is 1% instead = of this you can write a logic so that it will drop all the database which s= tarts with name =E2=80=98acceptance_test_db'.
<= font face=3D"arial, sans-serif">=C2=A0 c. line 584 -=C2=A0Why we are incl= uding resql test case execution in GUI execution logic.
=C2=A0 =C2=A0 d.=C2=A0Change the function name run_test as script name i= s also runtests.py

2. test_utils.py
=C2=A0 =C2=A0 a.=C2=A0Remove the headless chrome code from get_rem= ote_webdriver() in test_utils.py since we are using solenoid and it is not required anymore.
=C2=A0 =C2=A0 b. = Create separat= e functions to instantiate the firefox driver and chrome driver logic since= the same code is used in multiple files.
c. launch_url_= in_browser() -> you can simplify the definition of the function like:
=C2=A0 =C2=A0=C2=A0retry =3D 60
=EF=BB=BF=C2=A0 =C2=A0 =C2=A0 =C2=A0 whi= le=C2=A0retry > 0:<= /font>
=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 try:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 drive= r.get(url)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = except WebDriverException:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0retry -=3D 1
3. Execution lo= gs are not printing as per the logic some time, I ran the suite for two ser= vers and attached are the execution logs.
4. Readme -
Please provide the Valid selenoid URL to be provided in the test_c= onfig.json, with all the steps mentioned in the readme it is not clear.
Revisit the readme and w= rite the missing steps.
= 5. copy_selected_query_results_feature_tests.py-
Create the function to avoid duplicate code. Th= e code for pasting the values is repeating 8 times in the test code.=
6. Provide the valid docstring= in newly introduced functions and also valid comments while calling it. fo= r ex.- _update_preference() function is
introduced in pg_utilities_backup_restrore_test.py but f= rom the function name, it is not clear what preferences are going to update= in it.
7. test_index_constraint_add test c= ase is failing due to the latest change, please merge and update this test = case
<= /span>

On Thu, Apr 16, 2020 at 2:41 PM navnath gadakh <navnath.gadakh@enterprised= b.com> wrote:
Hi,
I think I am not the right pe= rson to review this patch now as I already reviewed this code offline in th= e last week. I know the=C2=A0approached Yogesh has followed, also given som= e review comments on it.
= Someone else please review it.=C2=A0

Thanks!<= /font>

On Mon, Apr 13, 2020 at 2:49 PM Akshay Joshi <akshay.joshi@enterprised= b.com> wrote:
Hi Navnath

Can you please review it?

On Mon, Apr 13, = 2020 at 2:40 PM Yogesh Mahajan <yogesh.mahajan@enterprisedb.com> wrote:=
Hi,
<= font face=3D"arial, sans-serif">
Please find the attached=C2=A0patch for running features tes= ts using solenoid(selenium=C2=A0grid + docker).
KIndly review.
To sun feature tests in parallel, required prerequisites c= an be checked in '~/web/regression/README' file.
<= font face=3D"arial, sans-serif">Also detailed=C2=A0instructions are added i= n the same=C2=A0file.
Aft= er applying the patch, any existing process for execution of API/Features= =C2=A0tests remains the same.


Thanks,
Yogesh Mah= ajan
QA - Team
EnterpriseDB Corporation
Phone: +91-9741705709


--
Thanks & Regards=
A= kshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Regards,
Navnath = Gadakh


--
Thanks & Regards,
Shubham Agarwal
EnterpriseDB Corporation

The Postgres Database Company


--
Thanks & Regards
=
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
=
Mobile: += 91 976-788-8246
--00000000000022442a05a4cf0f01--