/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_http.py

  • Committer: Marius Kruger
  • Date: 2010-08-15 04:52:51 UTC
  • mfrom: (5376 +trunk)
  • mto: (5384.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5385.
  • Revision ID: marius.kruger@enerweb.co.za-20100815045251-izmea8nn05thhrok
merge with bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
    ui,
45
45
    urlutils,
46
46
    )
47
 
from bzrlib.symbol_versioning import (
48
 
    deprecated_in,
49
 
    )
50
47
from bzrlib.tests import (
51
48
    features,
52
49
    http_server,
1125
1122
    def setUp(self):
1126
1123
        tests.TestCase.setUp(self)
1127
1124
        self._old_env = {}
1128
 
 
1129
 
    def tearDown(self):
1130
 
        self._restore_env()
1131
 
        tests.TestCase.tearDown(self)
 
1125
        self.addCleanup(self._restore_env)
1132
1126
 
1133
1127
    def _install_env(self, env):
1134
1128
        for name, value in env.iteritems():
1342
1336
        t = self._transport(self.new_server.get_url())
1343
1337
        self.assertEqual('0123456789', t.get('a').read())
1344
1338
 
1345
 
    def test_read_redirected_bundle_from_url(self):
1346
 
        from bzrlib.bundle import read_bundle_from_url
1347
 
        url = self.old_transport.abspath('bundle')
1348
 
        bundle = self.applyDeprecated(deprecated_in((1, 12, 0)),
1349
 
                read_bundle_from_url, url)
1350
 
        # If read_bundle_from_url was successful we get an empty bundle
1351
 
        self.assertEqual([], bundle.revisions)
1352
 
 
1353
1339
 
1354
1340
class RedirectedRequest(_urllib2_wrappers.Request):
1355
1341
    """Request following redirections. """
1974
1960
        # We override at class level because constructors may propagate the
1975
1961
        # bound method and render instance overriding ineffective (an
1976
1962
        # alternative would be to define a specific ui factory instead...)
1977
 
        self.orig_report_activity = self._transport._report_activity
1978
 
        self._transport._report_activity = report_activity
1979
 
 
1980
 
    def tearDown(self):
1981
 
        self._transport._report_activity = self.orig_report_activity
1982
 
        self.server.stop_server()
1983
 
        tests.TestCase.tearDown(self)
 
1963
        self.overrideAttr(self._transport, '_report_activity', report_activity)
 
1964
        self.addCleanup(self.server.stop_server)
1984
1965
 
1985
1966
    def get_transport(self):
1986
1967
        return self._transport(self.server.get_url())
2103
2084
class TestActivity(tests.TestCase, TestActivityMixin):
2104
2085
 
2105
2086
    def setUp(self):
2106
 
        tests.TestCase.setUp(self)
2107
 
        self.server = self._activity_server(self._protocol_version)
2108
 
        self.server.start_server()
2109
 
        self.activities = {}
2110
 
        def report_activity(t, bytes, direction):
2111
 
            count = self.activities.get(direction, 0)
2112
 
            count += bytes
2113
 
            self.activities[direction] = count
2114
 
 
2115
 
        # We override at class level because constructors may propagate the
2116
 
        # bound method and render instance overriding ineffective (an
2117
 
        # alternative would be to define a specific ui factory instead...)
2118
 
        self.orig_report_activity = self._transport._report_activity
2119
 
        self._transport._report_activity = report_activity
2120
 
 
2121
 
    def tearDown(self):
2122
 
        self._transport._report_activity = self.orig_report_activity
2123
 
        self.server.stop_server()
2124
 
        tests.TestCase.tearDown(self)
 
2087
        TestActivityMixin.setUp(self)
2125
2088
 
2126
2089
 
2127
2090
class TestNoReportActivity(tests.TestCase, TestActivityMixin):
2128
2091
 
 
2092
    # Unlike TestActivity, we are really testing ReportingFileSocket and
 
2093
    # ReportingSocket, so we don't need all the parametrization. Since
 
2094
    # ReportingFileSocket and ReportingSocket are wrappers, it's easier to
 
2095
    # test them through their use by the transport than directly (that's a
 
2096
    # bit less clean but far more simpler and effective).
 
2097
    _activity_server = ActivityHTTPServer
 
2098
    _protocol_version = 'HTTP/1.1'
 
2099
 
2129
2100
    def setUp(self):
2130
 
        tests.TestCase.setUp(self)
2131
 
        # Unlike TestActivity, we are really testing ReportingFileSocket and
2132
 
        # ReportingSocket, so we don't need all the parametrization. Since
2133
 
        # ReportingFileSocket and ReportingSocket are wrappers, it's easier to
2134
 
        # test them through their use by the transport than directly (that's a
2135
 
        # bit less clean but far more simpler and effective).
2136
 
        self.server = ActivityHTTPServer('HTTP/1.1')
2137
 
        self._transport=_urllib.HttpTransport_urllib
2138
 
 
2139
 
        self.server.start_server()
2140
 
 
2141
 
        # We override at class level because constructors may propagate the
2142
 
        # bound method and render instance overriding ineffective (an
2143
 
        # alternative would be to define a specific ui factory instead...)
2144
 
        self.orig_report_activity = self._transport._report_activity
2145
 
        self._transport._report_activity = None
2146
 
 
2147
 
    def tearDown(self):
2148
 
        self._transport._report_activity = self.orig_report_activity
2149
 
        self.server.stop_server()
2150
 
        tests.TestCase.tearDown(self)
 
2101
        self._transport =_urllib.HttpTransport_urllib
 
2102
        TestActivityMixin.setUp(self)
2151
2103
 
2152
2104
    def assertActivitiesMatch(self):
2153
2105
        # Nothing to check here