Merge lp:~mandel/ubuntu-sso-client/fix-proxy-q into lp:ubuntu-sso-client

Proposed by Manuel de la Peña
Status: Merged
Approved by: dobey
Approved revision: 1005
Merged at revision: 1004
Proposed branch: lp:~mandel/ubuntu-sso-client/fix-proxy-q
Merge into: lp:ubuntu-sso-client
Diff against target: 70 lines (+13/-3)
2 files modified
ubuntu_sso/utils/webclient/qtnetwork.py (+9/-3)
ubuntu_sso/utils/webclient/tests/test_qtnetwork.py (+4/-0)
To merge this branch: bzr merge lp:~mandel/ubuntu-sso-client/fix-proxy-q
Reviewer Review Type Date Requested Status
Diego Sarmentero (community) Approve
dobey (community) Approve
Review via email: mp+127995@code.launchpad.net

Commit message

- Set both application and nam proxy to work in all supported Qt versions. (LP: #1061528)

Description of the change

- Do not just set the application network but also set it in the nam to be sure we work in all versions (LP:#1061528).

To post a comment you must log in.
Revision history for this message
dobey (dobey) :
review: Approve
Revision history for this message
Diego Sarmentero (diegosarmentero) wrote :
Download full text (8.5 KiB)

I'm getting this:

[FAIL]
Traceback (most recent call last):
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/qt/tests/test_reset_password.py", line 106, in test_show_hide_event
    QtCore.SIGNAL("focusChanged(QWidget*, QWidget*)")), 1)
  File "/usr/lib/python2.7/dist-packages/twisted/trial/unittest.py", line 271, in assertEqual
    % (msg, pformat(first), pformat(second)))
twisted.trial.unittest.FailTest: not equal:
a = 2
b = 1

ubuntu_sso.qt.tests.test_reset_password.ResetPasswordTestCase.test_show_hide_event
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1045, in _inlineCallbacks
    result = g.send(result)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/tests/test_webclient.py", line 570, in test_anonymous_proxy_is_used
    self.wc.force_use_proxy(settings)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/qtnetwork.py", line 257, in force_use_proxy
    self._set_proxy(proxy)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/qtnetwork.py", line 111, in _set_proxy
    self.nam.setProxy(proxy)
exceptions.TypeError: QNetworkAccessManager.setProxy(QNetworkProxy): first argument of unbound method must have type 'QNetworkAccessManager'

ubuntu_sso.utils.webclient.tests.test_webclient.BasicProxyTestCase.test_anonymous_proxy_is_used
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1045, in _inlineCallbacks
    result = g.send(result)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/tests/test_webclient.py", line 618, in test_auth_proxy_is_requested_creds_bad_details
    self.wc.force_use_proxy(wrong_settings)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/qtnetwork.py", line 257, in force_use_proxy
    self._set_proxy(proxy)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/qtnetwork.py", line 111, in _set_proxy
    self.nam.setProxy(proxy)
exceptions.TypeError: QNetworkAccessManager.setProxy(QNetworkProxy): first argument of unbound method must have type 'QNetworkAccessManager'

ubuntu_sso.utils.webclient.tests.test_webclient.BasicProxyTestCase.test_auth_proxy_is_requested_creds_bad_details
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1045, in _inlineCallbacks
    result = g.send(result)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/tests/test_webclient.py", line 666, in test_auth_proxy_is_requested_creds_bad_details_everywhere
    self.wc.force_use_proxy(wrong_settings)
  File "/media/gatox/gato/proyectos/canonical/fix-proxy-q/ubuntu_sso/utils/webclient/qtnetwork.py", line 257, in force_use_proxy
    self._set_proxy(proxy)
  File "/...

Read more...

review: Needs Fixing
Revision history for this message
Diego Sarmentero (diegosarmentero) wrote :

+1
This is causing some weird issue running the whole suit in my machine, but working if running webclient tests individually

review: Approve
Revision history for this message
Ubuntu One Auto Pilot (otto-pilot) wrote :
Download full text (116.9 KiB)

The attempt to merge lp:~mandel/ubuntu-sso-client/fix-proxy-q into lp:ubuntu-sso-client failed. Below is the output from the failed tests.

