Subject: Build failed in Jenkins: pgadmin4-master-python33 #507

From: pgAdmin 4 Jenkins <[email-masked]>
Date: Wed, 7 Mar 2018 14:01:15 +0000 (UTC)

See <https://jenkins.pgadmin.org/job/pgadmin4-master-python33/507/display/redirect?page=changes>

Changes:

[Dave Page] Ensure all messages are retrieved from the server in the Query Tool.

------------------------------------------
[...truncated 605.81 KB...]
		PackageDeleteTestCase (Fetch Package Node URL)
		ResourceGroupsPutTestCase (Put resource groups)
		SynonymPutTestCase (Fetch synonym Node URL)
		PackageAddTestCase (Fetch Package Node URL)
		PackageGetTestCase (Fetch Package Node URL)
		ResourceGroupsAddTestCase (Add resource groups)
		SynonymDeleteTestCase (Fetch synonym Node URL)
		ResourceGroupsGetTestCase (Get resource groups)
		SynonymGetTestCase (Fetch synonym Node URL)
		PackagePutTestCase (Fetch Package Node URL)
		SynonymAddTestCase (Default Node URL)
		ResourceGroupsDeleteTestCase (Delete resource groups)
		TestSSLConnection (Test for SSL connection)

EDB Postgres AS 9.3:

	280 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	7 tests skipped:
		ResourceGroupsDeleteTestCase (Delete resource groups)
		ResourceGroupsPutTestCase (Put resource groups)
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		ResourceGroupsAddTestCase (Add resource groups)
		TestSSLConnection (Test for SSL connection)
		ResourceGroupsGetTestCase (Get resource groups)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)

EDB Postgres AS 9.2:

	272 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	15 tests skipped:
		ResourceGroupsPutTestCase (Put resource groups)
		EventTriggerGetTestCase (Fetch Event Trigger Node URL)
		ViewsAddTestCase (Add materialized view under schema node)
		ResourceGroupsAddTestCase (Add resource groups)
		TestSSLConnection (Test for SSL connection)
		EventTriggerAddTestCase (Fetch Event Trigger Node URL)
		ResourceGroupsGetTestCase (Get resource groups)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)
		EventTriggerDeleteTestCase (Fetch Event Trigger Node URL)
		EventTriggerPutTestCase (Fetch Event Trigger Node URL)
		ViewsUpdateTestCase (Update materialized view under schema node)
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		ViewsDeleteTestCase (Delete materialized view under schema node)
		ViewsGetTestCase (Get materialized view under schema node)
		ResourceGroupsDeleteTestCase (Delete resource groups)

PostgreSQL 9.2:

	265 tests passed
	0 tests failed
	23 tests skipped:
		PackageDeleteTestCase (Fetch Package Node URL)
		SynonymPutTestCase (Fetch synonym Node URL)
		ViewsGetTestCase (Get materialized view under schema node)
		SynonymDeleteTestCase (Fetch synonym Node URL)
		ResourceGroupsAddTestCase (Add resource groups)
		ViewsAddTestCase (Add materialized view under schema node)
		EventTriggerAddTestCase (Fetch Event Trigger Node URL)
		EventTriggerDeleteTestCase (Fetch Event Trigger Node URL)
		EventTriggerPutTestCase (Fetch Event Trigger Node URL)
		PackagePutTestCase (Fetch Package Node URL)
		SynonymAddTestCase (Default Node URL)
		TestSSLConnection (Test for SSL connection)
		ResourceGroupsPutTestCase (Put resource groups)
		EventTriggerGetTestCase (Fetch Event Trigger Node URL)
		PackageGetTestCase (Fetch Package Node URL)
		PackageAddTestCase (Fetch Package Node URL)
		ResourceGroupsGetTestCase (Get resource groups)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)
		SynonymGetTestCase (Fetch synonym Node URL)
		ViewsUpdateTestCase (Update materialized view under schema node)
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		ViewsDeleteTestCase (Delete materialized view under schema node)
		ResourceGroupsDeleteTestCase (Delete resource groups)

