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 <
khushboo.va...@enterprisedb.com> wrote:

>
>
> On Wed, Mar 7, 2018 at 10:33 PM, Dave Page <dp...@pgadmin.org> wrote:
>
>> It still seems to be failing :-(
>>
>> :(
>
>> https://jenkins.pgadmin.org/job/pgadmin4-master-python26/las
>> tFailedBuild/consoleFull
>>
>> On Wed, Mar 7, 2018 at 4:50 PM, Dave Page <dp...@pgadmin.org> wrote:
>>
>>> Thanks, applied. Lets see what happens.
>>>
>>> On Wed, Mar 7, 2018 at 4:37 PM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
>>>> 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
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Dave Page
>>> Blog: http://pgsnake.blogspot.com
>>> Twitter: @pgsnake
>>>
>>> EnterpriseDB UK: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>
>>
>>
>> --
>> 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/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

Reply via email to