Re: pgAdmin IV : Unittest modular patch - Mailing list pgadmin-hackers
From | Dave Page |
---|---|
Subject | Re: pgAdmin IV : Unittest modular patch |
Date | |
Msg-id | CA+OCxoy2kSbeBDCYaXGKOvEZAtpEO7uviL5cPakNf0FM=C=dzg@mail.gmail.com Whole thread Raw |
In response to | Re: pgAdmin IV : Unittest modular patch (Navnath Gadakh <navnath.gadakh@enterprisedb.com>) |
Responses |
Re: pgAdmin IV : Unittest modular patch
|
List | pgadmin-hackers |
Hi Navnath On Tue, Aug 2, 2016 at 3:58 PM, Navnath Gadakh <navnath.gadakh@enterprisedb.com> wrote: > Hi Dave, > Please find the attached patch. > This patch includes: > 1. API test cases for Roles & Tablespaces node(Completed nodes: server > groups, servers, databases) > You can run test-suite using following command > for roles node > python regression/runtests.py --pkg > browser.server_groups.servers.roles > for tablespaces node > python regression/runtests.py --pkg > browser.server_groups.servers.tablespaces > for all nodes > python regression/runtests.py > You can also test with multiple servers. > 2. Delete database code in some of the missed test files. > 3. Added advanced configurations in test_advanced_config.json.in for roles & > tablespaces. So, accordingly you need change the file > test_advanced_config.json > 4. Added one test user credentials in test_config.json.in to test the ‘valid > password’ test case which is present in > browser/tests/test_change_password.py > Why test user credentials in test_config.json.in? > Currently, I am getting ‘UnicodeDecodeError’ when I run > test-suite(runtests.py) with existing code. I already explained the detail > about this error in RM(#1521). I am creating test user to test the ‘valid > password’ test case. The tablespace test is one that I think is going to cause us problems - we really can't have a hard-coded path in the config; - It might need to be different for each server being tested - It is very likely to be different for each user I think what we need to do is: - Skip the tests if the server is not connected via a Unix domain socket (hostname starts with /), 127.0.0.1 or ::1. - Add per-server configuration options for the tablespace path and service account under which the database server runs. These values should default to /tmp and postgres for a PostgreSQL server, and edb for PPAS. - Otherwise; assume the server is on the local machine, and: - Create /$tblspace_path/<random_string>/ - chown $service_account /$tblspace_path/<random_string>/ - Run the tests Thoughts? I'd also suggest another couple of changes: - Remove the test_ prefix from the values in the config files. It doesn't really help in the code as there you'll always have the data in a variable anyway, e.g. adv_config_data["spc_location"] instead of adv_config_data["test_spc_location"]. - I think we should fall back to using test_advanced_config.json.in if the user hasn't made their own copy, e.g. try: with open(CURRENT_PATH + '/test_advanced_config.json') as data_file: advanced_config_data = json.load(data_file) except: with open(CURRENT_PATH + '/test_advanced_config.json.in') as data_file: advanced_config_data = json.load(data_file) -- Dave Page VP, Chief Architect, Tools & Installers EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company Blog: http://pgsnake.blogspot.com Twitter: @pgsnake
pgadmin-hackers by date: