[Reportbug-commits] r545 - in (trunk trunk/test/test_urlutils.py trunk/urlutils.py)

bignose-guest at users.alioth.debian.org bignose-guest at users.alioth.debian.org
Tue Jun 17 14:17:58 UTC 2008


    Date: Tuesday, June 17, 2008 @ 14:17:56
  Author: bignose-guest
Revision: 545

Merge preliminary work for bug #434749.

Modified:
  trunk/	(properties)
  trunk/test/test_urlutils.py
  trunk/urlutils.py


Property changes on: trunk
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2008-06-15 21:35:12.114000082 +1000
committer: Ben Finney <ben+debian at benfinney.id.au>
properties: 
	branch-nick: reportbug.trunk

   + timestamp: 2008-06-18 00:17:35.303999901 +1000
committer: Ben Finney <ben+debian at benfinney.id.au>
properties: 
	branch-nick: reportbug.trunk

Name: bzr:ancestry:v3-trunk0
   - svn-v3-trunk0:692dde74-6b68-4300-bcb1-27de2ae967a4:trunk:465
ben at benfinney.id.au-20080513092239-x05am8p276tb2kg1
svn-v3-trunk0:692dde74-6b68-4300-bcb1-27de2ae967a4:trunk:493
ben at benfinney.id.au-20080519091029-06dxmqwzhb3yilyx
ben+debian at benfinney.id.au-20080612074608-st90p1fu8an15aoa

   + svn-v3-trunk0:692dde74-6b68-4300-bcb1-27de2ae967a4:trunk:465
ben at benfinney.id.au-20080513092239-x05am8p276tb2kg1
svn-v3-trunk0:692dde74-6b68-4300-bcb1-27de2ae967a4:trunk:493
ben at benfinney.id.au-20080519091029-06dxmqwzhb3yilyx
ben+debian at benfinney.id.au-20080612074608-st90p1fu8an15aoa
ben+debian at benfinney.id.au-20080617140938-8u29ck3oyx6nvup8

Name: bzr:revision-id:v3-trunk0
   - 5 ben at benfinney.id.au-20080504081108-ykaq013niveq5do4
6 ben at benfinney.id.au-20080504094936-i9nzchzppijemjel
7 ben at benfinney.id.au-20080504095004-vo7hae1dlvslyd3n
8 ben at benfinney.id.au-20080504095020-oednextpvn7t5rlu
9 ben at benfinney.id.au-20080504125948-1d4g9xepct6kvi0z
10 ben at benfinney.id.au-20080505220724-b7ukefql4qvpx1xw
11 ben at benfinney.id.au-20080507013031-erl1rubn3zy43kh1
12 ben at benfinney.id.au-20080507013710-oajkqze1er4rinls
13 ben at benfinney.id.au-20080507013915-1d5jewvzy941j453
14 ben at benfinney.id.au-20080507020935-m09yffl1on5ozaq0
20 ben at benfinney.id.au-20080509011507-nlyos9rk6v98z7gr
21 ben at benfinney.id.au-20080512042402-45bz136iaqqkso1m
22 ben at benfinney.id.au-20080512092913-hiqsjx1c4zne12ww
23 ben at benfinney.id.au-20080512134453-rk2z4cd96cj878gs
24 ben at benfinney.id.au-20080513090758-hjyz92rywt82hqiq
25 ben at benfinney.id.au-20080513123205-1owd1pz25e4hzo6l
26 ben at benfinney.id.au-20080513123517-khu4vub7y2zj5p8p
27 ben at benfinney.id.au-20080513134345-8973ffg30e04g3tu
28 ben at benfinney.id.au-20080514005413-5k4l7lw8e5vaq7e1
29 ben at benfinney.id.au-20080514005730-7glxrw4uzpkubnla
31 ben at benfinney.id.au-20080514131718-ntlmu9p75d47deip
32 ben at benfinney.id.au-20080514132358-uauqumygnnej6pjf
33 ben at benfinney.id.au-20080514132753-gav8kbe3dspapd7u
34 ben at benfinney.id.au-20080514133059-cy6u29i5moykrtnh
35 ben at benfinney.id.au-20080514133553-5widku0hx6nsff9d
36 ben at benfinney.id.au-20080514134337-n4oqeqmxoziqien1
37 ben at benfinney.id.au-20080515235707-onlz56zkx3x12i5r
38 ben at benfinney.id.au-20080516000116-t4vrd4o9i80bd0z5
42 ben at benfinney.id.au-20080519091300-2tkjv4jw6qrb86kh
43 ben at benfinney.id.au-20080520220815-s25jq1htw43z0p03
44 ben at benfinney.id.au-20080520221009-b9oy325k68s6qvo0
45 ben at benfinney.id.au-20080520221158-polu6p88z9o4vek2
46 ben at benfinney.id.au-20080520221519-1tml0hwsd1qku2sy
69 ben+debian at benfinney.id.au-20080612074858-jnkcbbl4pbjgdm4l
70 ben+debian at benfinney.id.au-20080615010748-jkvfjh5v343fic43
71 ben+debian at benfinney.id.au-20080615013432-5cib04snx3kw7ld8
72 ben+debian at benfinney.id.au-20080615015457-typdye8lub7o60ni
73 ben+debian at benfinney.id.au-20080615034123-yafapmxdntwsx23x
74 ben+debian at benfinney.id.au-20080615055311-2ebau3j0zqvny5r3
75 ben+debian at benfinney.id.au-20080615061738-eksd4xtmwy99wgwf
76 ben+debian at benfinney.id.au-20080615062842-aijpcia9hafw110x
77 ben+debian at benfinney.id.au-20080615070648-ijuzhq58m935y3cm
78 ben+debian at benfinney.id.au-20080615072705-2bxpn1lnrif25k5x
79 ben+debian at benfinney.id.au-20080615074730-2v9j4ozqbl02rhrj
80 ben+debian at benfinney.id.au-20080615074918-d7rq1dv6o8y47p7s
81 ben+debian at benfinney.id.au-20080615084002-d1q4qte57n0v9rpp
82 ben+debian at benfinney.id.au-20080615092649-6wxbxyzovkill4dk
83 ben+debian at benfinney.id.au-20080615095735-29ebi4gg9jjqq40q
84 ben+debian at benfinney.id.au-20080615113512-zh2drdguy0hb5ae3

   + 5 ben at benfinney.id.au-20080504081108-ykaq013niveq5do4