PostgreSQL 9.3:

	272 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	15 tests skipped:
		PackageDeleteTestCase (Fetch Package Node URL)
		ResourceGroupsPutTestCase (Put resource groups)
		SynonymPutTestCase (Fetch synonym Node URL)
		PackageAddTestCase (Fetch Package Node URL)
		PackageGetTestCase (Fetch Package Node URL)
		ResourceGroupsAddTestCase (Add resource groups)
		SynonymDeleteTestCase (Fetch synonym Node URL)
		ResourceGroupsGetTestCase (Get resource groups)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)
		SynonymGetTestCase (Fetch synonym Node URL)
		PackagePutTestCase (Fetch Package Node URL)
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		SynonymAddTestCase (Default Node URL)
		ResourceGroupsDeleteTestCase (Delete resource groups)
		TestSSLConnection (Test for SSL connection)

PostgreSQL 9.4:

	272 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	15 tests skipped:
		PackageDeleteTestCase (Fetch Package Node URL)
		ResourceGroupsPutTestCase (Put resource groups)
		SynonymPutTestCase (Fetch synonym Node URL)
		PackageAddTestCase (Fetch Package Node URL)
		PackageGetTestCase (Fetch Package Node URL)
		ResourceGroupsAddTestCase (Add resource groups)
		SynonymDeleteTestCase (Fetch synonym Node URL)
		ResourceGroupsGetTestCase (Get resource groups)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)
		SynonymGetTestCase (Fetch synonym Node URL)
		PackagePutTestCase (Fetch Package Node URL)
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		SynonymAddTestCase (Default Node URL)
		ResourceGroupsDeleteTestCase (Delete resource groups)
		TestSSLConnection (Test for SSL connection)

PostgreSQL 9.5:

	272 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	15 tests skipped:
		PackageDeleteTestCase (Fetch Package Node URL)
		ResourceGroupsPutTestCase (Put resource groups)
		SynonymPutTestCase (Fetch synonym Node URL)
		PackageAddTestCase (Fetch Package Node URL)
		PackageGetTestCase (Fetch Package Node URL)
		ResourceGroupsAddTestCase (Add resource groups)
		SynonymDeleteTestCase (Fetch synonym Node URL)
		ResourceGroupsGetTestCase (Get resource groups)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)
		SynonymGetTestCase (Fetch synonym Node URL)
		PackagePutTestCase (Fetch Package Node URL)
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		SynonymAddTestCase (Default Node URL)
		ResourceGroupsDeleteTestCase (Delete resource groups)
		TestSSLConnection (Test for SSL connection)
NOTE: Configuring authentication for DESKTOP mode.
pgAdmin 4 - Application Initialisation
======================================

Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 1000 NOTICES WITH DATASET
Executing and polling with: NO NOTICE WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Executing and polling with: 2 NOTICES WITH DATASET
Please check output in file: <https://jenkins.pgadmin.org/job/pgadmin4-master-python33/ws/web/regression/regression.log>

PostgreSQL 9.6:

	272 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	15 tests skipped:
		PackageDeleteTestCase (Fetch Package Node URL)
		ResourceGroupsPutTestCase (Put resource groups)
		SynonymPutTestCase (Fetch synonym Node URL)
		PackageAddTestCase (Fetch Package Node URL)
		PackageGetTestCase (Fetch Package Node URL)
		ResourceGroupsAddTestCase (Add resource groups)
		SynonymDeleteTestCase (Fetch synonym Node URL)
		ResourceGroupsGetTestCase (Get resource groups)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)
		SynonymGetTestCase (Fetch synonym Node URL)
		PackagePutTestCase (Fetch Package Node URL)
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		SynonymAddTestCase (Default Node URL)
		ResourceGroupsDeleteTestCase (Delete resource groups)
		TestSSLConnection (Test for SSL connection)

