Re: pgAdmin IV : Unittest modular patch

From: Khushboo Vashi <khushboo(dot)vashi(at)enterprisedb(dot)com>
To: Dave Page <dave(dot)page(at)enterprisedb(dot)com>
Cc: Navnath Gadakh <navnath(dot)gadakh(at)enterprisedb(dot)com>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Kanchan Mohitey <kanchan(dot)mohitey(at)enterprisedb(dot)com>
Subject: Re: pgAdmin IV : Unittest modular patch
Date: 2016-07-19 04:19:38
Message-ID: CAFOhELes8Vu_VciiVu31wfaYtTuCFUReEF1mfNXB4nSMcTNrHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi Navnath,

I have just ran the automated test cases, I noticed that the login
test-case gets called (which actually post data and gets logged-in) each
time before every test case runs. I think this should not happen, user
login should be done only once.

Thanks,
Khushboo

On Mon, Jul 18, 2016 at 7:25 PM, Dave Page <dave(dot)page(at)enterprisedb(dot)com>
wrote:

> Thanks - applied with some tweaks and changes, most notably:
>
> - "--pkg all" is the default if no command line options are given.
>
> - Output now goes in regression/regression.log
>
> - Terminal output is limited to WARNINGS from the app server.
>
> - The runner script is now python regression/runtests.py
>
> On Mon, Jul 18, 2016 at 1:45 PM, Navnath Gadakh
> <navnath(dot)gadakh(at)enterprisedb(dot)com> wrote:
> > Hi Dave,
> >
> > Please find the revised patch for unit tests of pgAdmin4 APIs.
> >
> > This patch includes-
> >
> > test_advance_config.json(for user it’s test_advance_config.json.in) for
> > advance test configuration for database/server(Priyanka was working on
> this)
> >
> > test_config.json(for user it’s test_config_json.in) for basic
> credentials
> > data for database/server
> >
> > From now onward we can execute test cases node wise/package wise. I have
> > slightly modified the way of running the testsuite. We used the command
> line
> > arguments(pkg) which denotes for which package testsuite going to run.
> >
> >
> > Run the testsuite for all packages by following command
> >
> > Python regression/testsuite.py --pkg all
> >
> > Here, ‘all’ means for all python
> > packages(i.e.browser,server_groups,server,
> >
> > databases etc. which are same names in
> project
> > directory structure)
> >
> > This will find the ‘tests’ directory in each package &
> > execute the test cases.
> >
> >
> >
> > Run the testsuite for single package by following command
> >
> > Python regression/testsuite.py --pkg browser (this execute the
> tests
> > in ‘browser’ package only)
> >
> > Python regression/testsuite.py --pkg
> > browser.server_groups.servers.databases (this execute the tests in
> > ‘databases’ package only)
> >
> > 4. Logger file. Which include the detailed output of the testsuite.
> > Testsuite also prints the test summary on the console.
> >
> > 5. Previously, we set the priority to each test case. In this patch
> > priority logic is removed as there is no need to set priority.
> >
> > 6. Resolution of AttributeError for attribute 'APP_ROOT'(Which is
> > mentioned by you in a previous email)
> >
> >
> > Note: You might get ‘AttributeError’ while running this patch on Python
> 3.4
> > (I have raised this bug in RM(#1464)), But still you can run the
> testsuite.
> > It will run on Python 2.7 without error.
> >
> >
> >
> > On Fri, Jul 15, 2016 at 6:23 PM, Dave Page <dave(dot)page(at)enterprisedb(dot)com>
> > wrote:
> >>
> >> Hi
> >>
> >> On Mon, Jul 11, 2016 at 2:16 PM, Navnath Gadakh
> >> <navnath(dot)gadakh(at)enterprisedb(dot)com> wrote:
> >>>
> >>> Hi Dave,
> >>> PFA updated patch for modular API test cases.
> >>>
> >>> On Mon, Jul 11, 2016 at 5:11 PM, Dave Page <dave(dot)page(at)enterprisedb(dot)com
> >
> >>> wrote:
> >>>>
> >>>>
> >>>>
> >>>> On Fri, Jul 8, 2016 at 2:30 PM, Navnath Gadakh
> >>>> <navnath(dot)gadakh(at)enterprisedb(dot)com> wrote:
> >>>>>
> >>>>>
> >>>>> Hi Dave,
> >>>>>
> >>>>> PFA patch for modular API test cases.
> >>>>>
> >>>>> Kindly, review the same and let me know for any modification.
> >>>>
> >>>>
> >>>> Please re-create the patch so that it doesn't revert various changes
> >>>> made to config.py etc. over the last couple of weeks.
> >>>
> >>>
> >>> config.py file was not updated at my end, I have updated it in the
> >>> current patch. I have also added code related to advance test data
> >>> configuration which was created by Priyanka (Seprated the test data
> >>> configuration files).
> >>>
> >>>>
> >>>> What is the patch for? Is it fixing issues in Priyanka's last patch,
> or
> >>>> something else?
> >>>> This patch is for -
> >>>> 1. Now we can run testsuite node/module wise(like for browser only,
> for
> >>>> databases only) OR for all nodes/modules
> >>>> 2. I have modified the existing functionality for testsuite and all
> test
> >>>> case classes (Made all test cases independently runnable, removed the
> >>>> priority logic).
> >>>
> >>>
> >>>
> >>> For more details please refer the file 'regression/README'.
> >>
> >>
> >> When running all tests, I get:
> >>
> >> ...
> >> ...
> >> <Rule '//static/<filename>' (HEAD, OPTIONS, GET) -> redirects.static>,
> >> <Rule '/backup/<filename>' (HEAD, OPTIONS, GET) -> backup.static>,
> >> <Rule '/reset/<token>' (HEAD, POST, OPTIONS, GET) ->
> >> security.reset_password>,
> >> <Rule '/about/<filename>' (HEAD, OPTIONS, GET) -> about.static>])
> >> Traceback (most recent call last):
> >> File "regression/testsuite.py", line 151, in <module>
> >> suite = get_suite(args, test_client)
> >> File "regression/testsuite.py", line 75, in get_suite
> >> TestsGeneratorRegistry.load_generators('pgadmin')
> >> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/route.py", line 56,
> in
> >> load_generators
> >> module = import_module(module_name)
> >> File
> >>
> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py",
> >> line 37, in import_module
> >> __import__(name)
> >> File
> >>
> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_groups/servers/databases/tests/test_db_add.py",
> >> line 14, in <module>
> >> from regression import test_utils as utils
> >> File "/Users/dpage/git/pgadmin4/web/regression/test_utils.py", line
> 23,
> >> in <module>
> >> def get_ids(url=config.APP_ROOT + '/regression/parent_id.pkl'):
> >> AttributeError: 'module' object has no attribute 'APP_ROOT'
> >>
> >> That's not overly surprising, as we don't have an APP_ROOT setting in
> the
> >> config (nor should we - it should be calculated dynamically). Please
> fix,
> >> and remember to test your patches against a clean copy of the git tree
> in
> >> the future!
> >>
> >> Thanks!
> >>
> >> --
> >> Dave Page
> >> VP, Chief Architect, Tools & Installers
> >> EnterpriseDB: http://www.enterprisedb.com
> >> The Enterprise PostgreSQL Company
> >>
> >> Blog: http://pgsnake.blogspot.com
> >> Twitter: @pgsnake
> >
> >
> >
> >
> > --
> > Thanks,
> > Navnath Gadakh
> > Software Engineer
> > EnterpriseDB Corporation
> > Mobile: +91 9975389878
> >
> >
>
>
>
> --
> Dave Page
> VP, Chief Architect, Tools & Installers
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
>
> --
> Sent via pgadmin-hackers mailing list (pgadmin-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Ashesh Vashi 2016-07-19 05:57:21 pgAdmin 4 commit: Generate the proper unique name for the duplicate col
Previous Message Dave Page 2016-07-18 15:34:03 pgAdmin 4 commit: Beta 3 version bump