/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.200.936 by Jelmer Vernooij
Test transportgit.
1
# Copyright (C) 2010 Jelmer Vernooij <jelmer@samba.org>
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
17
"""Tests for bzr-git's object store."""
18
19
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
20
from dulwich.objects import Blob
0.257.2 by Jelmer Vernooij
Fix transportgit.
21
from dulwich.tests.test_object_store import PackBasedObjectStoreTests
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
22
from dulwich.tests.utils import make_object
0.200.936 by Jelmer Vernooij
Test transportgit.
23
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
24
from ....tests import TestCaseWithTransport
0.200.936 by Jelmer Vernooij
Test transportgit.
25
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
26
from ..transportgit import TransportObjectStore
0.257.2 by Jelmer Vernooij
Fix transportgit.
27
28
29
class TransportObjectStoreTests(PackBasedObjectStoreTests, TestCaseWithTransport):
0.200.936 by Jelmer Vernooij
Test transportgit.
30
31
    def setUp(self):
32
        TestCaseWithTransport.setUp(self)
33
        self.store = TransportObjectStore.init(self.get_transport())
34
0.200.1069 by Jelmer Vernooij
Fix teardown of object store tests.
35
    def tearDown(self):
36
        PackBasedObjectStoreTests.tearDown(self)
37
        TestCaseWithTransport.tearDown(self)
38
0.281.3 by William Grant
Fix TransportObjectStore with multiple packs, and add test.
39
    def test_remembers_packs(self):
40
        self.store.add_object(make_object(Blob, data="data"))
41
        self.assertEqual(0, len(self.store.packs))
42
        self.store.pack_loose_objects()
43
        self.assertEqual(1, len(self.store.packs))
44
45
        # Packing a second object creates a second pack.
46
        self.store.add_object(make_object(Blob, data="more data"))
47
        self.store.pack_loose_objects()
48
        self.assertEqual(2, len(self.store.packs))
49
50
        # If we reopen the store, it reloads both packs.
51
        restore = TransportObjectStore(self.get_transport())
52
        self.assertEqual(2, len(restore.packs))
53
54
0.257.2 by Jelmer Vernooij
Fix transportgit.
55
# FIXME: Unfortunately RefsContainerTests requires on a specific set of refs existing.
56
57
# class TransportRefContainerTests(RefsContainerTests, TestCaseWithTransport):
58
#
59
#    def setUp(self):
60
#        TestCaseWithTransport.setUp(self)
61
#        self._refs = TransportRefsContainer(self.get_transport())
62