6 ben at benfinney.id.au-20080504094936-i9nzchzppijemjel
7 ben at benfinney.id.au-20080504095004-vo7hae1dlvslyd3n
8 ben at benfinney.id.au-20080504095020-oednextpvn7t5rlu
9 ben at benfinney.id.au-20080504125948-1d4g9xepct6kvi0z
10 ben at benfinney.id.au-20080505220724-b7ukefql4qvpx1xw
11 ben at benfinney.id.au-20080507013031-erl1rubn3zy43kh1
12 ben at benfinney.id.au-20080507013710-oajkqze1er4rinls
13 ben at benfinney.id.au-20080507013915-1d5jewvzy941j453
14 ben at benfinney.id.au-20080507020935-m09yffl1on5ozaq0
20 ben at benfinney.id.au-20080509011507-nlyos9rk6v98z7gr
21 ben at benfinney.id.au-20080512042402-45bz136iaqqkso1m
22 ben at benfinney.id.au-20080512092913-hiqsjx1c4zne12ww
23 ben at benfinney.id.au-20080512134453-rk2z4cd96cj878gs
24 ben at benfinney.id.au-20080513090758-hjyz92rywt82hqiq
25 ben at benfinney.id.au-20080513123205-1owd1pz25e4hzo6l
26 ben at benfinney.id.au-20080513123517-khu4vub7y2zj5p8p
27 ben at benfinney.id.au-20080513134345-8973ffg30e04g3tu
28 ben at benfinney.id.au-20080514005413-5k4l7lw8e5vaq7e1
29 ben at benfinney.id.au-20080514005730-7glxrw4uzpkubnla
31 ben at benfinney.id.au-20080514131718-ntlmu9p75d47deip
32 ben at benfinney.id.au-20080514132358-uauqumygnnej6pjf
33 ben at benfinney.id.au-20080514132753-gav8kbe3dspapd7u
34 ben at benfinney.id.au-20080514133059-cy6u29i5moykrtnh
35 ben at benfinney.id.au-20080514133553-5widku0hx6nsff9d
36 ben at benfinney.id.au-20080514134337-n4oqeqmxoziqien1
37 ben at benfinney.id.au-20080515235707-onlz56zkx3x12i5r
38 ben at benfinney.id.au-20080516000116-t4vrd4o9i80bd0z5
42 ben at benfinney.id.au-20080519091300-2tkjv4jw6qrb86kh
43 ben at benfinney.id.au-20080520220815-s25jq1htw43z0p03
44 ben at benfinney.id.au-20080520221009-b9oy325k68s6qvo0
45 ben at benfinney.id.au-20080520221158-polu6p88z9o4vek2
46 ben at benfinney.id.au-20080520221519-1tml0hwsd1qku2sy
69 ben+debian at benfinney.id.au-20080612074858-jnkcbbl4pbjgdm4l
70 ben+debian at benfinney.id.au-20080615010748-jkvfjh5v343fic43
71 ben+debian at benfinney.id.au-20080615013432-5cib04snx3kw7ld8
72 ben+debian at benfinney.id.au-20080615015457-typdye8lub7o60ni
73 ben+debian at benfinney.id.au-20080615034123-yafapmxdntwsx23x
74 ben+debian at benfinney.id.au-20080615055311-2ebau3j0zqvny5r3
75 ben+debian at benfinney.id.au-20080615061738-eksd4xtmwy99wgwf
76 ben+debian at benfinney.id.au-20080615062842-aijpcia9hafw110x
77 ben+debian at benfinney.id.au-20080615070648-ijuzhq58m935y3cm
78 ben+debian at benfinney.id.au-20080615072705-2bxpn1lnrif25k5x
79 ben+debian at benfinney.id.au-20080615074730-2v9j4ozqbl02rhrj
80 ben+debian at benfinney.id.au-20080615074918-d7rq1dv6o8y47p7s
81 ben+debian at benfinney.id.au-20080615084002-d1q4qte57n0v9rpp
82 ben+debian at benfinney.id.au-20080615092649-6wxbxyzovkill4dk
83 ben+debian at benfinney.id.au-20080615095735-29ebi4gg9jjqq40q
84 ben+debian at benfinney.id.au-20080615113512-zh2drdguy0hb5ae3
86 ben+debian at benfinney.id.au-20080617141735-u2dsp144palhzcd7


