/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
6614.1.3 by Vincent Ladeuil
Fix assertEquals being deprecated by using assertEqual.
1
# Copyright (C) 2010, 2011, 2012, 2016 Canonical Ltd
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
17
6622.1.29 by Jelmer Vernooij
Fix some more tests.
18
"""Black-box tests for brz config."""
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
19
6624 by Jelmer Vernooij
Merge Python3 porting work ('py3 pokes')
20
from ... import (
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
21
    config,
22
    tests,
23
    )
6624 by Jelmer Vernooij
Merge Python3 porting work ('py3 pokes')
24
from .. import (
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
25
    script,
26
    test_config as _t_config,
27
    )
6624 by Jelmer Vernooij
Merge Python3 porting work ('py3 pokes')
28
from ..matchers import ContainsNoVfsCalls
6352.2.2 by Jelmer Vernooij
Use new NoVfsCalls matcher in blackbox tests.
29
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
30
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
31
class TestWithoutConfig(tests.TestCaseWithTransport):
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
32
5506.2.3 by Vincent Ladeuil
Take review comments into account and drive-by fix bug #670251
33
    def test_config_all(self):
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
34
        out, err = self.run_bzr(['config'])
6614.1.3 by Vincent Ladeuil
Fix assertEquals being deprecated by using assertEqual.
35
        self.assertEqual('', out)
36
        self.assertEqual('', err)
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
37
5506.2.2 by Vincent Ladeuil
Raise an error if the option doesn't exist and --active is used.
38
    def test_remove_unknown_option(self):
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
39
        self.run_bzr_error(['The "file" configuration option does not exist',],
40
                           ['config', '--remove', 'file'])
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
41
5506.2.3 by Vincent Ladeuil
Take review comments into account and drive-by fix bug #670251
42
    def test_all_remove_exclusive(self):
43
        self.run_bzr_error(['--all and --remove are mutually exclusive.',],
44
                           ['config', '--remove', '--all'])
45
46
    def test_all_set_exclusive(self):
47
        self.run_bzr_error(['Only one option can be set.',],
48
                           ['config', '--all', 'hello=world'])
5506.2.1 by Vincent Ladeuil
Implements ``bzr config --active option`` displaying only the value.
49
5506.2.2 by Vincent Ladeuil
Raise an error if the option doesn't exist and --active is used.
50
    def test_remove_no_option(self):
5506.2.1 by Vincent Ladeuil
Implements ``bzr config --active option`` displaying only the value.
51
        self.run_bzr_error(['--remove expects an option to remove.',],
52
                           ['config', '--remove'])
53
5506.2.3 by Vincent Ladeuil
Take review comments into account and drive-by fix bug #670251
54
    def test_unknown_option(self):
5506.2.2 by Vincent Ladeuil
Raise an error if the option doesn't exist and --active is used.
55
        self.run_bzr_error(['The "file" configuration option does not exist',],
5506.2.3 by Vincent Ladeuil
Take review comments into account and drive-by fix bug #670251
56
                           ['config', 'file'])
57
58
    def test_unexpected_regexp(self):
59
        self.run_bzr_error(
60
            ['The "\*file" configuration option does not exist',],
61
            ['config', '*file'])
62
63
    def test_wrong_regexp(self):
64
        self.run_bzr_error(
65
            ['Invalid pattern\(s\) found. "\*file" nothing to repeat',],
66
            ['config', '--all', '*file'])
67
5506.2.2 by Vincent Ladeuil
Raise an error if the option doesn't exist and --active is used.
68
5506.2.1 by Vincent Ladeuil
Implements ``bzr config --active option`` displaying only the value.
69
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
70
class TestConfigDisplay(tests.TestCaseWithTransport):
71
72
    def setUp(self):
73
        super(TestConfigDisplay, self).setUp()
74
        _t_config.create_configs(self)
75
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
76
    def test_multiline_all_values(self):
77
        self.bazaar_config.set_user_option('multiline', '1\n2\n')
