~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_smart.py

  • Committer: Andrew Bennetts
  • Date: 2007-02-08 06:51:30 UTC
  • mto: (2018.5.73 hpss)
  • mto: This revision was merged to the branch mainline in revision 2435.
  • Revision ID: andrew.bennetts@canonical.com-20070208065130-gpzocn512ppmcm72
Add a Branch.set_last_revision smart method, and make RemoteBranch.set_revision_history use it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
224
224
            request.execute(backing.local_abspath('')))
225
225
 
226
226
 
227
 
class TestSmartServerBranchGetConfigFile(tests.TestCaseWithTransport):
 
227
class TestSmartServerBranchRequestGetConfigFile(tests.TestCaseWithTransport):
228
228
 
229
229
    def test_default(self):
230
230
        """With no file, we get empty content."""
248
248
            request.execute(backing.local_abspath('')))
249
249
 
250
250
 
 
251
class TestSmartServerBranchRequestSetLastRevision(tests.TestCaseWithTransport):
 
252
 
 
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(''), ''))
 
259
 
 
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))
 
267
 
 
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('.')
 
272
        tree.lock_write()
 
273
        tree.add('')
 
274
        r1 = tree.commit('1st commit', rev_id=u'\xc8')
 
275
        r2 = tree.commit('2nd commit')
 
276
        tree.unlock()
 
277
        self.assertEqual(
 
278
            SmartServerResponse(('ok',)),
 
279
            request.execute(backing.local_abspath(''), u'\xc8'.encode('utf8')))
 
280
        self.assertEqual([u'\xc8'], tree.branch.revision_history())
 
281
 
 
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('.')
 
286
        tree.lock_write()
 
287
        tree.add('')
 
288
        r1 = tree.commit('1st commit', rev_id=u'\xc8')
 
289
        r2 = tree.commit('2nd commit')
 
290
        tree.unlock()
 
291
        tree.branch.set_revision_history([])
 
292
        self.assertEqual(
 
293
            SmartServerResponse(('ok',)),
 
294
            request.execute(backing.local_abspath(''), u'\xc8'.encode('utf8')))
 
295
        self.assertEqual([u'\xc8'], tree.branch.revision_history())
 
296
 
 
297
 
251
298
class TestSmartServerRepositoryRequest(tests.TestCaseWithTransport):
252
299
 
253
300
    def test_no_repository(self):