~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_remote.py

Merge from bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006, 2007 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
618
618
 
619
619
 
620
620
class TestBranchControlGetBranchConf(tests.TestCaseWithMemoryTransport):
621
 
    """Test branch.control_files api munging...
622
 
 
623
 
    We special case RemoteBranch.control_files.get('branch.conf') to
624
 
    call a specific API so that RemoteBranch's can intercept configuration
625
 
    file reading, allowing them to signal to the client about things like
626
 
    'email is configured for commits'.
 
621
    """Getting the branch configuration should use an abstract method not vfs.
627
622
    """
628
623
 
629
624
    def test_get_branch_conf(self):
 
625
        raise tests.KnownFailure('branch.conf is not retrieved by get_config_file')
 
626
        # We should see that branch.get_config() does a single rpc to get the
 
627
        # remote configuration file, abstracting away where that is stored on
 
628
        # the server.  However at the moment it always falls back to using the
 
629
        # vfs, and this would need some changes in config.py.
 
630
 
630
631
        # in an empty branch we decode the response properly
631
632
        client = FakeClient(self.get_url())
632
 
        client.add_success_response_with_body('config file body', 'ok')
 
633
        client.add_success_response_with_body('# config file body', 'ok')
633
634
        # we need to make a real branch because the remote_branch.control_files
634
635
        # will trigger _ensure_real.
635
636
        branch = self.make_branch('quack')
637
638
        # we do not want bzrdir to make any remote calls
638
639
        bzrdir = RemoteBzrDir(transport, _client=False)
639
640
        branch = RemoteBranch(bzrdir, None, _client=client)
640
 
        result = branch.control_files.get('branch.conf')
 
641
        config = branch.get_config()
641
642
        self.assertEqual(
642
643
            [('call_expecting_body', 'Branch.get_config_file', ('quack/',))],
643
644
            client._calls)
644
 
        self.assertEqual('config file body', result.read())
645
645
 
646
646
 
647
647
class TestBranchLockWrite(tests.TestCase):