~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_repository.py

(vila) Make all transport put_bytes() raises TypeError when given unicode
 strings rather than bytes (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
    )
46
46
from bzrlib import (
47
47
    bzrdir,
 
48
    controldir,
48
49
    errors,
49
50
    inventory,
50
51
    osutils,
66
67
class TestDefaultFormat(TestCase):
67
68
 
68
69
    def test_get_set_default_format(self):
69
 
        old_default = bzrdir.format_registry.get('default')
 
70
        old_default = controldir.format_registry.get('default')
70
71
        private_default = old_default().repository_format.__class__
71
72
        old_format = repository.format_registry.get_default()
72
73
        self.assertTrue(isinstance(old_format, private_default))
74
75
            my_bzrdir = bzrdir.BzrDirMetaFormat1()
75
76
            my_bzrdir.repository_format = SampleRepositoryFormat()
76
77
            return my_bzrdir
77
 
        bzrdir.format_registry.remove('default')
78
 
        bzrdir.format_registry.register('sample', make_sample_bzrdir, '')
79
 
        bzrdir.format_registry.set_default('sample')
 
78
        controldir.format_registry.remove('default')
 
79
        controldir.format_registry.register('sample', make_sample_bzrdir, '')
 
80
        controldir.format_registry.set_default('sample')
80
81
        # creating a repository should now create an instrumented dir.
81
82
        try:
82
83
            # the default branch format is used by the meta dir format
85
86
            result = dir.create_repository()
86
87
            self.assertEqual(result, 'A bzr repository dir')
87
88
        finally:
88
 
            bzrdir.format_registry.remove('default')
89
 
            bzrdir.format_registry.remove('sample')
90
 
            bzrdir.format_registry.register('default', old_default, '')
 
89
            controldir.format_registry.remove('default')
 
90
            controldir.format_registry.remove('sample')
 
91
            controldir.format_registry.register('default', old_default, '')
91
92
        self.assertIsInstance(repository.format_registry.get_default(),
92
93
                              old_format.__class__)
93
94
 
177
178
        repository.RepositoryFormatMetaDir.register_feature("name")
178
179
        found_format.check_support_status(True)
179
180
 
180
 
    def test_register_unregister_format(self):
181
 
        # Test deprecated format registration functions
182
 
        format = SampleRepositoryFormat()
183
 
        # make a control dir
184
 
        dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
185
 
        # make a repo
186
 
        format.initialize(dir)
187
 
        # register a format for it.
188
 
        self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
189
 
            repository.RepositoryFormat.register_format, format)
190
 
        # which repository.Open will refuse (not supported)
191
 
        self.assertRaises(UnsupportedFormatError, repository.Repository.open,
192
 
            self.get_url())
193
 
        # but open(unsupported) will work
194
 
        self.assertEqual(format.open(dir), "opened repository.")
195
 
        # unregister the format
196
 
        self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
197
 
            repository.RepositoryFormat.unregister_format, format)
198
 
 
199
181
 
200
182
class TestRepositoryFormatRegistry(TestCase):
201
183
 
236
218
    def test_attribute__fetch_order(self):
237
219
        """Knits need topological data insertion."""
238
220
        repo = self.make_repository('.',
239
 
                format=bzrdir.format_registry.get('knit')())
 
221
                format=controldir.format_registry.get('knit')())
240
222
        self.assertEqual('topological', repo._format._fetch_order)
241
223
 
242
224
    def test_attribute__fetch_uses_deltas(self):
243
225
        """Knits reuse deltas."""
244
226
        repo = self.make_repository('.',
245
 
                format=bzrdir.format_registry.get('knit')())
 
227
                format=controldir.format_registry.get('knit')())
246
228
        self.assertEqual(True, repo._format._fetch_uses_deltas)
247
229
 
248
230
    def test_disk_layout(self):
334
316
        is valid when the api is not being abused.
335
317
        """
336
318
        repo = self.make_repository('.',
337
 
                format=bzrdir.format_registry.get('knit')())
 
319
                format=controldir.format_registry.get('knit')())
338
320
        inv_xml = '<inventory format="5">\n</inventory>\n'
339
321
        inv = repo._deserialise_inventory('test-rev-id', inv_xml)
340
322
        self.assertEqual('test-rev-id', inv.root.revision)
342
324
    def test_deserialise_uses_global_revision_id(self):
343
325
        """If it is set, then we re-use the global revision id"""
344
326
        repo = self.make_repository('.',
345
 
                format=bzrdir.format_registry.get('knit')())
 
327
                format=controldir.format_registry.get('knit')())
346
328
        inv_xml = ('<inventory format="5" revision_id="other-rev-id">\n'
347
329
                   '</inventory>\n')
348
330
        # Arguably, the deserialise_inventory should detect a mismatch, and
355
337
 
356
338
    def test_supports_external_lookups(self):
357
339
        repo = self.make_repository('.',
358
 
                format=bzrdir.format_registry.get('knit')())
 
340
                format=controldir.format_registry.get('knit')())
359
341
        self.assertFalse(repo._format.supports_external_lookups)
360
342
 
361
343
 
994
976
class TestRepositoryPackCollection(TestCaseWithTransport):
995
977
 
996
978
    def get_format(self):
997
 
        return bzrdir.format_registry.make_bzrdir('pack-0.92')
 
979
        return controldir.format_registry.make_bzrdir('pack-0.92')
998
980
 
999
981
    def get_packs(self):
1000
982
        format = self.get_format()