Please find the attached updated patch.
This should work.

On Wed, Mar 7, 2018 at 9:46 PM, Dave Page <dp...@pgadmin.org> wrote:

>
>
> On Wed, Mar 7, 2018 at 4:13 PM, Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>>
>>
>> On Wed, Mar 7, 2018 at 9:23 PM, Dave Page <dp...@pgadmin.org> wrote:
>>
>>> Hi
>>>
>>> On Wed, Mar 7, 2018 at 3:10 PM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
>>>> Hi Dave,
>>>>
>>>> On Wed, Mar 7, 2018 at 7:34 PM, Dave Page <dp...@pgadmin.org> wrote:
>>>>
>>>>> Khushboo, can you look at this ASAP please? It passed tests on my
>>>>> machine, but Jenkins isn't happy.
>>>>>
>>>>> 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?
>>>>
>>>
>>> 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
>>>
>>> ----------------------------------------------------------------------
>>>
>>> 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.
>>
>
> 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
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
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])

Reply via email to