264
264
request.execute, backing.local_abspath('subdir'))
267
class TestSmartServerRepositoryGetRevisionGraph(tests.TestCaseWithTransport):
269
def test_none_argument(self):
270
backing = self.get_transport()
271
request = smart.repository.SmartServerRepositoryGetRevisionGraph(backing)
272
tree = self.make_branch_and_memory_tree('.')
275
r1 = tree.commit('1st commit')
276
r2 = tree.commit('2nd commit', rev_id=u'\xc8')
279
# the lines of revision_id->revision_parent_list has no guaranteed
280
# order coming out of a dict, so sort both our test and response
281
lines = sorted([' '.join([r2, r1]), r1])
282
response = request.execute(backing.local_abspath(''), '')
283
response.body = '\n'.join(sorted(response.body.split('\n')))
285
self.assertEqual(SmartServerResponse(('ok', ),
286
'\n'.join(lines).encode('utf8')),
289
def test_specific_revision_argument(self):
290
backing = self.get_transport()
291
request = smart.repository.SmartServerRepositoryGetRevisionGraph(backing)
292
tree = self.make_branch_and_memory_tree('.')
295
r1 = tree.commit('1st commit', rev_id=u'\xc9')
296
r2 = tree.commit('2nd commit', rev_id=u'\xc8')
299
self.assertEqual(SmartServerResponse(('ok', ),
300
u'\xc9'.encode('utf8')),
301
request.execute(backing.local_abspath(''), u'\xc9'.encode('utf8')))
303
def test_no_such_revision(self):
304
backing = self.get_transport()
305
request = smart.repository.SmartServerRepositoryGetRevisionGraph(backing)
306
tree = self.make_branch_and_memory_tree('.')
309
r1 = tree.commit('1st commit')
312
self.assertEqual(SmartServerResponse(
313
('nosuchrevision', 'missingrevision', )),
314
request.execute(backing.local_abspath(''), 'missingrevision'))
267
316
class TestSmartServerRequestHasRevision(tests.TestCaseWithTransport):
269
318
def test_missing_revision(self):
332
381
smart.request.request_handlers.get('BzrDir.open_branch'),
333
382
smart.bzrdir.SmartServerRequestOpenBranch)
334
383
self.assertEqual(
384
smart.request.request_handlers.get('Repository.get_revision_graph'),
385
smart.repository.SmartServerRepositoryGetRevisionGraph)
335
387
smart.request.request_handlers.get('Repository.has_revision'),
336
388
smart.repository.SmartServerRequestHasRevision)
337
389
self.assertEqual(