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',
2425
'success', ('ok', ), None)
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')],
2431
('call_with_body_bytes_expecting_body',
2432
'Repository.add_signature_text',
2433
('quack/', 'a token', 'rev1', 'token1'),
2434
'every bloody emperor'),
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()
3126
3138
self.assertEqual([], client._calls)
3141
class TestRepositoryIterFilesBytes(TestRemoteRepository):
3142
"""Test Repository.iter_file_bytes."""
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)
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',
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")]))
3129
3168
class TestRepositoryInsertStreamBase(TestRemoteRepository):
3130
3169
"""Base class for Repository.insert_stream and .insert_stream_1.19