EDB Postgres AS 9.4:

	284 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	3 tests skipped:
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		TestSSLConnection (Test for SSL connection)
		TableUpdateTestCase (Create partitions of existing list partitioned table,
					Detach partition from existing list partitioned table,
					Attach partition to existing list partitioned table,
					Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Create partitions of existing range partitioned table)

======================================================================

ERROR: Error detected when running the Python tests.
ERROR: Error detected when running the Python tests.
Build step 'Execute shell' marked build as failure

---

From: Dave Page <[email-masked]>
Date: Wed, 7 Mar 2018 14:04:14 +0000

Khushboo, can you look at this ASAP please? It passed tests on my machine,
but Jenkins isn't happy.

Thanks.

On Wed, Mar 7, 2018 at 2:01 PM, pgAdmin 4 Jenkins <[email-masked]>
wrote:

> Please check output in file: <https://jenkins.pgadmin.org/
> job/pgadmin4-master-python33/ws/web/regression/regression.log>
>
>
> PostgreSQL 9.6:
>
>         272 tests passed
>         1 test failed:

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

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

---

From: Khushboo Vashi <[email-masked]>
Date: Wed, 7 Mar 2018 20:40:54 +0530

Hi Dave,

On Wed, Mar 7, 2018 at 7:34 PM, Dave Page <[email-masked]> wrote:

> I have tried to reproduce the issue with many combination but couldn't
reproduce it.
With the help of logs, I have tried to fix it. Can you please check this
fix is helpful or not?

>> Please check output in file: <https://jenkins.pgadmin.org/j
>> ob/pgadmin4-master-python33/ws/web/regression/regression.log>
>>
>>
>> PostgreSQL 9.6:
>>
>>         272 tests passed
>>         1 test failed:
diff --git a/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py b/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py
index 275ed9c..d007e86 100644
--- a/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py
+++ b/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py
@@ -100,7 +100,7 @@ NOTICE:  Hello, world!
             response_data = json.loads(response.data.decode('utf-8'))
 
             # Check the returned messages
