/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 breezy/tests/test_http.py

  • Committer: Jelmer Vernooij
  • Date: 2018-03-24 17:48:04 UTC
  • mfrom: (6921 work)
  • mto: This revision was merged to the branch mainline in revision 6923.
  • Revision ID: jelmer@jelmer.uk-20180324174804-xf22o05byoj12x1q
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
    remote,
66
66
    )
67
67
from ..transport.http import (
68
 
    HttpTransport,
 
68
    _urllib,
69
69
    _urllib2_wrappers,
70
70
    )
71
71
 
76
76
def vary_by_http_client_implementation():
77
77
    """Test the libraries we can use, currently just urllib."""
78
78
    transport_scenarios = [
79
 
        ('urllib', dict(_transport=HttpTransport,
80
 
                        _server=http_server.HttpServer,
81
 
                        _url_protocol='http',)),
 
79
        ('urllib', dict(_transport=_urllib.HttpTransport_urllib,
 
80
                        _server=http_server.HttpServer_urllib,
 
81
                        _url_protocol='http+urllib',)),
82
82
        ]
83
83
    return transport_scenarios
84
84
 
124
124
def vary_by_http_activity():
125
125
    activity_scenarios = [
126
126
        ('urllib,http', dict(_activity_server=ActivityHTTPServer,
127
 
                            _transport=HttpTransport,)),
 
127
                            _transport=_urllib.HttpTransport_urllib,)),
128
128
        ]
129
129
    if features.HTTPSServerFeature.available():
130
130
        # FIXME: Until we have a better way to handle self-signed certificates
134
134
        from . import (
135
135
            ssl_certs,
136
136
            )
137
 
        class HTTPS_transport(HttpTransport):
 
137
        class HTTPS_urllib_transport(_urllib.HttpTransport_urllib):
138
138
 
139
139
            def __init__(self, base, _from_transport=None):
140
 
                super(HTTPS_transport, self).__init__(
 
140
                super(HTTPS_urllib_transport, self).__init__(
141
141
                    base, _from_transport=_from_transport,
142
142
                    ca_certs=ssl_certs.build_path('ca.crt'))
143
143
 
144
144
        activity_scenarios.append(
145
145
            ('urllib,https', dict(_activity_server=ActivityHTTPSServer,
146
 
                                  _transport=HTTPS_transport,)),)
 
146
                                  _transport=HTTPS_urllib_transport,)),)
147
147
    return activity_scenarios
148
148
 
149
149
 
509
509
        offsets = [ (start, end - start + 1) for start, end in ranges]
510
510
        coalesce = transport.Transport._coalesce_offsets
511
511
        coalesced = list(coalesce(offsets, limit=0, fudge_factor=0))
512
 
        range_header = http.HttpTransport._range_header
 
512
        range_header = http.HttpTransportBase._range_header
513
513
        self.assertEqual(value, range_header(coalesced, tail))
514
514
 
515
515
    def test_range_header_single(self):
735
735
 
736
736
    def setUp(self):
737
737
        super(TestRangeRequestServer, self).setUp()
738
 
        self.build_tree_contents([('a', b'0123456789')],)
 
738
        self.build_tree_contents([('a', '0123456789')],)
739
739
 
740
740
    def test_readv(self):
741
741
        t = self.get_readonly_transport()
962
962
 
963
963
    def setUp(self):
964
964
        super(TestTruncatedMultipleRangeServer, self).setUp()
965
 
        self.build_tree_contents([('a', b'0123456789')],)
 
965
        self.build_tree_contents([('a', '0123456789')],)
966
966
 
967
967
    def test_readv_with_short_reads(self):
968
968
        server = self.get_readonly_server()
1036
1036
 
1037
1037
    def setUp(self):
1038
1038
        super(TestTruncatedBeforeBoundary, self).setUp()
1039
 
        self.build_tree_contents([('a', b'0123456789')],)
 
1039
        self.build_tree_contents([('a', '0123456789')],)
1040
1040
 
1041
1041
    def test_readv_with_short_reads(self):
1042
1042
        server = self.get_readonly_server()
1095
1095
        super(TestLimitedRangeRequestServer, self).setUp()
1096
1096
        # We need to manipulate ranges that correspond to real chunks in the
1097
1097
        # response, so we build a content appropriately.
1098
 
        filler = b''.join([b'abcdefghij' for x in range(102)])
1099
 
        content = b''.join([b'%04d' % v + filler for v in range(16)])
 
1098
        filler = ''.join(['abcdefghij' for x in range(102)])
 
1099
        content = ''.join(['%04d' % v + filler for v in range(16)])
1100
1100
        self.build_tree_contents([('a', content)],)
1101
1101
 
1102
1102
    def test_few_ranges(self):
1192
1192
    def setUp(self):
1193
1193
        super(TestProxyHttpServer, self).setUp()
1194
1194
        self.transport_secondary_server = http_utils.ProxyServer
1195
 
        self.build_tree_contents([('foo', b'contents of foo\n'),
1196
 
                                  ('foo-proxied', b'proxied contents of foo\n')])
 
1195
        self.build_tree_contents([('foo', 'contents of foo\n'),
 
1196
                                  ('foo-proxied', 'proxied contents of foo\n')])
1197
1197
        # Let's setup some attributes for tests
1198
1198
        server = self.get_readonly_server()
