Re: [pgAdmin4][Patch]: Feature #4202 Implement new framework to test Reverse Engineering SQL

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][Patch]: Feature #4202 Implement new framework to test Reverse Engineering SQL
Date: 2019-06-14 08:29:31
Message-ID: CA+OCxozE6mwqrBrGnQaaEjcJoyR7t8RYJGNj+RkfP0HsrYohCw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Thu, Jun 13, 2019 at 12:52 PM Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
wrote:

> Hi Hackers
>
> I have implemented the new test framework to test the Reverse Engineering
> SQL. I have integrated it as a part of API/Regression test suite. It will
> work when we run all the test cases or module wise test case.
>
> *How it works*: Attached patch contains the generic framework to read all
> the JSON files from the *tests->version based (example 9.6_plus, 10_plus
> or default) folder. *Run all the test scenarios present in the JSON file
> in sequential order.
>
> Format of the JSON file is mentioned in
> "<path_of_source>web/pgadmin/browser/server_groups/servers/databases/casts/tests/default/test.json"
>
> For expected SQL we will have following two options:
>
> - Provide the expected sql in scenario itself as parameter *"expected_sql"
> : "<SQL>"*.
> - Create a output file with any name in the same directory where the
> JSON file resides and specify the parameter "*expected_sql_file":
> "<name of the file>"*
>
> Attached patch contains both the above mentioned examples.
>
> Please review it.
>

Nice!

A few comments:

- The scenario name should be "Reverse Engineered SQL Test Cases"
- After the scenario name is output, can we output a \n so the next line
isn't appended to the name?
- How do we run only the re_sql tests? I tried the obvious ways
(e.g. python runtests.py --pkg
regression.re_sql.tests.test_resql.ReverseEngineeringSQLTestCase) but got
errors. Please add an example to web/regression/README.
- Once we have a way to run these tests only, please add a "make
check-resql" target to the Makefile.
- Can the expected output be formatted in the JSON such that it doesn't use
\n, but uses regular line breaks? That would make it easier to copy/paste.

Thanks.

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

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

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Aditya Toshniwal 2019-06-14 09:37:28 Re: [pgAdmin][RM4329] Initialization error when parameterised functions debugged in parallel in two separate tabs
Previous Message Dave Page 2019-06-14 08:17:06 pgAdmin 4 commit: Ensure strings are properly encoded in the Query Hist