-            self.assertEquals(self.expected_message[cnt],
+            self.assertIn(self.expected_message[cnt],
                               response_data['data']['additional_messages'])
             # Check the output
             self.assertEquals(self.expected_result[cnt],

---

From: Dave Page <[email-masked]>
Date: Wed, 7 Mar 2018 15:53:00 +0000

Hi

On Wed, Mar 7, 2018 at 3:10 PM, Khushboo Vashi <
[email-masked]> wrote:

>> Khushboo, can you look at this ASAP please? It passed tests on my
>> machine, but Jenkins isn't happy.
>>

On my laptop I now get:

======================================================================
ERROR: runTest
(pgadmin.tools.sqleditor.tests.test_poll_query_tool.TestPollQueryTool)
When query tool polling returns messages with result data-set
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py",
line 104, in runTest
    response_data['data']['additional_messages'])
  File
"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/case.py",
line 802, in assertIn
    if member not in container:
TypeError: argument of type 'NoneType' is not iterable

----------------------------------------------------------------------

---

From: Khushboo Vashi <[email-masked]>
Date: Wed, 7 Mar 2018 21:43:08 +0530

On Wed, Mar 7, 2018 at 9:23 PM, Dave Page <[email-masked]> wrote:

> ERROR: runTest (pgadmin.tools.sqleditor.tests.test_poll_query_tool.
> TestPollQueryTool)
>   File "/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/
> tests/test_poll_query_tool.py", line 104, in runTest
>   File "/System/Library/Frameworks/Python.framework/Versions/2.7/
> lib/python2.7/unittest/case.py", line 802, in assertIn
> Please provide some more details. Is this failing for particular server
version?
I am not getting any error with this patch and without this patch on PY2
and PY3 with a single/multiple servers.

---

From: Dave Page <[email-masked]>
Date: Wed, 7 Mar 2018 16:16:33 +0000

On Wed, Mar 7, 2018 at 4:13 PM, Khushboo Vashi <
[email-masked]> wrote:

>> ERROR: runTest (pgadmin.tools.sqleditor.tests
>> .test_poll_query_tool.TestPollQueryTool)
>>   File "/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py",
>> line 104, in runTest
>>   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/case.py",
>> line 802, in assertIn

Python 2.7.10 on macOS Sierra, testing against PostgreSQL 9.4. Here are the
package versions in the venv:

alabaster==0.7.10
alembic==0.9.6
args==0.1.0
Babel==2.3.4
backports.csv==1.0.4
beautifulsoup4==4.4.1
blinker==1.3
chromedriver-installer==0.0.6
click==6.6
clint==0.5.1
dateutils==0.6.6
docutils==0.13.1
extras==1.0.0
fixtures==3.0.0
Flask==0.11.1
Flask-Babel==0.11.1
Flask-Gravatar==0.4.2
Flask-HTMLmin==1.2
Flask-Login==0.3.2
Flask-Mail==0.9.1
Flask-Migrate==2.0.3
Flask-Paranoid==0.1.0
Flask-Principal==0.4.0
Flask-Script==2.0.6
Flask-Security==1.7.5
Flask-SQLAlchemy==2.1
Flask-WTF==0.12
funcsigs==1.0.2
html5lib==1.0b3
htmlmin==0.1.11
imagesize==0.7.1
importlib==1.0.3
itsdangerous==0.24
Jinja2==2.7.3
linecache2==1.0.0
Mako==1.0.7
MarkupSafe==0.23
minify==0.1.4
mock==2.0.0
passlib==1.6.2
pbr==3.1.1
pkginfo==1.4.1
psycopg2==2.7.3.2
pycodestyle==2.3.1
pycrypto==2.6.1
Pygments==2.2.0
pyperclip==1.5.32
pyrsistent==0.14.0
python-dateutil==2.5.0
python-editor==1.0.3
python-mimeparse==1.6.0
pytz==2014.10
requests==2.13.0
requests-toolbelt==0.7.1
selenium==3.3.3
simplejson==3.6.5
six==1.11.0
snowballstemmer==1.2.1
speaklater==1.3
Sphinx==1.5.3
SQLAlchemy==1.0.14
sqlparse==0.1.19
testscenarios==0.5.0
testtools==2.0.0
traceback2==1.4.0
unittest2==1.1.0
Werkzeug==0.9.6
WTForms==2.0.2
yuicompressor==2.4.8

---

From: pgAdmin 4 Jenkins <[email-masked]>
Date: Wed, 7 Mar 2018 16:23:15 +0000 (UTC)

See <https://jenkins.pgadmin.org/job/pgadmin4-master-python33/508/display/redirect?page=changes>

Changes:

[Dave Page] Update Jasmine to v3. Fixes #3182

[Dave Page] Insert rows correctly when a table has OIDs and a Primary Key in

[...truncated 612.37 KB...]
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Create partitions of existing range partitioned table,
					Create partitions of existing list partitioned table)

EDB Postgres AS 9.3:

	284 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	7 tests skipped:
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		ResourceGroupsAddTestCase (Add resource groups)
		ResourceGroupsDeleteTestCase (Delete resource groups)
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Attach partition to existing list partitioned table,
					Create partitions of existing range partitioned table,
					Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table)
		TestSSLConnection (Test for SSL connection)
		ResourceGroupsGetTestCase (Get resource groups)
		ResourceGroupsPutTestCase (Put resource groups)

EDB Postgres AS 9.2:

	276 tests passed
	1 test failed:
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Create partitions of existing range partitioned table,
					Create partitions of existing list partitioned table)

PostgreSQL 9.6:

	276 tests passed
	1 test failed:
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Create partitions of existing range partitioned table,
					Create partitions of existing list partitioned table)

EDB Postgres AS 9.4:

	288 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	3 tests skipped:
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Attach partition to existing list partitioned table,
					Create partitions of existing range partitioned table,
					Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table)
		TestSSLConnection (Test for SSL connection)