Modified: trunk/test/test_urlutils.py
===================================================================
--- trunk/test/test_urlutils.py	2008-06-16 23:31:17 UTC (rev 544)
+++ trunk/test/test_urlutils.py	2008-06-17 14:17:56 UTC (rev 545)
@@ -11,6 +11,59 @@
 """ Unit test for urlutils module
 """
 
+import httplib
+
 import scaffold
+from scaffold import TestCase
 
+import reportbug_exceptions
 import urlutils
+
+
+class StubObject(object):
+    """ A stub object that allows any access. """
+
+    def __init__(self, *args, **kwargs):
+        pass
+
+    def __getattr__(self, name):
+        return StubObject()
+
+    def __call__(self, *args, **kwargs):
+        return StubObject()
+
+
+class Test_open_url(TestCase):
+    """ Test cases for urlopen function """
+
+    def setUp(self):
+        """ Set up test fixtures """
+        self.stub_opener = StubObject()
+        def stub_build_opener(*args, **kwargs):
+            return self.stub_opener
+
+        self.urllib2_prev = urlutils.urllib2
+        self.stub_urllib2 = StubObject()
+        urlutils.urllib2 = self.stub_urllib2
+
+        self.stub_urllib2.Request = StubObject
+        self.stub_urllib2.build_opener = stub_build_opener
+
+    def tearDown(self):
+        """ Tear down test fixtures """
+        urlutils.urllib2 = self.urllib2_prev
+
+    def test_raises_no_network_when_http_exception(self):
+        """ Should raise NoNetwork when opener raises HTTPExeception """
+        class ArbitraryHTTPException(httplib.HTTPException):
+            pass
+        def stub_raise_bad_status_line(self, *args, **kwargs):
+            message = "Bad HTTP stuff happened!"
+            raise ArbitraryHTTPException(message)
+        self.stub_opener.open = stub_raise_bad_status_line
+
+        url = "foo"
+        expect_exception = reportbug_exceptions.NoNetwork
+        self.failUnlessRaises(
+            expect_exception,
+            urlutils.open_url, url)

Modified: trunk/urlutils.py
===================================================================
--- trunk/urlutils.py	2008-06-16 23:31:17 UTC (rev 544)
+++ trunk/urlutils.py	2008-06-17 14:17:56 UTC (rev 545)
@@ -146,6 +146,13 @@
     except TypeError:
         print >> sys.stderr, "http_proxy environment variable must be formatted as a valid URI"
         raise NoNetwork
+    except httplib.HTTPException, exc:
+        exc_name = exc.__class__.__name__
+        message = (
+            "Failed to open %(url)r"
+            " (%(exc_name)s: %(exc)s)"
+            ) % vars()
+        raise NoNetwork(message)
     return page
 
 def launch_browser(url):




More information about the Reportbug-commits mailing list