Hi Dave/Hackers

On Fri, Jun 14, 2019 at 6:10 PM Akshay Joshi <akshay.jo...@enterprisedb.com>
wrote:

>
>
> On Fri, Jun 14, 2019 at 1:59 PM Dave Page <dp...@pgadmin.org> wrote:
>
>> Hi
>>
>> On Thu, Jun 13, 2019 at 12:52 PM Akshay Joshi <
>> akshay.jo...@enterprisedb.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?
>>
>
>    Will fix the above.
>
>> - 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.
>>
>
>    It is not a pgadmin module and we have kept it in regression folder, so
> will have to change the existing code. I have tried but facing issues when
> run only  "regression.re_sql.tests", will continue working on this.
>

     Can we add a new parameter  to --pkg "*resql*" to run all the reverse
engineered test cases for all the modules, it just like parameter "*all*"
which is used to run all the regression tests. Following will be the
scenario if we add new parameter:

   - If we run --pkg all, run all the API and resql test cases.
   - If we run --pkg <module list>, run the API and resql test cases for
   the specified module list
   - if we run --pkg resql, run all the resql test cases only.


>
>> - 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.
>>
>
>     I have tried that during implementation, but JSON does not allow
> line-breaks.
>
>>
>> Thanks.
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>
> --
> *Thanks & Regards*
> *Akshay Joshi*
>
> *Sr. Software Architect*
> *EnterpriseDB Software India Private Limited*
> *Mobile: +91 976-788-8246*
>


-- 
*Thanks & Regards*
*Akshay Joshi*

*Sr. Software Architect*
*EnterpriseDB Software India Private Limited*
*Mobile: +91 976-788-8246*

Reply via email to