PostgreSQL 9.4:

	276 tests passed
	1 test failed:
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Create partitions of existing range partitioned table,
					Create partitions of existing list partitioned table)

PostgreSQL 9.5:

	276 tests passed
	1 test failed:
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Create partitions of existing range partitioned table,
					Create partitions of existing list partitioned table)

EDB Postgres AS 9.5:

	288 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	3 tests skipped:
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Attach partition to existing list partitioned table,
					Create partitions of existing range partitioned table,
					Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table)
		TestSSLConnection (Test for SSL connection)

EDB Postgres AS 9.6:

	288 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	3 tests skipped:
		TableAddTestCase (Create Range partitioned table with 2 partitions,
					Create List partitioned table with 2 partitions)
		TableUpdateTestCase (Attach partition to existing range partitioned table,
					Detach partition from existing range partitioned table,
					Attach partition to existing list partitioned table,
					Create partitions of existing range partitioned table,
					Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table)
		TestSSLConnection (Test for SSL connection)
NOTE: Configuring authentication for DESKTOP mode.
pgAdmin 4 - Application Initialisation
======================================

PostgreSQL 10:

	278 tests passed
	1 test failed:
	13 tests skipped:

---

From: Khushboo Vashi <[email-masked]>
Date: Wed, 7 Mar 2018 22:07:11 +0530

Please find the attached updated patch.
This should work.

On Wed, Mar 7, 2018 at 9:46 PM, Dave Page <[email-masked]> wrote:

>>>> With the help of logs, I have tried to fix it. Can you please check
>>>> this fix is helpful or not?
>>>>
>>>
>>> On my laptop I now get:
>>>
> Python 2.7.10 on macOS Sierra, testing against PostgreSQL 9.4. Here are
> the package versions in the venv:
>
> alabaster==0.7.10
> alembic==0.9.6
> args==0.1.0
> Babel==2.3.4
> backports.csv==1.0.4
> beautifulsoup4==4.4.1
> blinker==1.3
diff --git a/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py b/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py
index 275ed9c..e0a8d38 100644
--- a/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py
+++ b/web/pgadmin/tools/sqleditor/tests/test_poll_query_tool.py
@@ -99,9 +99,11 @@ NOTICE:  Hello, world!
             self.assertEquals(response.status_code, 200)
             response_data = json.loads(response.data.decode('utf-8'))
 
-            # Check the returned messages
-            self.assertEquals(self.expected_message[cnt],
+            if self.expected_message[cnt] is not None:
+                # Check the returned messages
+                self.assertIn(self.expected_message[cnt],
                               response_data['data']['additional_messages'])
+
             # Check the output
             self.assertEquals(self.expected_result[cnt],
                               response_data['data']['result'][0][0])

---

From: pgAdmin 4 Jenkins <[email-masked]>
Date: Wed, 7 Mar 2018 16:44:22 +0000 (UTC)

See <https://jenkins.pgadmin.org/job/pgadmin4-master-python33/509/display/redirect?page=changes>

Changes:

[Dave Page] Allow admins to disable the use of Gravatar if they choose. Fixes #3037

------------------------------------------
[...truncated 612.25 KB...]
	288 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	3 tests skipped:
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,
					Detach partition from existing range partitioned table,
					Attach partition to existing range partitioned table,
					Attach partition to existing list partitioned table,
					Create partitions of existing range partitioned table)
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TestSSLConnection (Test for SSL connection)

PostgreSQL 10:

	278 tests passed
	1 test failed:

EDB Postgres AS 9.2:

	276 tests passed
	1 test failed:
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,

PostgreSQL 9.3:

	276 tests passed
	1 test failed:
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,

PostgreSQL 9.2:

	269 tests passed
	0 tests failed
	23 tests skipped:
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,

PostgreSQL 9.5:

	276 tests passed
	1 test failed:
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,

PostgreSQL 9.4:

	276 tests passed
	1 test failed:
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,

