/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/git/tests/test_transportgit.py

  • Committer: Jelmer Vernooij
  • Date: 2019-03-04 00:16:27 UTC
  • mfrom: (7293 work)
  • mto: This revision was merged to the branch mainline in revision 7318.
  • Revision ID: jelmer@jelmer.uk-20190304001627-v6u7o6pf97tukhek
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 
25
25
from ...tests import TestCaseWithTransport
26
26
 
27
 
from ..transportgit import TransportObjectStore
 
27
from ..transportgit import (
 
28
    TransportObjectStore,
 
29
    TransportRefsContainer,
 
30
    )
28
31
 
29
32
 
30
33
class TransportObjectStoreTests(PackBasedObjectStoreTests, TestCaseWithTransport):
37
40
        PackBasedObjectStoreTests.tearDown(self)
38
41
        TestCaseWithTransport.tearDown(self)
39
42
 
 
43
    def test_prefers_pack_listdir(self):
 
44
        self.store.add_object(make_object(Blob, data=b"data"))
 
45
        self.assertEqual(0, len(self.store.packs))
 
46
        self.store.pack_loose_objects()
 
47
        self.assertEqual(1, len(self.store.packs))
 
48
        packname = list(self.store.packs)[0].name()
 
49
        self.assertEqual({'pack-%s.pack' % packname.decode('ascii'), 'pack-%s.idx' % packname.decode('ascii')},
 
50
                         set(self.store._pack_names()))
 
51
        self.store.transport.put_bytes_non_atomic('info/packs',
 
52
                                                  b'P foo-pack.pack\n')
 
53
        self.assertEqual({'pack-%s.pack' % packname.decode('ascii'), 'pack-%s.idx' % packname.decode('ascii')},
 
54
                         set(self.store._pack_names()))
 
55
 
40
56
    def test_remembers_packs(self):
41
57
        self.store.add_object(make_object(Blob, data=b"data"))
42
58
        self.assertEqual(0, len(self.store.packs))
55
71
 
56
72
# FIXME: Unfortunately RefsContainerTests requires on a specific set of refs existing.
57
73
 
58
 
# class TransportRefContainerTests(RefsContainerTests, TestCaseWithTransport):
59
 
#
60
 
#    def setUp(self):
61
 
#        TestCaseWithTransport.setUp(self)
62
 
#        self._refs = TransportRefsContainer(self.get_transport())
63
 
 
 
74
class TransportRefContainerTests(TestCaseWithTransport):
 
75
 
 
76
    def setUp(self):
 
77
        TestCaseWithTransport.setUp(self)
 
78
        self._refs = TransportRefsContainer(self.get_transport())
 
79
 
 
80
    def test_packed_refs_missing(self):
 
81
        self.assertEqual({}, self._refs.get_packed_refs())
 
82
 
 
83
    def test_packed_refs(self):
 
84
        self.get_transport().put_bytes_non_atomic('packed-refs',
 
85
                                                  b'# pack-refs with: peeled fully-peeled sorted \n'
 
86
                                                  b'2001b954f1ec392f84f7cec2f2f96a76ed6ba4ee refs/heads/master')
 
87
        self.assertEqual(
 
88
            {b'refs/heads/master': b'2001b954f1ec392f84f7cec2f2f96a76ed6ba4ee'},
 
89
            self._refs.get_packed_refs())