*** Running QT test suite for ubuntu_sso ***
running build
Compiled data/qt/proxy_credentials_dialog.ui into ubuntu_sso/qt/ui/proxy_credentials_dialog_ui.py
compiled data/qt/resources.qrc into ubuntu_sso/qt/ui/resources_rc.py
Compiled data/qt/setup_account.ui into ubuntu_sso/qt/ui/setup_account_ui.py
Compiled data/qt/reset_password.ui into ubuntu_sso/qt/ui/reset_password_ui.py
Compiled data/qt/network_detection.ui into ubuntu_sso/qt/ui/network_detection_ui.py
Compiled data/qt/forgotten_password.ui into ubuntu_sso/qt/ui/forgotten_password_ui.py
Compiled data/qt/ssl_dialog.ui into ubuntu_sso/qt/ui/ssl_dialog_ui.py
Compiled data/qt/success_message.ui into ubuntu_sso/qt/ui/success_message_ui.py
Compiled data/qt/loadingoverlay.ui into ubuntu_sso/qt/ui/loadingoverlay_ui.py
Compiled data/qt/current_user_sign_in.ui into ubuntu_sso/qt/ui/current_user_sign_in_ui.py
Compiled data/qt/error_message.ui into ubuntu_sso/qt/ui/error_message_ui.py
Compiled data/qt/email_verification.ui into ubuntu_sso/qt/ui/email_verification_ui.py
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/logger.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
creating build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_common.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/glib.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/darwin.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/windows.py -> build/lib.linux-x86_64-2.7/ubun...

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ubuntu_sso/utils/webclient/qtnetwork.py'
--- ubuntu_sso/utils/webclient/qtnetwork.py 2012-08-16 19:37:45 +0000
+++ ubuntu_sso/utils/webclient/qtnetwork.py 2012-10-04 12:34:40 +0000
@@ -104,6 +104,12 @@
104 self.proxy_retry = False104 self.proxy_retry = False
105 self.setup_proxy()105 self.setup_proxy()
106106
107 def _set_proxy(self, proxy):
108 """Set the proxy to be used."""
109 QNetworkProxy.setApplicationProxy(proxy)
110 # ensure that we work with the latest qt in ubuntu q
111 self.nam.setProxy(proxy)
112
107 def setup_proxy(self):113 def setup_proxy(self):
108 """Setup the proxy settings if needed."""114 """Setup the proxy settings if needed."""
109 # QtNetwork knows how to use the system settings on both Win and Mac115 # QtNetwork knows how to use the system settings on both Win and Mac
@@ -112,7 +118,7 @@
112 enabled = len(settings) > 0118 enabled = len(settings) > 0
113 if enabled and WebClient.proxy_instance is None:119 if enabled and WebClient.proxy_instance is None:
114 proxy = build_proxy(settings)120 proxy = build_proxy(settings)
115 QNetworkProxy.setApplicationProxy(proxy)121 self._set_proxy(proxy)
116 WebClient.proxy_instance = proxy122 WebClient.proxy_instance = proxy
117 elif enabled and WebClient.proxy_instance:123 elif enabled and WebClient.proxy_instance:
118 logger.info("Proxy already in use.")124 logger.info("Proxy already in use.")
@@ -123,7 +129,7 @@
123 logger.info("Querying OS for proxy.")129 logger.info("Querying OS for proxy.")
124 query = QNetworkProxyQuery(QUrl(PROXY_REQUEST))130 query = QNetworkProxyQuery(QUrl(PROXY_REQUEST))
125 proxies = QNetworkProxyFactory.systemProxyForQuery(query)131 proxies = QNetworkProxyFactory.systemProxyForQuery(query)
126 QNetworkProxy.setApplicationProxy(proxies[0])132 self._set_proxy(proxies[0])
127 WebClient.proxy_instance = proxies[0]133 WebClient.proxy_instance = proxies[0]
128134
129 def handle_proxy_auth(self, proxy, authenticator):135 def handle_proxy_auth(self, proxy, authenticator):
@@ -248,7 +254,7 @@
248 """Setup this webclient to use the given proxy settings."""254 """Setup this webclient to use the given proxy settings."""
249 settings = {"https": https_settings}255 settings = {"https": https_settings}
250 proxy = build_proxy(settings)256 proxy = build_proxy(settings)
251 QNetworkProxy.setApplicationProxy(proxy)257 self._set_proxy(proxy)
252 WebClient.proxy_instance = proxy258 WebClient.proxy_instance = proxy
253259
254 def shutdown(self):260 def shutdown(self):
255261
=== modified file 'ubuntu_sso/utils/webclient/tests/test_qtnetwork.py'
--- ubuntu_sso/utils/webclient/tests/test_qtnetwork.py 2012-08-16 19:37:45 +0000
+++ ubuntu_sso/utils/webclient/tests/test_qtnetwork.py 2012-10-04 12:34:40 +0000
@@ -102,6 +102,8 @@
102102
103 self.patch(qtnetwork, 'build_proxy', fake_build_proxy)103 self.patch(qtnetwork, 'build_proxy', fake_build_proxy)
104 qtnetwork.WebClient.proxy_instance = None104 qtnetwork.WebClient.proxy_instance = None
105 self.patch(qtnetwork.QNetworkAccessManager, 'setProxy',
106 lambda _, p: self.called.append(('setProxy', p)))
105 self.addCleanup(self._clean_webclient_instance)107 self.addCleanup(self._clean_webclient_instance)
106108
107 def _set_old_platform(self, platform):109 def _set_old_platform(self, platform):
@@ -129,6 +131,7 @@
129 qtnetwork.WebClient()131 qtnetwork.WebClient()
130 self.assertEqual(self.proxy, qtnetwork.WebClient.proxy_instance)132 self.assertEqual(self.proxy, qtnetwork.WebClient.proxy_instance)
131 self.assertIn(('setApplicationProxy', self.proxy), self.called)133 self.assertIn(('setApplicationProxy', self.proxy), self.called)
134 self.assertIn(('setProxy', self.proxy), self.called)
132 self.assertIn(('build_proxy', self.settings), self.called)135 self.assertIn(('build_proxy', self.settings), self.called)
133136
134 def test_setup_instance_present(self):137 def test_setup_instance_present(self):
@@ -138,6 +141,7 @@
138 qtnetwork.WebClient()141 qtnetwork.WebClient()
139 self.assertNotEqual(self.proxy, qtnetwork.WebClient.proxy_instance)142 self.assertNotEqual(self.proxy, qtnetwork.WebClient.proxy_instance)
140 self.assertNotIn(('setApplicationProxy', self.proxy), self.called)143 self.assertNotIn(('setApplicationProxy', self.proxy), self.called)
144 self.assertNotIn(('setProxy', self.proxy), self.called)
141 self.assertNotIn(('build_proxy', self.settings), self.called)145 self.assertNotIn(('build_proxy', self.settings), self.called)
142146
143147

Subscribers

People subscribed via source and target branches