EDB Postgres AS 9.6:

	288 tests passed
	1 test failed:
		TestPollQueryTool (When query tool polling returns messages with result data-set)
	3 tests skipped:
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,
					Detach partition from existing range partitioned table,
					Attach partition to existing range partitioned table,
					Attach partition to existing list partitioned table,
					Create partitions of existing range partitioned table)
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TestSSLConnection (Test for SSL connection)

PostgreSQL 9.6:

	276 tests passed
	1 test failed:
		TableAddTestCase (Create List partitioned table with 2 partitions,
					Create Range partitioned table with 2 partitions)
		TableUpdateTestCase (Detach partition from existing list partitioned table,
					Create partitions of existing list partitioned table,

---

From: Dave Page <[email-masked]>
Date: Wed, 7 Mar 2018 16:50:10 +0000

Thanks, applied. Lets see what happens.

On Wed, Mar 7, 2018 at 4:37 PM, Khushboo Vashi <
[email-masked]> wrote:

>>>>>> I have tried to reproduce the issue with many combination but
>>>>> couldn't reproduce it.

---

From: Dave Page <[email-masked]>
Date: Wed, 7 Mar 2018 17:03:14 +0000

It still seems to be failing :-(

https://jenkins.pgadmin.org/job/pgadmin4-master-python26/lastFailedBuild/consoleFull

On Wed, Mar 7, 2018 at 4:50 PM, Dave Page <[email-masked]> wrote:

>>>>> Please provide some more details. Is this failing for particular
>>>> server version?
>>>> I am not getting any error with this patch and without this patch on
>>>> PY2 and PY3 with a single/multiple servers.
>>>>
>>>

---

From: Khushboo Vashi <[email-masked]>
Date: Wed, 7 Mar 2018 22:34:04 +0530

On Wed, Mar 7, 2018 at 10:33 PM, Dave Page <[email-masked]> wrote:

> :(

---

From: pgAdmin 4 Jenkins <[email-masked]>
Date: Wed, 7 Mar 2018 17:16:16 +0000 (UTC)

See <https://jenkins.pgadmin.org/job/pgadmin4-master-python33/510/display/redirect?page=changes>

Changes:

[Dave Page] Make the poll query test a little more robust.

[...truncated 610.86 KB...]
					Detach partition from existing range partitioned table)

PostgreSQL 9.6:

	276 tests passed
	1 test failed:
					Detach partition from existing range partitioned table)

PostgreSQL 10:

	278 tests passed
	1 test failed:

EDB Postgres AS 9.5:

	288 tests passed
	1 test failed:
					Detach partition from existing range partitioned table)

EDB Postgres AS 9.4:

	288 tests passed
	1 test failed:
					Detach partition from existing range partitioned table)

PostgreSQL 9.2:

	269 tests passed
	0 tests failed
	23 tests skipped:
					Detach partition from existing range partitioned table)

PostgreSQL 9.3:

	276 tests passed
	1 test failed:
					Detach partition from existing range partitioned table)

EDB Postgres AS 9.2:

	276 tests passed
	1 test failed:
					Detach partition from existing range partitioned table)

EDB Postgres AS 9.6:

	288 tests passed
	1 test failed:
					Detach partition from existing range partitioned table)

EDB Postgres AS 9.3:

	284 tests passed
	1 test failed:
					Detach partition from existing range partitioned table)

---

From: Khushboo Vashi <[email-masked]>
Date: Wed, 7 Mar 2018 23:13:37 +0530

Hi Dave,

Please find the patch to fix this.
I have fixed this issue in the StartRunningQueryTest class, this test class
changes the behaviour of the methods through MagicMock and due to this this
test case is failing.

Thanks,
Khushboo

On Wed, Mar 7, 2018 at 10:34 PM, Khushboo Vashi <
[email-masked]> wrote:

