829
829
transport_path = 'quack'
830
830
repo, client = self.setup_fake_client_and_repository(
831
831
responses, transport_path)
832
self.assertTrue(client._medium._remote_is_at_least_1_2)
832
833
rev_id = 'revision-id'
833
834
expected_deprecations = [
834
835
'bzrlib.remote.RemoteRepository.get_revision_graph was deprecated '
842
843
('call_expecting_body', 'Repository.get_revision_graph',
843
844
('quack/', ''))],
846
# The medium is now marked as being connected to an older server
847
self.assertFalse(client._medium._remote_is_at_least_1_2)
849
def test_get_parent_map_fallback_parentless_node(self):
850
"""get_parent_map falls back to get_revision_graph on old servers. The
851
results from get_revision_graph are tweaked to match the get_parent_map
854
Specifically, a {key: ()} result from get_revision_graph means "no
855
parents" for that key, which in get_parent_map results should be
856
represented as {key: ('null:',)}.
858
This is the test for https://bugs.launchpad.net/bzr/+bug/214894
860
rev_id = 'revision-id'
861
responses = [(('ok',), rev_id)]
862
transport_path = 'quack'
863
repo, client = self.setup_fake_client_and_repository(
864
responses, transport_path)
865
client._medium._remote_is_at_least_1_2 = False
866
expected_deprecations = [
867
'bzrlib.remote.RemoteRepository.get_revision_graph was deprecated '
869
parents = self.callDeprecated(
870
expected_deprecations, repo.get_parent_map, [rev_id])
872
[('call_expecting_body', 'Repository.get_revision_graph',
875
self.assertEqual({rev_id: ('null:',)}, parents)
846
877
def test_get_parent_map_unexpected_response(self):