5609.20.3 by Vincent Ladeuil
Fix pqm failures.
78
        # Fallout from bug 710410, the triple quotes have been toggled
79
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
80
            $ brz config -d tree
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
81
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
82
              [DEFAULT]
5609.20.3 by Vincent Ladeuil
Fix pqm failures.
83
              multiline = """1
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
84
            2
5609.20.3 by Vincent Ladeuil
Fix pqm failures.
85
            """
86
            ''')
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
87
88
    def test_multiline_value_only(self):
89
        self.bazaar_config.set_user_option('multiline', '1\n2\n')
5609.20.3 by Vincent Ladeuil
Fix pqm failures.
90
        # Fallout from bug 710410, the triple quotes have been toggled
91
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
92
            $ brz config -d tree multiline
5609.20.3 by Vincent Ladeuil
Fix pqm failures.
93
            """1
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
94
            2
5609.20.3 by Vincent Ladeuil
Fix pqm failures.
95
            """
96
            ''')
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
97
6466.1.1 by Vincent Ladeuil
Fix RegistryOption display in bzr config output
98
    def test_list_value_all(self):
6385.1.1 by Vincent Ladeuil
Stores allow Stacks to control when values are quoted/unquoted
99
        config.option_registry.register(config.ListOption('list'))
100
        self.addCleanup(config.option_registry.remove, 'list')
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
101
        self.bazaar_config.set_user_option('list', [1, 'a', 'with, a comma'])
102
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
103
            $ brz config -d tree
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
104
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
105
              [DEFAULT]
6385.1.1 by Vincent Ladeuil
Stores allow Stacks to control when values are quoted/unquoted
106
              list = 1, a, "with, a comma"
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
107
            ''')
108
6466.1.1 by Vincent Ladeuil
Fix RegistryOption display in bzr config output
109
    def test_list_value_one(self):
6385.1.1 by Vincent Ladeuil
Stores allow Stacks to control when values are quoted/unquoted
110
        config.option_registry.register(config.ListOption('list'))
111
        self.addCleanup(config.option_registry.remove, 'list')
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
112
        self.bazaar_config.set_user_option('list', [1, 'a', 'with, a comma'])
113
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
114
            $ brz config -d tree list
6385.1.1 by Vincent Ladeuil
Stores allow Stacks to control when values are quoted/unquoted
115
            1, a, "with, a comma"
5533.2.1 by Vincent Ladeuil
``bzr config`` properly displays list values
116
            ''')
117
6466.1.1 by Vincent Ladeuil
Fix RegistryOption display in bzr config output
118
    def test_registry_value_all(self):
119
        self.bazaar_config.set_user_option('bzr.transform.orphan_policy',
120
                                           u'move')
121
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
122
            $ brz config -d tree
6466.1.1 by Vincent Ladeuil
Fix RegistryOption display in bzr config output
123
            bazaar:
124
              [DEFAULT]
125
              bzr.transform.orphan_policy = move
126
            ''')
127
128
    def test_registry_value_one(self):
129
        self.bazaar_config.set_user_option('bzr.transform.orphan_policy',
130
                                           u'move')
131
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
132
            $ brz config -d tree bzr.transform.orphan_policy
6466.1.1 by Vincent Ladeuil
Fix RegistryOption display in bzr config output
133
            move
134
            ''')
135
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
136
    def test_bazaar_config(self):
137
        self.bazaar_config.set_user_option('hello', 'world')
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
138
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
139
            $ brz config -d tree
5447.4.20 by Vincent Ladeuil
Indent inplace files.
140
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
141
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
142
              hello = world
143
            ''')
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
144
145
    def test_locations_config_for_branch(self):
146
        self.locations_config.set_user_option('hello', 'world')
147
        self.branch_config.set_user_option('hello', 'you')
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
148
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
149
            $ brz config -d tree
5447.4.20 by Vincent Ladeuil
Indent inplace files.
150
            locations:
5533.1.1 by Vincent Ladeuil
Fix ``bzr config`` to respect policies when displaying values and also display sections when appropriate.
151
              [.../tree]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
152
              hello = world
153
            branch:
154
              hello = you
155
            ''')
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
156
157
    def test_locations_config_outside_branch(self):
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
158
        self.bazaar_config.set_user_option('hello', 'world')
