~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_remote.py

Set branch config options via a smart method.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1332
1332
        self.assertEqual('rejection message', err.msg)
1333
1333
 
1334
1334
 
1335
 
class TestBranchControlGetBranchConf(RemoteBranchTestCase):
1336
 
    """Getting the branch configuration should use an abstract method not vfs.
1337
 
    """
 
1335
class TestBranchGetSetConfig(RemoteBranchTestCase):
1338
1336
 
1339
1337
    def test_get_branch_conf(self):
1340
 
        # We should see that branch.get_config() does a single rpc to get the
1341
 
        # remote configuration file, abstracting away where that is stored on
1342
 
        # the server.  However at the moment it always falls back to using the
1343
 
        # vfs, and this would need some changes in config.py.
1344
 
 
1345
1338
        # in an empty branch we decode the response properly
1346
1339
        client = FakeClient()
1347
1340
        client.add_expected_call(
1357
1350
             ('call_expecting_body', 'Branch.get_config_file', ('memory:///',))],
1358
1351
            client._calls)
1359
1352
 
 
1353
    def test_set_option(self):
 
1354
        client = FakeClient()
 
1355
        client.add_expected_call(
 
1356
            'Branch.get_stacked_on_url', ('memory:///',),
 
1357
            'error', ('NotStacked',),)
 
1358
        client.add_expected_call(
 
1359
            'Branch.lock_write', ('memory:///', '', ''),
 
1360
            'success', ('ok', 'branch token', 'repo token'))
 
1361
        client.add_expected_call(
 
1362
            'Branch.set_config_option', ('memory:///', 'branch token',
 
1363
            'repo token', 'foo', 'bar', ''),
 
1364
            'success', ())
 
1365
        client.add_expected_call(
 
1366
            'Branch.unlock', ('memory:///', 'branch token', 'repo token'),
 
1367
            'success', ('ok',))
 
1368
        transport = MemoryTransport()
 
1369
        branch = self.make_remote_branch(transport, client)
 
1370
        branch.lock_write()
 
1371
        config = branch._get_config()
 
1372
        config.set_option('foo', 'bar')
 
1373
        branch.unlock()
 
1374
        client.finished_test()
 
1375
 
 
1376
    def test_backwards_compat_set_option(self):
 
1377
        self.setup_smart_server_with_call_log()
 
1378
        branch = self.make_branch('.')
 
1379
        verb = 'Branch.set_config_option'
 
1380
        self.disable_verb(verb)
 
1381
        branch.lock_write()
 
1382
        self.addCleanup(branch.unlock)
 
1383
        self.reset_smart_call_log()
 
1384
        branch._get_config().set_option('value', 'name')
 
1385
        self.assertLength(10, self.hpss_calls)
 
1386
        self.assertEqual('value', branch._get_config().get_option('name'))
 
1387
 
1360
1388
 
1361
1389
class TestBranchLockWrite(RemoteBranchTestCase):
1362
1390