177
177
expected = SuccessfulSmartServerResponse(
178
178
(local_result.network_name(),
179
179
local_result.repository_format.network_name(),
180
local_result.get_branch_format().network_name()))
180
('direct', local_result.get_branch_format().network_name())))
181
self.assertEqual(expected, request.execute('', 'False'))
183
def test_cloning_metadir_reference(self):
184
"""The request works when bzrdir contains a branch reference."""
185
backing = self.get_transport()
186
referenced_branch = self.make_branch('referenced')
187
dir = self.make_bzrdir('.')
188
local_result = dir.cloning_metadir()
189
reference = BranchReferenceFormat().initialize(dir, referenced_branch)
190
reference_url = BranchReferenceFormat().get_reference(dir)
191
# The server shouldn't try to follow the branch reference, so it's fine
192
# if the referenced branch isn't reachable.
193
backing.rename('referenced', 'moved')
194
request_class = smart_dir.SmartServerBzrDirRequestCloningMetaDir
195
request = request_class(backing)
196
expected = SuccessfulSmartServerResponse(
197
(local_result.network_name(),
198
local_result.repository_format.network_name(),
199
('reference', reference_url)))
181
200
self.assertEqual(expected, request.execute('', 'False'))