381
381
'subdir/dir', 'False', 'False', 'False', '', '', '', '', 'False')
383
383
def test_initialized_dir(self):
384
"""Initializing an extant dirctory should fail like the bzrdir api."""
384
"""Initializing an extant directory should fail like the bzrdir api."""
385
385
backing = self.get_transport()
386
386
name = self.make_bzrdir('reference')._format.network_name()
387
387
request = smart.bzrdir.SmartServerRequestBzrDirInitializeEx(backing)
1161
1161
request.execute('', 'missingrevision'))
1164
class TestSmartServerRepositoryGetRevIdForRevno(tests.TestCaseWithMemoryTransport):
1166
def test_revno_found(self):
1167
backing = self.get_transport()
1168
request = smart.repository.SmartServerRepositoryGetRevIdForRevno(backing)
1169
tree = self.make_branch_and_memory_tree('.')
1172
rev1_id_utf8 = u'\xc8'.encode('utf-8')
1173
rev2_id_utf8 = u'\xc9'.encode('utf-8')
1174
tree.commit('1st commit', rev_id=rev1_id_utf8)
1175
tree.commit('2nd commit', rev_id=rev2_id_utf8)
1178
self.assertEqual(SmartServerResponse(('ok', rev1_id_utf8)),
1179
request.execute('', 1, (2, rev2_id_utf8)))
1181
def test_known_revid_missing(self):
1182
backing = self.get_transport()
1183
request = smart.repository.SmartServerRepositoryGetRevIdForRevno(backing)
1184
repo = self.make_repository('.')
1186
FailedSmartServerResponse(('nosuchrevision', 'ghost')),
1187
request.execute('', 1, (2, 'ghost')))
1189
def test_history_incomplete(self):
1190
backing = self.get_transport()
1191
request = smart.repository.SmartServerRepositoryGetRevIdForRevno(backing)
1192
parent = self.make_branch_and_memory_tree('parent', format='1.9')
1193
r1 = parent.commit(message='first commit')
1194
r2 = parent.commit(message='second commit')
1195
local = self.make_branch_and_memory_tree('local', format='1.9')
1196
local.branch.pull(parent.branch)
1197
local.set_parent_ids([r2])
1198
r3 = local.commit(message='local commit')
1199
local.branch.create_clone_on_transport(
1200
self.get_transport('stacked'), stacked_on=self.get_url('parent'))
1202
SmartServerResponse(('history-incomplete', 2, r2)),
1203
request.execute('stacked', 1, (3, r3)))
1164
1205
class TestSmartServerRepositoryGetStream(tests.TestCaseWithMemoryTransport):
1166
1207
def make_two_commit_repo(self):
1560
1601
smart.bzrdir.SmartServerRequestFindRepositoryV2)
1561
1602
self.assertHandlerEqual('BzrDirFormat.initialize',
1562
1603
smart.bzrdir.SmartServerRequestInitializeBzrDir)
1563
self.assertHandlerEqual('BzrDirFormat.initialize_ex',
1604
self.assertHandlerEqual('BzrDirFormat.initialize_ex_1.16',
1564
1605
smart.bzrdir.SmartServerRequestBzrDirInitializeEx)
1565
1606
self.assertHandlerEqual('BzrDir.cloning_metadir',
1566
1607
smart.bzrdir.SmartServerBzrDirRequestCloningMetaDir)
1576
1617
smart.repository.SmartServerRepositoryGatherStats)
1577
1618
self.assertHandlerEqual('Repository.get_parent_map',
1578
1619
smart.repository.SmartServerRepositoryGetParentMap)
1620
self.assertHandlerEqual('Repository.get_rev_id_for_revno',
1621
smart.repository.SmartServerRepositoryGetRevIdForRevno)
1579
1622
self.assertHandlerEqual('Repository.get_revision_graph',
1580
1623
smart.repository.SmartServerRepositoryGetRevisionGraph)
1581
1624
self.assertHandlerEqual('Repository.get_stream',