1199
1199
        self.server_host_port = '%s:%d' % (server.host, server.port)
1260
1260
 
1261
1261
    def setUp(self):
1262
1262
        super(TestRanges, self).setUp()
1263
 
        self.build_tree_contents([('a', b'0123456789')],)
 
1263
        self.build_tree_contents([('a', '0123456789')],)
1264
1264
 
1265
1265
    def create_transport_readonly_server(self):
1266
1266
        return http_server.HttpServer(protocol_version=self._protocol_version)
1310
1310
 
1311
1311
    def setUp(self):
1312
1312
        super(TestHTTPRedirections, self).setUp()
1313
 
        self.build_tree_contents([('a', b'0123456789'),
 
1313
        self.build_tree_contents([('a', '0123456789'),
1314
1314
                                  ('bundle',
1315
 
                                  b'# Bazaar revision bundle v0.9\n#\n')
 
1315
                                  '# Bazaar revision bundle v0.9\n#\n')
1316
1316
                                  ],)
1317
1317
 
1318
1318
    def test_redirected(self):
1380
1380
        super(TestHTTPSilentRedirections, self).setUp()
1381
1381
        install_redirected_request(self)
1382
1382
        cleanup_http_redirection_connections(self)
1383
 
        self.build_tree_contents([('a', b'a'),
 
1383
        self.build_tree_contents([('a', 'a'),
1384
1384
                                  ('1/',),
1385
 
                                  ('1/a', b'redirected once'),
 
1385
                                  ('1/a', 'redirected once'),
1386
1386
                                  ('2/',),
1387
 
                                  ('2/a', b'redirected twice'),
 
1387
                                  ('2/a', 'redirected twice'),
1388
1388
                                  ('3/',),
1389
 
                                  ('3/a', b'redirected thrice'),
 
1389
                                  ('3/a', 'redirected thrice'),
1390
1390
                                  ('4/',),
1391
 
                                  ('4/a', b'redirected 4 times'),
 
1391
                                  ('4/a', 'redirected 4 times'),
1392
1392
                                  ('5/',),
1393
 
                                  ('5/a', b'redirected 5 times'),
 
1393
                                  ('5/a', 'redirected 5 times'),
1394
1394
                                  ],)
1395
1395
 
1396
1396
    def test_one_redirection(self):
1429
1429
 
1430
1430
    def setUp(self):
1431
1431
        super(TestDoCatchRedirections, self).setUp()
1432
 
        self.build_tree_contents([('a', b'0123456789'),],)
 
1432
        self.build_tree_contents([('a', '0123456789'),],)
1433
1433
        cleanup_http_redirection_connections(self)
1434
1434
 
1435
1435
        self.old_transport = self.get_old_transport()
1512
1512
    def setUp(self):
1513
1513
        super(TestAuth, self).setUp()
1514
1514
        self.server = self.get_readonly_server()
1515
 
        self.build_tree_contents([('a', b'contents of a\n'),
1516
 
                                  ('b', b'contents of b\n'),])
 
1515
        self.build_tree_contents([('a', 'contents of a\n'),
 
1516
                                  ('b', 'contents of b\n'),])
1517
1517
 
1518
1518
    def create_transport_readonly_server(self):
1519
1519
        server = self._auth_server(protocol_version=self._protocol_version)
1713
1713
    def setUp(self):
1714
1714
        super(TestProxyAuth, self).setUp()
1715
1715
        # Override the contents to avoid false positives
1716
 
        self.build_tree_contents([('a', b'not proxied contents of a\n'),
1717
 
                                  ('b', b'not proxied contents of b\n'),
1718
 
                                  ('a-proxied', b'contents of a\n'),
1719
 
                                  ('b-proxied', b'contents of b\n'),
 
1716
        self.build_tree_contents([('a', 'not proxied contents of a\n'),
 
1717
                                  ('b', 'not proxied contents of b\n'),
 
1718
                                  ('a-proxied', 'contents of a\n'),
 
1719
                                  ('b-proxied', 'contents of b\n'),
1720
1720
                                  ])
1721
1721
 
1722
1722
    def get_user_transport(self, user, password):
2142
2142
 
2143
2143
    def setUp(self):
2144
2144
        super(TestNoReportActivity, self).setUp()
2145
 
        self._transport =HttpTransport
 
2145
        self._transport =_urllib.HttpTransport_urllib
2146
2146
        TestActivityMixin.setUp(self)
2147
2147
 
2148
2148
    def assertActivitiesMatch(self):
2159
2159
    _password_prompt_prefix = ''
2160
2160
    _username_prompt_prefix = ''
2161
2161
    _auth_server = http_utils.HTTPBasicAuthServer
2162
 
    _transport = HttpTransport
 
2162
    _transport = _urllib.HttpTransport_urllib
2163
2163
 
2164
2164
    def setUp(self):
2165
2165
        super(TestAuthOnRedirected, self).setUp()
2166
 
        self.build_tree_contents([('a', b'a'),
 
2166
        self.build_tree_contents([('a', 'a'),
2167
2167
                                  ('1/',),
2168
 
                                  ('1/a', b'redirected once'),
 
2168
                                  ('1/a', 'redirected once'),
2169
2169
                                  ],)
2170
2170
        new_prefix = 'http://%s:%s' % (self.new_server.host,
2171
2171
                                       self.new_server.port)