88
89
if self._chroot_server is None:
89
90
backing_transport = tests.TestCaseWithTransport.get_transport(self)
90
91
self._chroot_server = chroot.ChrootServer(backing_transport)
91
self._chroot_server.setUp()
92
self.addCleanup(self._chroot_server.tearDown)
92
self.start_server(self._chroot_server)
93
93
t = get_transport(self._chroot_server.get_url())
94
94
if relpath is not None:
95
95
t = t.clone(relpath)
99
class TestCaseWithSmartMedium(tests.TestCaseWithTransport):
99
class TestCaseWithSmartMedium(tests.TestCaseWithMemoryTransport):
102
102
super(TestCaseWithSmartMedium, self).setUp()
414
414
'False', 'False', 'False', '', '', '', '', 'False')
417
class TestSmartServerRequestOpenBzrDir(tests.TestCaseWithMemoryTransport):
419
def test_no_directory(self):
420
backing = self.get_transport()
421
request = smart.bzrdir.SmartServerRequestOpenBzrDir(backing)
422
self.assertEqual(SmartServerResponse(('no', )),
423
request.execute('does-not-exist'))
425
def test_empty_directory(self):
426
backing = self.get_transport()
427
backing.mkdir('empty')
428
request = smart.bzrdir.SmartServerRequestOpenBzrDir(backing)
429
self.assertEqual(SmartServerResponse(('no', )),
430
request.execute('empty'))
432
def test_outside_root_client_path(self):
433
backing = self.get_transport()
434
request = smart.bzrdir.SmartServerRequestOpenBzrDir(backing,
435
root_client_path='root')
436
self.assertEqual(SmartServerResponse(('no', )),
437
request.execute('not-root'))
440
class TestSmartServerRequestOpenBzrDir_2_1(tests.TestCaseWithMemoryTransport):
442
def test_no_directory(self):
443
backing = self.get_transport()
444
request = smart.bzrdir.SmartServerRequestOpenBzrDir_2_1(backing)
445
self.assertEqual(SmartServerResponse(('no', )),
446
request.execute('does-not-exist'))
448
def test_empty_directory(self):
449
backing = self.get_transport()
450
backing.mkdir('empty')
451
request = smart.bzrdir.SmartServerRequestOpenBzrDir_2_1(backing)
452
self.assertEqual(SmartServerResponse(('no', )),
453
request.execute('empty'))
455
def test_present_without_workingtree(self):
456
backing = self.get_transport()
457
request = smart.bzrdir.SmartServerRequestOpenBzrDir_2_1(backing)
458
self.make_bzrdir('.')
459
self.assertEqual(SmartServerResponse(('yes', 'no')),
462
def test_outside_root_client_path(self):
463
backing = self.get_transport()
464
request = smart.bzrdir.SmartServerRequestOpenBzrDir_2_1(backing,
465
root_client_path='root')
466
self.assertEqual(SmartServerResponse(('no',)),
467
request.execute('not-root'))
470
class TestSmartServerRequestOpenBzrDir_2_1_disk(TestCaseWithChrootedTransport):
472
def test_present_with_workingtree(self):
473
self.vfs_transport_factory = local.LocalURLServer
474
backing = self.get_transport()
475
request = smart.bzrdir.SmartServerRequestOpenBzrDir_2_1(backing)
476
bd = self.make_bzrdir('.')
477
bd.create_repository()
479
bd.create_workingtree()
480
self.assertEqual(SmartServerResponse(('yes', 'yes')),
417
484
class TestSmartServerRequestOpenBranch(TestCaseWithChrootedTransport):
419
486
def test_no_branch(self):