5447.4.2 by Vincent Ladeuil
Implement the 'brz config' command. Read-only.
159
        self.locations_config.set_user_option('hello', 'world')
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
160
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
161
            $ brz config
5447.4.20 by Vincent Ladeuil
Indent inplace files.
162
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
163
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
164
              hello = world
165
            ''')
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
166
6404.4.1 by Vincent Ladeuil
Properly support config.CommandLineStore in ``bzr config``
167
    def test_cmd_line(self):
168
        self.bazaar_config.set_user_option('hello', 'world')
169
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
170
            $ brz config -Ohello=bzr
6404.4.1 by Vincent Ladeuil
Properly support config.CommandLineStore in ``bzr config``
171
            cmdline:
172
              hello = bzr
173
            bazaar:
174
              [DEFAULT]
175
              hello = world
176
            ''')
177
6385.1.1 by Vincent Ladeuil
Stores allow Stacks to control when values are quoted/unquoted
178
5533.1.1 by Vincent Ladeuil
Fix ``bzr config`` to respect policies when displaying values and also display sections when appropriate.
179
class TestConfigDisplayWithPolicy(tests.TestCaseWithTransport):
180
181
    def test_location_with_policy(self):
182
        # LocationConfig is the only one dealing with policies so far.
183
        self.make_branch_and_tree('tree')
184
        config_text = """\
185
[%(dir)s]
186
url = dir
187
url:policy = appendpath
188
[%(dir)s/tree]
189
url = tree
190
""" % {'dir': self.test_dir}
191
        # We don't use the config directly so we save it to disk
192
        config.LocationConfig.from_string(config_text, 'tree', save=True)
193
        # policies are displayed with their options since they are part of
194
        # their definition, likewise the path is not appended, we are just
195
        # presenting the relevant portions of the config files
196
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
197
            $ brz config -d tree --all url
5533.1.1 by Vincent Ladeuil
Fix ``bzr config`` to respect policies when displaying values and also display sections when appropriate.
198
            locations:
199
              [.../work/tree]
200
              url = tree
201
              [.../work]
202
              url = dir
203
              url:policy = appendpath
204
            ''')
205
5506.2.3 by Vincent Ladeuil
Take review comments into account and drive-by fix bug #670251
206
5506.2.1 by Vincent Ladeuil
Implements ``bzr config --active option`` displaying only the value.
207
class TestConfigActive(tests.TestCaseWithTransport):
208
209
    def setUp(self):
210
        super(TestConfigActive, self).setUp()
211
        _t_config.create_configs_with_file_option(self)
212
213
    def test_active_in_locations(self):
214
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
215
            $ brz config -d tree file
5506.2.1 by Vincent Ladeuil
Implements ``bzr config --active option`` displaying only the value.
216
            locations
217
            ''')
218
219
    def test_active_in_bazaar(self):
220
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
221
            $ brz config -d tree --scope bazaar file
5506.2.1 by Vincent Ladeuil
Implements ``bzr config --active option`` displaying only the value.
222
            bazaar
223
            ''')
224
225
    def test_active_in_branch(self):
226
        # We need to delete the locations definition that overrides the branch
227
        # one
228
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
229
            $ brz config -d tree --scope locations --remove file
230
            $ brz config -d tree file
5506.2.1 by Vincent Ladeuil
Implements ``bzr config --active option`` displaying only the value.
231
            branch
232
            ''')
233
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
234
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
235
class TestConfigSetOption(tests.TestCaseWithTransport):
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
236
237
    def setUp(self):
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
238
        super(TestConfigSetOption, self).setUp()
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
239
        _t_config.create_configs(self)
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
240
241
    def test_unknown_config(self):
