Merge lp:~canonical-isd-hackers/canonical-identity-provider/consumer-staging-ssl into lp:canonical-identity-provider/release

Proposed by Szilveszter Farkas
Status: Merged
Merged at revision: 12
Proposed branch: lp:~canonical-isd-hackers/canonical-identity-provider/consumer-staging-ssl
Merge into: lp:canonical-identity-provider/release
Diff against target: 78 lines (+34/-3)
2 files modified
identityprovider/tests/test_views_consumer.py (+29/-1)
identityprovider/views/consumer.py (+5/-2)
To merge this branch: bzr merge lp:~canonical-isd-hackers/canonical-identity-provider/consumer-staging-ssl
Reviewer Review Type Date Requested Status
Łukasz Czyżykowski (community) Approve
Ricardo Kirkner (community) Abstain
Review via email: mp+24670@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote :

No tests are present for the changes made

review: Needs Fixing
Revision history for this message
Szilveszter Farkas (phanatic) wrote :

I'm open to any suggestions about how to test something that's specific to the staging environment.

Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote :

Since I added changes to this branch I don't want to give it the last +1.

review: Abstain
Revision history for this message
Łukasz Czyżykowski (lukasz-czyzykowski) wrote :

+1 for tests checking that this change is actually working.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'identityprovider/tests/test_views_consumer.py'
2--- identityprovider/tests/test_views_consumer.py 2010-04-21 15:29:24 +0000
3+++ identityprovider/tests/test_views_consumer.py 2010-05-07 19:00:42 +0000
4@@ -3,7 +3,17 @@
5
6 import unittest
7
8-from identityprovider.views.consumer import getBaseURL
9+from openid import fetchers
10+
11+# need to override fetcher before consumer module gets imported
12+class MockFetcher(fetchers.Urllib2Fetcher):
13+ called = False
14+ def fetch(self, url, body=None, headers=None):
15+ MockFetcher.called = True
16+ return super(MockFetcher, self).fetch(url, body, headers)
17+
18+fetchers.Urllib2Fetcher = MockFetcher
19+from identityprovider.views.consumer import getBaseURL, startOpenID
20
21
22 class DummyRequest(object):
23@@ -11,6 +21,24 @@
24 self.META = META
25
26
27+class DummyDjangoRequest(object):
28+ META = {
29+ 'HTTP_HOST': "localhost",
30+ 'SCRIPT_NAME': "http://localhost/consumer/",
31+ 'SERVER_PROTOCOL': "http",
32+ }
33+ POST = {
34+ 'openid_identifier': "http://localhost/+id/abcd123",
35+ }
36+ session = {}
37+
38+
39+class FetcherTestCase(unittest.TestCase):
40+ def test_check_custom_fetcher_called(self):
41+ response = startOpenID(DummyDjangoRequest())
42+ self.assertTrue(MockFetcher.called)
43+
44+
45 class GetBaseURLTestCase(unittest.TestCase):
46 def setUp(self):
47 self.http_consumer_url = "http://localhost/"
48
49=== modified file 'identityprovider/views/consumer.py'
50--- identityprovider/views/consumer.py 2010-04-21 15:29:24 +0000
51+++ identityprovider/views/consumer.py 2010-05-07 19:00:42 +0000
52@@ -16,6 +16,7 @@
53
54 from openid.consumer import consumer
55 from openid.consumer.discover import DiscoveryFailure
56+from openid.fetchers import setDefaultFetcher, Urllib2Fetcher
57 from openid.extensions import sreg
58 from openid.yadis.constants import YADIS_HEADER_NAME, YADIS_CONTENT_TYPE
59 from openid.server.trustroot import RP_RETURN_TO_URL_TYPE
60@@ -24,6 +25,8 @@
61
62 TEAMS_REQUESTED = ['canonical-partner-dev', 'hwdb-team', 'otherteam']
63
64+setDefaultFetcher(Urllib2Fetcher())
65+
66
67 def getBaseURL(req):
68 """
69@@ -227,8 +230,8 @@
70 consumer.SUCCESS:
71 {'url': response.getDisplayIdentifier(),
72 'sreg': sreg_response and sreg_response.items(),
73- 'teams': teams_response and teams_response.is_member}
74- }
75+ 'teams': teams_response and teams_response.is_member},
76+ }
77
78 result = results[response.status]
79