~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_remote.py

(jelmer) Add HPSS call for ``Repository.iter_files_bytes``. (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2413
2413
    def test_add_signature_text(self):
2414
2414
        transport_path = 'quack'
2415
2415
        repo, client = self.setup_fake_client_and_repository(transport_path)
2416
 
        client.add_success_response('ok')
 
2416
        client.add_expected_call(
 
2417
            'Repository.lock_write', ('quack/', ''),
 
2418
            'success', ('ok', 'a token'))
 
2419
        client.add_expected_call(
 
2420
            'Repository.start_write_group', ('quack/', 'a token'),
 
2421
            'success', ('ok', ('token1', )))
 
2422
        client.add_expected_call(
 
2423
            'Repository.add_signature_text', ('quack/', 'a token', 'rev1',
 
2424
                'token1'),
 
2425
            'success', ('ok', ), None)
 
2426
        repo.lock_write()
 
2427
        repo.start_write_group()
2417
2428
        self.assertIs(None,
2418
2429
            repo.add_signature_text("rev1", "every bloody emperor"))
2419
2430
        self.assertEqual(
2420
 
            [('call_with_body_bytes',
2421
 
              'Repository.add_signature_text', ('quack/', 'rev1', ),
2422
 
              'every bloody emperor')],
2423
 
            client._calls)
 
2431
            ('call_with_body_bytes_expecting_body',
 
2432
              'Repository.add_signature_text',
 
2433
                ('quack/', 'a token', 'rev1', 'token1'),
 
2434
              'every bloody emperor'),
 
2435
            client._calls[-1])
2424
2436
 
2425
2437
 
2426
2438
class TestRepositoryGetParentMap(TestRemoteRepository):
2987
2999
            'success', ('ok', 'a token'))
2988
3000
        client.add_expected_call(
2989
3001
            'Repository.start_write_group', ('quack/', 'a token'),
2990
 
            'success', ('ok', 'token1'))
 
3002
            'success', ('ok', ('token1', )))
2991
3003
        repo.lock_write()
2992
3004
        repo.start_write_group()
2993
3005
 
3126
3138
        self.assertEqual([], client._calls)
3127
3139
 
3128
3140
 
 
3141
class TestRepositoryIterFilesBytes(TestRemoteRepository):
 
3142
    """Test Repository.iter_file_bytes."""
 
3143
 
 
3144
    def test_single(self):
 
3145
        transport_path = 'quack'
 
3146
        repo, client = self.setup_fake_client_and_repository(transport_path)
 
3147
        client.add_expected_call(
 
3148
            'Repository.iter_files_bytes', ('quack/', ),
 
3149
            'success', ('ok',), iter(["ok\x000", "\n", zlib.compress("mydata" * 10)]))
 
3150
        for (identifier, byte_stream) in repo.iter_files_bytes([("somefile",
 
3151
                "somerev", "myid")]):
 
3152
            self.assertEquals("myid", identifier)
 
3153
            self.assertEquals("".join(byte_stream), "mydata" * 10)
 
3154
 
 
3155
    def test_missing(self):
 
3156
        transport_path = 'quack'
 
3157
        repo, client = self.setup_fake_client_and_repository(transport_path)
 
3158
        client.add_expected_call(
 
3159
            'Repository.iter_files_bytes',
 
3160
                ('quack/', ),
 
3161
            'error', ('RevisionNotPresent', 'somefile', 'somerev'),
 
3162
            iter(["absent\0somefile\0somerev\n"]))
 
3163
        self.assertRaises(errors.RevisionNotPresent, list,
 
3164
                repo.iter_files_bytes(
 
3165
                [("somefile", "somerev", "myid")]))
 
3166
 
 
3167
 
3129
3168
class TestRepositoryInsertStreamBase(TestRemoteRepository):
3130
3169
    """Base class for Repository.insert_stream and .insert_stream_1.19
3131
3170
    tests.