~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_remote.py

  • Committer: John Arbash Meinel
  • Date: 2009-02-23 15:29:35 UTC
  • mfrom: (3943.7.7 bzr.code_style_cleanup)
  • mto: This revision was merged to the branch mainline in revision 4033.
  • Revision ID: john@arbash-meinel.com-20090223152935-oel9m92mwcc6nb4h
Merge the removal of all trailing whitespace, and resolve conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
139
139
 
140
140
class FakeClient(_SmartClient):
141
141
    """Lookalike for _SmartClient allowing testing."""
142
 
    
 
142
 
143
143
    def __init__(self, fake_medium_base='fake base'):
144
144
        """Create a FakeClient."""
145
145
        self.responses = []
261
261
 
262
262
 
263
263
class TestRemote(tests.TestCaseWithMemoryTransport):
264
 
    
 
264
 
265
265
    def disable_verb(self, verb):
266
266
        """Disable a verb for one test."""
267
267
        request_handlers = smart.request.request_handlers
304
304
        cloned_transport = base_transport.clone(relpath)
305
305
        result = client_medium.remote_path_from_transport(cloned_transport)
306
306
        self.assertEqual(expected, result)
307
 
        
 
307
 
308
308
    def test_remote_path_from_transport_http(self):
309
309
        """Remote paths for HTTP transports are calculated differently to other
310
310
        transports.  They are just relative to the client base, not the root
326
326
        """
327
327
        client_medium = medium.SmartClientMedium('dummy base')
328
328
        self.assertFalse(client_medium._is_remote_before((99, 99)))
329
 
    
 
329
 
330
330
    def test__remember_remote_is_before(self):
331
331
        """Calling _remember_remote_is_before ratchets down the known remote
332
332
        version.
546
546
 
547
547
    def make_remote_branch(self, transport, client):
548
548
        """Make a RemoteBranch using 'client' as its _SmartClient.
549
 
        
 
549
 
550
550
        A RemoteBzrDir and RemoteRepository will also be created to fill out
551
551
        the RemoteBranch, albeit with stub values for some of their attributes.
552
552
        """
1086
1086
 
1087
1087
    def test_error_from_old_server(self):
1088
1088
        """bzr 0.15 and earlier servers don't recognise the is_readonly verb.
1089
 
        
 
1089
 
1090
1090
        Clients should treat it as a "no" response, because is_readonly is only
1091
1091
        advisory anyway (a transport could be read-write, but then the
1092
1092
        underlying filesystem could be readonly anyway).
1132
1132
 
1133
1133
class TestRemoteRepository(TestRemote):
1134
1134
    """Base for testing RemoteRepository protocol usage.
1135
 
    
1136
 
    These tests contain frozen requests and responses.  We want any changes to 
 
1135
 
 
1136
    These tests contain frozen requests and responses.  We want any changes to
1137
1137
    what is sent or expected to be require a thoughtful update to these tests
1138
1138
    because they might break compatibility with different-versioned servers.
1139
1139
    """
1140
1140
 
1141
1141
    def setup_fake_client_and_repository(self, transport_path):
1142
1142
        """Create the fake client and repository for testing with.
1143
 
        
 
1143
 
1144
1144
        There's no real server here; we just have canned responses sent
1145
1145
        back one by one.
1146
 
        
 
1146
 
1147
1147
        :param transport_path: Path below the root of the MemoryTransport
1148
1148
            where the repository will be created.
1149
1149
        """
1346
1346
 
1347
1347
 
1348
1348
class TestRepositoryGetRevisionGraph(TestRemoteRepository):
1349
 
    
 
1349
 
1350
1350
    def test_null_revision(self):
1351
1351
        # a null revision has the predictable result {}, we should have no wire
1352
1352
        # traffic when calling it with this argument
1416
1416
            self.applyDeprecated, one_four, repo.get_revision_graph, revid)
1417
1417
        self.assertEqual(('AnUnexpectedError',), e.error_tuple)
1418
1418
 
1419
 
        
 
1419
 
1420
1420
class TestRepositoryIsShared(TestRemoteRepository):
1421
1421
 
1422
1422
    def test_is_shared(self):
1608
1608
    def reload_pack_names(self):
1609
1609
        self.calls.append(('pack collection reload_pack_names',))
1610
1610
 
1611
 
    
 
1611
 
1612
1612
class TestRemotePackRepositoryAutoPack(TestRemoteRepository):
1613
1613
    """Tests for RemoteRepository.autopack implementation."""
1614
1614
 
1638
1638
            [('call', 'PackRepository.autopack', ('quack/',)),
1639
1639
             ('pack collection reload_pack_names',)],
1640
1640
            client._calls)
1641
 
        
 
1641
 
1642
1642
    def test_backwards_compatibility(self):
1643
1643
        """If the server does not recognise the PackRepository.autopack verb,
1644
1644
        fallback to the real_repository's implementation.
1694
1694
 
1695
1695
class TestErrorTranslationSuccess(TestErrorTranslationBase):
1696
1696
    """Unit tests for bzrlib.remote._translate_error.
1697
 
    
 
1697
 
1698
1698
    Given an ErrorFromSmartServer (which has an error tuple from a smart
1699
1699
    server) and some context, _translate_error raises more specific errors from
1700
1700
    bzrlib.errors.
1805
1805
 
1806
1806
class TestErrorTranslationRobustness(TestErrorTranslationBase):
1807
1807
    """Unit tests for bzrlib.remote._translate_error's robustness.
1808
 
    
 
1808
 
1809
1809
    TestErrorTranslationSuccess is for cases where _translate_error can
1810
1810
    translate successfully.  This class about how _translate_err behaves when
1811
1811
    it fails to translate: it re-raises the original error.
1839
1839
        self.assertContainsRe(
1840
1840
            self._get_log(keep_log_file=True),
1841
1841
            "Missing key 'branch' in context")
1842
 
        
 
1842
 
1843
1843
    def test_path_missing(self):
1844
1844
        """Some translations (PermissionDenied, ReadError) can determine the
1845
1845
        'path' variable from either the wire or the local context.  If neither
1857
1857
 
1858
1858
class TestStacking(tests.TestCaseWithTransport):
1859
1859
    """Tests for operations on stacked remote repositories.
1860
 
    
 
1860
 
1861
1861
    The underlying format type must support stacking.
1862
1862
    """
1863
1863