248
248
request.execute(backing.local_abspath('')))
251
class TestSmartServerBranchRequestSetLastRevision(tests.TestCaseWithTransport):
253
def test_empty(self):
254
backing = self.get_transport()
255
request = smart.branch.SmartServerBranchRequestSetLastRevision(backing)
256
self.make_branch('.')
257
self.assertEqual(SmartServerResponse(('ok',)),
258
request.execute(backing.local_abspath(''), ''))
260
def test_not_present_revision_id(self):
261
backing = self.get_transport()
262
request = smart.branch.SmartServerBranchRequestSetLastRevision(backing)
263
self.make_branch('.')
264
revision_id = 'non-existent revision'
265
self.assertEqual(SmartServerResponse(('NoSuchRevision', revision_id)),
266
request.execute(backing.local_abspath(''), revision_id))
268
def test_revision_id_present(self):
269
backing = self.get_transport()
270
request = smart.branch.SmartServerBranchRequestSetLastRevision(backing)
271
tree = self.make_branch_and_memory_tree('.')
274
r1 = tree.commit('1st commit', rev_id=u'\xc8')
275
r2 = tree.commit('2nd commit')
278
SmartServerResponse(('ok',)),
279
request.execute(backing.local_abspath(''), u'\xc8'.encode('utf8')))
280
self.assertEqual([u'\xc8'], tree.branch.revision_history())
282
def test_revision_id_present2(self):
283
backing = self.get_transport()
284
request = smart.branch.SmartServerBranchRequestSetLastRevision(backing)
285
tree = self.make_branch_and_memory_tree('.')
288
r1 = tree.commit('1st commit', rev_id=u'\xc8')
289
r2 = tree.commit('2nd commit')
291
tree.branch.set_revision_history([])
293
SmartServerResponse(('ok',)),
294
request.execute(backing.local_abspath(''), u'\xc8'.encode('utf8')))
295
self.assertEqual([u'\xc8'], tree.branch.revision_history())
251
298
class TestSmartServerRepositoryRequest(tests.TestCaseWithTransport):
253
300
def test_no_repository(self):