5447.4.10 by Vincent Ladeuil
Using dedicated exceptions feels cleaner.
242
        self.run_bzr_error(['The "moon" configuration does not exist'],
5447.4.17 by Vincent Ladeuil
Rename config --force to config --scope.
243
                           ['config', '--scope', 'moon', 'hello=world'])
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
244
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
245
    def test_bazaar_config_outside_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
246
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
247
            $ brz config --scope bazaar hello=world
248
            $ brz config -d tree --all hello
5447.4.20 by Vincent Ladeuil
Indent inplace files.
249
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
250
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
251
              hello = world
252
            ''')
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
253
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
254
    def test_bazaar_config_inside_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
255
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
256
            $ brz config -d tree --scope bazaar hello=world
257
            $ brz config -d tree --all hello
5447.4.20 by Vincent Ladeuil
Indent inplace files.
258
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
259
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
260
              hello = world
261
            ''')
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
262
263
    def test_locations_config_inside_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
264
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
265
            $ brz config -d tree --scope locations hello=world
266
            $ brz config -d tree --all hello
5447.4.20 by Vincent Ladeuil
Indent inplace files.
267
            locations:
5533.1.1 by Vincent Ladeuil
Fix ``bzr config`` to respect policies when displaying values and also display sections when appropriate.
268
              [.../work/tree]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
269
              hello = world
270
            ''')
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
271
272
    def test_branch_config_default(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
273
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
274
            $ brz config -d tree hello=world
275
            $ brz config -d tree --all hello
5447.4.20 by Vincent Ladeuil
Indent inplace files.
276
            branch:
277
              hello = world
278
            ''')
5447.4.5 by Vincent Ladeuil
Implement ``bzr config option=value``.
279
280
    def test_branch_config_forcing_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
281
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
282
            $ brz config -d tree --scope branch hello=world
283
            $ brz config -d tree --all hello
5447.4.20 by Vincent Ladeuil
Indent inplace files.
284
            branch:
285
              hello = world
286
            ''')
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
287
288
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
289
class TestConfigRemoveOption(tests.TestCaseWithTransport):
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
290
291
    def setUp(self):
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
292
        super(TestConfigRemoveOption, self).setUp()
5447.4.6 by Vincent Ladeuil
Start defining fixtures but we still have an unexpected sucessful test.
293
        _t_config.create_configs_with_file_option(self)
294
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
295
    def test_unknown_config(self):
296
        self.run_bzr_error(['The "moon" configuration does not exist'],
5447.4.17 by Vincent Ladeuil
Rename config --force to config --scope.
297
                           ['config', '--scope', 'moon', '--remove', 'file'])
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
298
299
    def test_bazaar_config_outside_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
300
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
301
            $ brz config --scope bazaar --remove file
302
            $ brz config -d tree --all file
5447.4.20 by Vincent Ladeuil
Indent inplace files.
303
            locations:
5533.1.1 by Vincent Ladeuil
Fix ``bzr config`` to respect policies when displaying values and also display sections when appropriate.
304
              [.../work/tree]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
305
              file = locations
306
            branch:
307
              file = branch
308
            ''')
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
309
310
    def test_bazaar_config_inside_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
311
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
312
            $ brz config -d tree --scope bazaar --remove file
313
            $ brz config -d tree --all file
5447.4.20 by Vincent Ladeuil
Indent inplace files.
314
            locations:
5533.1.1 by Vincent Ladeuil
Fix ``bzr config`` to respect policies when displaying values and also display sections when appropriate.
315
              [.../work/tree]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
316
              file = locations
317
            branch:
318
              file = branch