>>>>> Python 2.7.10 on macOS Sierra, testing against PostgreSQL 9.4. Here
>>>>> are the package versions in the venv:
>>>>>
>>>>> alabaster==0.7.10
>>>>> alembic==0.9.6
>>>>> args==0.1.0
>>>>> Babel==2.3.4
>>>>> backports.csv==1.0.4
>>>>> beautifulsoup4==4.4.1
>>>>> blinker==1.3
diff --git a/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py b/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
index b8e1ec6..ac9fae4 100644
--- a/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
+++ b/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
@@ -410,6 +410,7 @@ class StartRunningQueryTest(BaseTestGenerator):
             StartRunningQuery.is_begin_required_for_sql_query = MagicMock(
                 return_value=False
             )
+        self.is_rollback_statement_required = StartRunningQuery.is_rollback_statement_required
         if self.is_rollback_required:
             StartRunningQuery.is_rollback_statement_required = MagicMock(
                 return_value=True
@@ -519,3 +520,8 @@ class StartRunningQueryTest(BaseTestGenerator):
             self.connection.execute_void.assert_called_with('ROLLBACK;')
         elif not self.is_begin_required:
             self.connection.execute_void.assert_not_called()
+
+    def tearDown(self):
+        #  Reseting to the original state as it affects other test cases
+        StartRunningQuery.is_rollback_statement_required = \
+            self.is_rollback_statement_required

---

From: Khushboo Vashi <[email-masked]>
Date: Thu, 8 Mar 2018 09:56:46 +0530

On Wed, Mar 7, 2018 at 11:13 PM, Khushboo Vashi <
[email-masked]> wrote:

> I have fixed this issue in the StartRunningQueryTest class, this test
> class changes the behaviour of the methods through MagicMock and due to
> this this test case is failing.
>
> Revised patch with some modification.

>>>>>>>>> With the help of logs, I have tried to fix it. Can you please
>>>>>>>>> check this fix is helpful or not?
>>>>>>>>>
>>>>>>>>
>>>>>>>> On my laptop I now get:
>>>>>>>>
diff --git a/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py b/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
index b8e1ec6..bc95e5a 100644
--- a/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
+++ b/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
@@ -402,6 +402,12 @@ class StartRunningQueryTest(BaseTestGenerator):
         blueprint_mock = MagicMock(
             info_notifier_timeout=MagicMock(get=lambda: 5))
 
+        # Save value for the later use
+        self.is_begin_required_for_sql_query = \
+            StartRunningQuery.is_begin_required_for_sql_query
+        self.is_rollback_statement_required = \
+            StartRunningQuery.is_rollback_statement_required
+
         if self.is_begin_required:
             StartRunningQuery.is_begin_required_for_sql_query = MagicMock(
                 return_value=True
@@ -519,3 +525,10 @@ class StartRunningQueryTest(BaseTestGenerator):
             self.connection.execute_void.assert_called_with('ROLLBACK;')
         elif not self.is_begin_required:
             self.connection.execute_void.assert_not_called()
+
+    def tearDown(self):
+        #  Reset methods to the original state
+        StartRunningQuery.is_rollback_statement_required = \
+            self.is_rollback_statement_required
+        StartRunningQuery.is_rollback_statement_required = \
+            self.is_rollback_statement_required

---

From: Dave Page <[email-masked]>
Date: Thu, 8 Mar 2018 09:13:19 +0000

Thanks, applied.

On Thu, Mar 8, 2018 at 4:26 AM, Khushboo Vashi <
[email-masked]> wrote:

>>>>>>>>>>> Khushboo, can you look at this ASAP please? It passed tests on
>>>>>>>>>>> my machine, but Jenkins isn't happy.
>>>>>>>>>>>
>>>>>>>>>   File "/Users/dpage/git/pgadmin4/web
>>>>>>>>> /pgadmin/tools/sqleditor/tests/test_poll_query_tool.py", line
>>>>>>>>> 104, in runTest
>>>>>>>>>   File "/System/Library/Frameworks/Py
>>>>>>>>> thon.framework/Versions/2.7/lib/python2.7/unittest/case.py", line
>>>>>>>>> 802, in assertIn
>>>>>>>> I am not getting any error with this patch and without this patch
>>>>>>>> on PY2 and PY3 with a single/multiple servers.
>>>>>>>>
>>>>>>>

---

From: Dave Page <[email-masked]>
Date: Thu, 8 Mar 2018 09:38:46 +0000

Well, it looks like Python 3 might be happy now. 2.6 and 2.7 aren't though
(which is odd, as it passed on my local 2.7).

On Thu, Mar 8, 2018 at 9:13 AM, Dave Page <[email-masked]> wrote:

>>>>>>>>>> thon.framework/Versions/2.7/lib/python2.7/unittest/case.py",
>>>>>>>>>> line 802, in assertIn

---

From: Khushboo Vashi <[email-masked]>
Date: Thu, 8 Mar 2018 15:17:46 +0530

On Thu, Mar 8, 2018 at 3:08 PM, Dave Page <[email-masked]> wrote:

> I am looking into this. Btw, which command do you use to run tests?

>>>>>>>>> Python 2.7.10 on macOS Sierra, testing against PostgreSQL 9.4.
>>>>>>>>> Here are the package versions in the venv:
>>>>>>>>>
>>>>>>>>> alabaster==0.7.10
>>>>>>>>> alembic==0.9.6
>>>>>>>>> args==0.1.0
>>>>>>>>> Babel==2.3.4
>>>>>>>>> backports.csv==1.0.4
>>>>>>>>> beautifulsoup4==4.4.1
>>>>>>>>> blinker==1.3

---

From: pgAdmin 4 Jenkins <[email-masked]>
Date: Thu, 8 Mar 2018 09:57:08 +0000 (UTC)

See <https://jenkins.pgadmin.org/job/pgadmin4-master-python33/511/display/redirect?page=changes>

---

From: Dave Page <[email-masked]>
Date: Thu, 8 Mar 2018 10:05:42 +0000

On Thu, Mar 8, 2018 at 9:47 AM, Khushboo Vashi <
[email-masked]> wrote:

>> Well, it looks like Python 3 might be happy now. 2.6 and 2.7 aren't
>> though (which is odd, as it passed on my local 2.7).
>>

make check-python

>>>>>>>>>>>>>> Khushboo, can you look at this ASAP please? It passed tests
>>>>>>>>>>>>>> on my machine, but Jenkins isn't happy.
>>>>>>>>>>>>>>
>>>>>>>>>>>> Please provide some more details. Is this failing for
>>>>>>>>>>> particular server version?
>>>>>>>>>>> I am not getting any error with this patch and without this
>>>>>>>>>>> patch on PY2 and PY3 with a single/multiple servers.
>>>>>>>>>>>
>>>>>>>>>>

---

From: Khushboo Vashi <[email-masked]>
Date: Thu, 8 Mar 2018 15:49:44 +0530

On Thu, Mar 8, 2018 at 3:35 PM, Dave Page <[email-masked]> wrote:

>>> Please find the attached patch to fix the test issue in PY2. I have
tested it on python 2.7 and 3.5 with 3 servers.

>>>>>>>>>>>>>>> I have tried to reproduce the issue with many combination
>>>>>>>>>>>>>> but couldn't reproduce it.
diff --git a/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py b/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
index bc95e5a..23a5c7f 100644
--- a/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
+++ b/web/pgadmin/tools/sqleditor/utils/tests/test_start_running_query.py
@@ -529,6 +529,6 @@ class StartRunningQueryTest(BaseTestGenerator):
     def tearDown(self):
         #  Reset methods to the original state
         StartRunningQuery.is_rollback_statement_required = \
-            self.is_rollback_statement_required
+            staticmethod(self.is_rollback_statement_required)
         StartRunningQuery.is_rollback_statement_required = \
-            self.is_rollback_statement_required
+            staticmethod(self.is_rollback_statement_required)