724
724
format = branch._format
725
725
self.assertEqual(network_name, format.network_name())
727
def test_already_open_repo_and_reused_medium(self):
728
"""Bug 726584: create_branch(..., repository=repo) should work
729
regardless of what the smart medium's base URL is.
731
self.transport_server = test_server.SmartTCPServer_for_testing
732
transport = self.get_transport('.')
733
repo = self.make_repository('quack')
734
# Client's medium rooted a transport root (not at the bzrdir)
735
client = FakeClient(transport.base)
736
transport = transport.clone('quack')
737
reference_bzrdir_format = bzrdir.format_registry.get('default')()
738
reference_format = reference_bzrdir_format.get_branch_format()
739
network_name = reference_format.network_name()
740
reference_repo_fmt = reference_bzrdir_format.repository_format
741
reference_repo_name = reference_repo_fmt.network_name()
742
client.add_expected_call(
743
'BzrDir.create_branch', ('extra/quack/', network_name),
744
'success', ('ok', network_name, '', 'no', 'no', 'yes',
745
reference_repo_name))
746
a_bzrdir = RemoteBzrDir(transport, remote.RemoteBzrDirFormat(),
748
branch = a_bzrdir.create_branch(repository=repo)
749
# We should have got a remote branch
750
self.assertIsInstance(branch, remote.RemoteBranch)
751
# its format should have the settings from the response
752
format = branch._format
753
self.assertEqual(network_name, format.network_name())
728
756
class TestBzrDirCreateRepository(TestRemote):