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