319
            ''')
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
320
321
    def test_locations_config_inside_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
322
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
323
            $ brz config -d tree --scope locations --remove file
324
            $ brz config -d tree --all file
5447.4.20 by Vincent Ladeuil
Indent inplace files.
325
            branch:
326
              file = branch
327
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
328
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
329
              file = bazaar
330
            ''')
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
331
332
    def test_branch_config_default(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
333
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
334
            $ brz config -d tree --scope locations --remove file
335
            $ brz config -d tree --all file
5447.4.20 by Vincent Ladeuil
Indent inplace files.
336
            branch:
337
              file = branch
338
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
339
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
340
              file = bazaar
341
            ''')
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
342
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
343
            $ brz config -d tree --remove file
344
            $ brz config -d tree --all file
5447.4.20 by Vincent Ladeuil
Indent inplace files.
345
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
346
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
347
              file = bazaar
348
            ''')
5447.4.11 by Vincent Ladeuil
Implement ``bzr config --remove <option>``.
349
350
    def test_branch_config_forcing_branch(self):
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
351
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
352
            $ brz config -d tree --scope branch --remove file
353
            $ brz config -d tree --all file
5447.4.20 by Vincent Ladeuil
Indent inplace files.
354
            locations:
5533.1.1 by Vincent Ladeuil
Fix ``bzr config`` to respect policies when displaying values and also display sections when appropriate.
355
              [.../work/tree]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
356
              file = locations
357
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
358
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
359
              file = bazaar
360
            ''')
5447.4.18 by Vincent Ladeuil
Use a coherent script syntax.
361
        script.run_script(self, '''\
6622.1.29 by Jelmer Vernooij
Fix some more tests.
362
            $ brz config -d tree --scope locations --remove file
363
            $ brz config -d tree --all file
5447.4.20 by Vincent Ladeuil
Indent inplace files.
364
            bazaar:
6393.2.2 by Vincent Ladeuil
Display [DEFAULT] when reporting options from bazaar.conf.
365
              [DEFAULT]
5447.4.20 by Vincent Ladeuil
Indent inplace files.
366
              file = bazaar
367
            ''')
6270.1.2 by Jelmer Vernooij
Add test for number of roundtrips of 'bzr config -d'.
368
369
370
class TestSmartServerConfig(tests.TestCaseWithTransport):
371
372
    def test_simple_branch_config(self):
373
        self.setup_smart_server_with_call_log()
374
        t = self.make_branch_and_tree('branch')
375
        self.reset_smart_call_log()
376
        out, err = self.run_bzr(['config', '-d', self.get_url('branch')])
377
        # This figure represent the amount of work to perform this use case. It
378
        # is entirely ok to reduce this number if a test fails due to rpc_count
379
        # being too low. If rpc_count increases, more network roundtrips have
380
        # become necessary for this use case. Please do not adjust this number
381
        # upwards without agreement from bzr's network support maintainers.
382
        self.assertLength(5, self.hpss_calls)
6366.1.4 by Jelmer Vernooij
Test connection count calls for most blackbox commands.
383
        self.assertLength(1, self.hpss_connections)
6352.2.3 by Jelmer Vernooij
s/NoVfsCalls/ContainsNoVfsCalls/.
384
        self.assertThat(self.hpss_calls, ContainsNoVfsCalls)
6437.66.2 by Vincent Ladeuil
Add a proper tests relying on ':parent' as *a* directory service.
385
386
387
class TestConfigDirectory(tests.TestCaseWithTransport):
388
389
    def test_parent_alias(self):
390
        t = self.make_branch_and_tree('base')
391
        t.branch.get_config_stack().set('test', 'base')
6653.6.1 by Jelmer Vernooij
Rename a number of attributes from bzrdir to controldir.
392
        clone = t.branch.controldir.sprout('clone').open_branch()
6437.66.2 by Vincent Ladeuil
Add a proper tests relying on ':parent' as *a* directory service.
393
        clone.get_config_stack().set('test', 'clone')
394
        out, err = self.run_bzr(['config', '-d', ':parent', 'test'],
395
                                working_dir='clone')
6614.1.3 by Vincent Ladeuil
Fix assertEquals being deprecated by using assertEqual.
396
        self.assertEqual('base\n', out)