/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.358.2 by Jelmer Vernooij
Refresh copyright headers, add my email.
1
# Copyright (C) 2010-2018 Jelmer Vernooij <jelmer@jelmer.uk>
0.200.936 by Jelmer Vernooij
Test transportgit.
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
0.358.1 by Jelmer Vernooij
Fix FSF address.
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0.200.936 by Jelmer Vernooij
Test transportgit.
16
17
"""Tests for bzr-git's object store."""
18
0.358.3 by Jelmer Vernooij
Enable absolute import.
19
from __future__ import absolute_import
0.200.936 by Jelmer Vernooij
Test transportgit.
20
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
21
from dulwich.objects import Blob
0.257.2 by Jelmer Vernooij
Fix transportgit.
22
from dulwich.tests.test_object_store import PackBasedObjectStoreTests
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
23
from dulwich.tests.utils import make_object
0.200.936 by Jelmer Vernooij
Test transportgit.
24
6986.2.1 by Jelmer Vernooij
Move breezy.plugins.git to breezy.git.
25
from ...tests import TestCaseWithTransport
0.200.936 by Jelmer Vernooij
Test transportgit.
26
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
27
from ..transportgit import TransportObjectStore
0.257.2 by Jelmer Vernooij
Fix transportgit.
28
29
30
class TransportObjectStoreTests(PackBasedObjectStoreTests, TestCaseWithTransport):
0.200.936 by Jelmer Vernooij
Test transportgit.
31
32
    def setUp(self):
33
        TestCaseWithTransport.setUp(self)
34
        self.store = TransportObjectStore.init(self.get_transport())
35
0.200.1069 by Jelmer Vernooij
Fix teardown of object store tests.
36
    def tearDown(self):
37
        PackBasedObjectStoreTests.tearDown(self)
38
        TestCaseWithTransport.tearDown(self)
39
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
40
    def test_remembers_packs(self):
6964.2.1 by Jelmer Vernooij
Initial work to support brz-git on python3.
41
        self.store.add_object(make_object(Blob, data=b"data"))
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
42
        self.assertEqual(0, len(self.store.packs))
43
        self.store.pack_loose_objects()
44
        self.assertEqual(1, len(self.store.packs))
45
46
        # Packing a second object creates a second pack.
6964.2.1 by Jelmer Vernooij
Initial work to support brz-git on python3.
47
        self.store.add_object(make_object(Blob, data=b"more data"))
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
48
        self.store.pack_loose_objects()
49
        self.assertEqual(2, len(self.store.packs))
50
51
        # If we reopen the store, it reloads both packs.
52
        restore = TransportObjectStore(self.get_transport())
53
        self.assertEqual(2, len(restore.packs))
54
55
0.257.2 by Jelmer Vernooij
Fix transportgit.
56
# FIXME: Unfortunately RefsContainerTests requires on a specific set of refs existing.
57
58
# class TransportRefContainerTests(RefsContainerTests, TestCaseWithTransport):
59
#
60
#    def setUp(self):
61
#        TestCaseWithTransport.setUp(self)
62
#        self._refs = TransportRefsContainer(self.get_transport())
63