Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMZhN-0006By-EE for pgadmin-hackers@arkaria.postgresql.org; Mon, 11 Jul 2016 11:48:29 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bMZhM-0003PX-VB for pgadmin-hackers@arkaria.postgresql.org; Mon, 11 Jul 2016 11:48:29 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bMZhM-0003PO-2k for pgadmin-hackers@postgresql.org; Mon, 11 Jul 2016 11:48:28 +0000 Received: from mail-it0-x236.google.com ([2607:f8b0:4001:c0b::236]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bMZhB-0002z7-4X for pgadmin-hackers@postgresql.org; Mon, 11 Jul 2016 11:48:27 +0000 Received: by mail-it0-x236.google.com with SMTP id f6so52818889ith.0 for ; Mon, 11 Jul 2016 04:48:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=UpGRZnSx9JqNIbVDtTGSdlQfJszUNIyI7ohWkzIQpTk=; b=0UTFU4S3H+Z9h6QE3gUontBhamz4BZlJUooJw/6MZ+3X6SDFe25KWcEAcY/NjjIHrd kKiYdLyZUd7H8LeF6PIM7ZlomCPEEAQspuhOE6GI6PvwW3D1ey3iieiAGSduy+RBgLlf 7fjAwPsV9ZelflEVuNyWlCx072jp5hcfQKkdROViTc/7q1U+2QJ3ZQfQ9PytAJ9yZwNF wHRFmlC0nP89ComOp3LbSz4K0pCP2EtbvyP+Idxj2jIkyzR+PxlA7eczfVBHPA80sjtq uBDBPp7Myf3wzB2h64d/8qdhamiYWpno76RJifSenfRjiHSvZAFQgQHoqSEyuPiVkNmN vzXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=UpGRZnSx9JqNIbVDtTGSdlQfJszUNIyI7ohWkzIQpTk=; b=mkeEdCsy4wgkRAB3nrhdrQSoeQgm+Ai7M66OalHkcvNc9WX2lQNK1Mia2PBnHGn24V PvyhjvlJR3+UaHmvPrYLoCbbdJWgTMUewTx/KTfylBtFHPwQyKN/FvVVyi1Vn/MKnSKM 2/GJ7te1NUiD90vMLriWPCp+nB7aNKoR+zI7nXy37hcTaJTgmDvDayPr8K1z4vtXsgi/ tB+Z46fiNavfBiVDGEIT5PDZk3lsE1jIbtPsyOikGjqxYU6Eifj1BR2FEqReZ7pSzO3w LPXBaY8JAFP6PDcGR8bCDJKiR/Uoe0hAFonQaS8O7zhGk/RzvToDiqEieDye/71AWDeP r3oA== X-Gm-Message-State: ALyK8tKX+TAFOxLd64zQt+zwtQPzPYly49AHKpE7CIw4CW6FkI1aHcQP1Pjj2qcOZ7CTXDKt5hlvDuX4Q6qN1A== X-Received: by 10.36.103.4 with SMTP id u4mr9916365itc.88.1468237694905; Mon, 11 Jul 2016 04:48:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.208.97 with HTTP; Mon, 11 Jul 2016 04:48:14 -0700 (PDT) In-Reply-To: References: <1C830532-F2F0-4FBC-BD17-4428CE9AA53D@pgadmin.org> From: Dave Page Date: Mon, 11 Jul 2016 12:48:14 +0100 Message-ID: Subject: Re: pgAdmin IV API test cases patch To: Priyanka Shendge Cc: pgadmin-hackers , Kanchan Mohitey Content-Type: text/plain; charset=UTF-8 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org Hi, No, sorry I don't have an extra system you can test on. It's pretty clear that query would fail - it's missing a database OID after the = On Fri, Jul 8, 2016 at 10:38 AM, Priyanka Shendge wrote: > Hi Dave, > > I have tried to reproduce the issue by running the test-suite on different > machines (64 and 32 bit) and > users on PG9.4/9.5 (Provided different "test_db_username" in > test_config.json). It is working fine at my end. > > The log file (output.log) sent by you shows following query is failing at > your end: > > SELECT > db.oid as did, db.datname, db.datallowconn, > pg_encoding_to_char(db.encoding) AS serverencoding, > has_database_privilege(db.oid, 'CREATE') as cancreate, datlastsysoid > FROM > pg_database db > WHERE db.oid = > > Let me know if you have an extra system where I can reproduce the issue. > > > On 5 July 2016 at 15:40, Dave Page wrote: >> >> Attached. >> >> On Tue, Jul 5, 2016 at 9:00 AM, Priyanka Shendge >> wrote: >> > Hi Dave, >> > >> > I tried running the testsuite against PG9.4 and unable to reproduce the >> > failures. >> > I have added debug statements to previous patch. Patch attached. >> > Could you please re-run the same and send me the logs and output? >> > >> > Thank you. >> > >> > On 4 July 2016 at 17:30, Dave Page wrote: >> >> >> >> Hi >> >> >> >> The test data was the default, and I ran against PG 9.4. All other logs >> >> were attached to my previous email. >> >> >> >> -- >> >> Dave Page >> >> Blog: http://pgsnake.blogspot.com >> >> Twitter: @pgsnake >> >> >> >> EnterpriseDB UK:http://www.enterprisedb.com >> >> The Enterprise PostgreSQL Company >> >> >> >> On 4 Jul 2016, at 12:16, Priyanka Shendge >> >> wrote: >> >> >> >> Hi Dave, >> >> >> >> I am unable to reproduce issue on my side; tried on Python 2.7 and >> >> Python >> >> 3.4. >> >> Could you please provide me DEBUG logs and test data using for database >> >> node? >> >> >> >> Thank you. >> >> >> >> On 30 June 2016 at 00:51, Dave Page wrote: >> >>> >> >>> Hi, >> >>> >> >>> That's better. I tweaked a few things and fixed a bug related to >> >>> recent changes to the schema version config. Patch attached. >> >>> >> >>> However, there are still issues: >> >>> >> >>> 1) The testsuite doesn't run to completion. See the attached >> >>> stdout.txt and logger.txt files. >> >>> 2) stdout should only display the test summary - what tests are >> >>> currently running (and pass/fail), and a summary at the end - even if >> >>> there's a crash like I saw. >> >>> 3) The output log file should contain the full output, including >> >>> what's sent to stdout. >> >>> 4) The output advises the user to check ".../pgadmin4/web/regression". >> >>> This should be in the summary at the end, and should be corrected to >> >>> show the correct (full) path. >> >>> >> >>> Thanks. >> >>> >> >>> >> >>> On Wed, Jun 29, 2016 at 2:52 PM, Priyanka Shendge >> >>> wrote: >> >>> > Hi Dave, >> >>> > >> >>> > As per discussion over mail i have created separate config files for >> >>> > credentials and test data. >> >>> > >> >>> > PFA patch for same. Kindly, review and let me know for >> >>> > modifications. >> >>> > >> >>> > On 27 June 2016 at 15:10, Priyanka Shendge >> >>> > wrote: >> >>> >> >> >>> >> >> >>> >> >> >>> >> On 27 June 2016 at 13:24, Dave Page wrote: >> >>> >>> >> >>> >>> On Sun, Jun 26, 2016 at 12:05 PM, Priyanka Shendge >> >>> >>> wrote: >> >>> >>> > >> >>> >>> > >> >>> >>> > On 24 June 2016 at 16:17, Dave Page wrote: >> >>> >>> >> >> >>> >>> >> Hi >> >>> >>> >> >> >>> >>> >> On Thu, Jun 23, 2016 at 2:41 PM, Priyanka Shendge >> >>> >>> >> wrote: >> >>> >>> >> > >> >>> >>> >> > >> >>> >>> >> > On 15 June 2016 at 15:05, Priyanka Shendge >> >>> >>> >> > wrote: >> >>> >>> >> >> >> >>> >>> >> >> Thanks a lot Dave. >> >>> >>> >> >> >> >>> >>> >> >> On 15 June 2016 at 14:09, Dave Page >> >>> >>> >> >> wrote: >> >>> >>> >> >>> >> >>> >>> >> >>> Hi >> >>> >>> >> >>> >> >>> >>> >> >>> On Thu, Jun 9, 2016 at 1:37 PM, Priyanka Shendge >> >>> >>> >> >>> wrote: >> >>> >>> >> >>> > Hi Dave, >> >>> >>> >> >>> > >> >>> >>> >> >>> > PFA updated patch. I have made changes suggested by you. >> >>> >>> >> >>> > >> >>> >>> >> >>> > Kindly, review and let me know for more changes. >> >>> >>> >> >>> >> >>> >>> >> >>> OK, I got a bit further this time, but not there yet. >> >>> >>> >> >>> >> >>> >>> >> >>> 1) The patch overwrote my test_config.json file. That >> >>> >>> >> >>> should >> >>> >>> >> >>> never >> >>> >>> >> >>> happen (that file shouldn't be in the source tree). >> >>> >>> >> >>> test_config.json.in should be the file that's included in >> >>> >>> >> >>> the >> >>> >>> >> >>> patch. >> >>> >>> >> >> >> >>> >>> >> >> >> >>> >>> >> >> OK. >> >>> >>> >> >>> >> >>> >>> >> >>> >> >>> >>> >> >>> 2) The updated test_config.json file is huge. >> >>> >>> >> > >> >>> >>> >> > >> >>> >>> >> > Current configuration file web/regression/test_config.json >> >>> >>> >> > contains >> >>> >>> >> > test >> >>> >>> >> > data(credentials) for each tree node; >> >>> >>> >> > which is used while adding and updating the respective node. >> >>> >>> >> >> >>> >>> >> Why would we need that? >> >>> >>> > >> >>> >>> > >> >>> >>> > Each node file (e.g. test_db_add.py and test_db_put.py) uses >> >>> >>> > respective >> >>> >>> > credentials test data from >> >>> >>> > test_config.json while execution. >> >>> >>> >> >>> >>> That doesn't answer my question - why do we need separate >> >>> >>> credentials >> >>> >>> for each node? >> >>> >> >> >>> >> >> >>> >> Sorry for typo, its test data not credentials. >> >>> >> >> >>> >>> >> >>> >>> >> >>> >>> >> We should have just one set of credentials for >> >>> >>> >> everything. >> >>> >>> > >> >>> >>> > >> >>> >>> > Let me know if my understanding is clear: >> >>> >>> > >> >>> >>> > Should i keep basic credentials of each node (database, schema) >> >>> >>> > into >> >>> >>> > test_config.json >> >>> >>> > instead taking care of each field? >> >>> >>> >> >>> >>> You should have one set of credentials that's used for the entire >> >>> >>> test >> >>> >>> run. >> >>> >> >> >>> >> >> >>> >> Sure. I'll separate the credentials and test data into 2 different >> >>> >> files. >> >>> >> So, a normal user can run the tests into one go after some minor >> >>> >> credentials changes. >> >>> >> And an advanced user can have an option to change the test data if >> >>> >> he >> >>> >> wants. >> >>> >>> >> >>> >>> >> >>> >>> >> >>> I should only need to >> >>> >>> >> >>> define one or more connections, then be able to run the >> >>> >>> >> >>> tests. >> >>> >>> >> >>> If >> >>> >>> >> >>> you >> >>> >>> >> >>> need to keep configuration info for "advanced users", let's >> >>> >>> >> >>> put it >> >>> >>> >> >>> in >> >>> >>> >> >>> a different file to avoid confusing/scaring everyone else. >> >>> >>> >> >>> Maybe >> >>> >>> >> >>> split >> >>> >>> >> >>> it into config.json for the stuff the user needs to edit >> >>> >>> >> >>> (config.json.in would go in git), and test_config.json for >> >>> >>> >> >>> the >> >>> >>> >> >>> test >> >>> >>> >> >>> configuration. >> >>> >>> >> > >> >>> >>> >> > >> >>> >>> >> > Should i keep login and server credentials into >> >>> >>> >> > web/regression/test_config.json file and >> >>> >>> >> > put respective node details into config.json file of >> >>> >>> >> > respective >> >>> >>> >> > node's >> >>> >>> >> > tests >> >>> >>> >> > directory? >> >>> >>> >> >> >>> >>> >> Not if you expect users to need to edit them - and if not, why >> >>> >>> >> are >> >>> >>> >> the >> >>> >>> >> values not just hard-coded? >> >>> >>> >> >> >>> >>> >> > e.g. for database node: >> >>> >>> >> > I'll create config.json file into .../databases/tests/ >> >>> >>> >> > directory >> >>> >>> >> > put database add and update credentials into config.json >> >>> >>> >> >> >>> >>> >> The key here is to make it simple for users. >> >>> >>> >> >> >>> >>> >> - To run the default tests, they should be able to copy/edit a >> >>> >>> >> simple >> >>> >>> >> file, and just add database server details for the server to >> >>> >>> >> run >> >>> >>> >> against. >> >>> >>> >> >> >>> >>> >> - If we have configurable tests (because making them >> >>> >>> >> configurable >> >>> >>> >> adds >> >>> >>> >> genuine value), then we can use an "advanced" config file to >> >>> >>> >> allow >> >>> >>> >> the >> >>> >>> >> user to adjust settings as they want. >> >>> >>> >> >> >>> >>> >> In the simple case, the user should be able to run the tests >> >>> >>> >> successfully within a minute or two from starting. >> >>> >>> >> >> >>> >>> >> In designing the layout for files etc, remember the following: >> >>> >>> >> >> >>> >>> >> - Users should never edit a file that is in our source control. >> >>> >>> >> That's >> >>> >>> >> why we have .in files that we expect them to copy. >> >>> >>> >> >> >>> >>> >> - Unless they're an advanced user, they shouldn't need to copy >> >>> >>> >> the >> >>> >>> >> config file for advanced options. That means that the tests >> >>> >>> >> should >> >>> >>> >> have defaults that match what is in the template advanced >> >>> >>> >> config >> >>> >>> >> file >> >>> >>> >> (or, the tests could read advanced.json.in if advanced.json >> >>> >>> >> doesn't >> >>> >>> >> exist, though that does seem a little icky). Of course, those >> >>> >>> >> are >> >>> >>> >> example filenames, not necessarily what you may choose. >> >>> >>> >> >> >>> >>> >> -- >> >>> >>> >> Dave Page >> >>> >>> >> Blog: http://pgsnake.blogspot.com >> >>> >>> >> Twitter: @pgsnake >> >>> >>> >> >> >>> >>> >> EnterpriseDB UK: http://www.enterprisedb.com >> >>> >>> >> The Enterprise PostgreSQL Company >> >>> >>> > >> >>> >>> > >> >>> >>> > >> >>> >>> > >> >>> >>> > -- >> >>> >>> > Best, >> >>> >>> > Priyanka >> >>> >>> > >> >>> >>> > EnterpriseDB Corporation >> >>> >>> > The Enterprise PostgreSQL Company >> >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> -- >> >>> >>> Dave Page >> >>> >>> Blog: http://pgsnake.blogspot.com >> >>> >>> Twitter: @pgsnake >> >>> >>> >> >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >> >>> >>> The Enterprise PostgreSQL Company >> >>> >>> >> >>> >>> >> >>> >>> -- >> >>> >>> Sent via pgadmin-hackers mailing list >> >>> >>> (pgadmin-hackers@postgresql.org) >> >>> >>> To make changes to your subscription: >> >>> >>> http://www.postgresql.org/mailpref/pgadmin-hackers >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> -- >> >>> >> Best, >> >>> >> Priyanka >> >>> >> >> >>> >> EnterpriseDB Corporation >> >>> >> The Enterprise PostgreSQL Company >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > -- >> >>> > Best, >> >>> > Priyanka >> >>> > >> >>> > EnterpriseDB Corporation >> >>> > The Enterprise PostgreSQL Company >> >>> >> >>> >> >>> >> >>> -- >> >>> Dave Page >> >>> Blog: http://pgsnake.blogspot.com >> >>> Twitter: @pgsnake >> >>> >> >>> EnterpriseDB UK: http://www.enterprisedb.com >> >>> The Enterprise PostgreSQL Company >> >> >> >> >> >> >> >> >> >> -- >> >> Best, >> >> Priyanka >> >> >> >> EnterpriseDB Corporation >> >> The Enterprise PostgreSQL Company >> > >> > >> > >> > >> > -- >> > Best, >> > Priyanka >> > >> > EnterpriseDB Corporation >> > The Enterprise PostgreSQL Company >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company > > > > > -- > Best, > Priyanka > > EnterpriseDB Corporation > The Enterprise PostgreSQL Company -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers