418
419
backing = self.get_transport()
419
420
request = self._request_class(backing)
420
421
result = self._make_repository_and_result(
421
format='dirstate-with-subtree')
422
format='development-subtree')
422
423
# check the test will be valid
423
424
self.assertEqual('yes', result.args[2])
424
425
self.assertEqual('yes', result.args[3])
429
430
backing = self.get_transport()
430
431
request = self._request_class(backing)
431
432
result = self._make_repository_and_result(
432
format='dirstate-with-subtree')
433
format='development-subtree')
433
434
# check the test will be valid
434
self.assertEqual('no', result.args[4])
435
self.assertEqual('yes', result.args[4])
435
436
self.assertEqual(result, request.execute(''))
458
459
self.assertEqual(expected, request.execute(''))
462
class TestSmartServerBzrDirRequestGetBranches(
463
tests.TestCaseWithMemoryTransport):
464
"""Tests for BzrDir.get_branches."""
466
def test_simple(self):
467
backing = self.get_transport()
468
branch = self.make_branch('.')
469
request_class = smart_dir.SmartServerBzrDirRequestGetBranches
470
request = request_class(backing)
471
local_result = bencode.bencode(
472
{"": ("branch", branch._format.network_name())})
473
expected = smart_req.SuccessfulSmartServerResponse(
474
("success", ), local_result)
475
self.assertEqual(expected, request.execute(''))
477
def test_empty(self):
478
backing = self.get_transport()
479
dir = self.make_bzrdir('.')
480
request_class = smart_dir.SmartServerBzrDirRequestGetBranches
481
request = request_class(backing)
482
local_result = bencode.bencode({})
483
expected = smart_req.SuccessfulSmartServerResponse(
484
('success',), local_result)
485
self.assertEqual(expected, request.execute(''))
461
488
class TestSmartServerRequestInitializeBzrDir(tests.TestCaseWithMemoryTransport):
463
490
def test_empty_dir(self):
485
512
backing = self.get_transport()
486
513
request = smart_dir.SmartServerRequestInitializeBzrDir(backing)
487
514
self.make_bzrdir('subdir')
488
self.assertRaises(errors.FileExists,
515
self.assertRaises(errors.AlreadyControlDirError,
489
516
request.execute, 'subdir')
2503
2530
smart_dir.SmartServerBzrDirRequestCheckoutMetaDir)
2504
2531
self.assertHandlerEqual('BzrDir.cloning_metadir',
2505
2532
smart_dir.SmartServerBzrDirRequestCloningMetaDir)
2533
self.assertHandlerEqual('BzrDir.get_branches',
2534
smart_dir.SmartServerBzrDirRequestGetBranches)
2506
2535
self.assertHandlerEqual('BzrDir.get_config_file',
2507
2536
smart_dir.SmartServerBzrDirRequestConfigFile)
2508
2537
self.assertHandlerEqual('BzrDir.open_branch',
2640
2669
class TestSmartServerRepositoryGetInventories(tests.TestCaseWithTransport):
2642
2671
def _get_serialized_inventory_delta(self, repository, base_revid, revid):
2643
base_inv = repository.revision_tree(base_revid).inventory
2644
inv = repository.revision_tree(revid).inventory
2672
base_inv = repository.revision_tree(base_revid).root_inventory
2673
inv = repository.revision_tree(revid).root_inventory
2645
2674
inv_delta = inv._make_delta(base_inv)
2646
2675
serializer = inventory_delta.InventoryDeltaSerializer(True, False)
2647
2676
return "".join(serializer.delta_to_lines(base_revid, revid, inv_delta))