~launchpad-results/launchpad-results/trunk

« back to all changes in this revision

Viewing changes to lib/lpresults/repository/zope/tests/test_zrepository.py

  • Committer: Marc Tardif
  • Date: 2011-08-09 15:46:45 UTC
  • Revision ID: marc.tardif@canonical.com-20110809154645-i151emhk6onjggx5
Added hardware for systems and system units.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright 2010-2011 Canonical Ltd.  This software is licensed under the
 
2
# GNU Affero General Public License version 3 (see the file LICENSE).
 
3
 
 
4
__metaclass__ = type
 
5
 
 
6
__all__ = []
 
7
 
 
8
from unittest import (
 
9
    defaultTestLoader,
 
10
    TestCase,
 
11
    )
 
12
 
 
13
from zope.component import (
 
14
    getUtility,
 
15
    provideUtility,
 
16
    )
 
17
 
 
18
from lpresults.repository.source import Source
 
19
from lpresults.repository.exceptions import RepositoryError
 
20
 
 
21
from lpresults.repository.zope.interfaces import IZRepository
 
22
from lpresults.repository.zope.zrepository import ZRepository
 
23
 
 
24
 
 
25
class TestZRepository(TestCase):
 
26
 
 
27
    def setUp(self):
 
28
        self.zrepository = ZRepository()
 
29
 
 
30
    def tearDown(self):
 
31
        self.zrepository._reset()
 
32
 
 
33
    def test_noName(self):
 
34
        self.assertRaises(RepositoryError, self.zrepository.get, "pci")
 
35
 
 
36
    def test_createNamed(self):
 
37
        source = self.zrepository.create("pci", "file:///pci")
 
38
        self.assertTrue(self.zrepository.get("pci") is source)
 
39
 
 
40
    def test_createNamedTwice(self):
 
41
        self.zrepository.create("pci", "file:///pci")
 
42
        self.assertRaises(
 
43
            RepositoryError, self.zrepository.create, "pci", "file:///pci")
 
44
 
 
45
    def test_createDefault(self):
 
46
        self.zrepository.setDefaultURL("pci", "file:///pci")
 
47
        source = self.zrepository.create("pci")
 
48
        self.assertTrue(isinstance(source, Source))
 
49
 
 
50
    def test_createDefaultTwice(self):
 
51
        self.zrepository.setDefaultURL("pci", "file:///pci")
 
52
        self.zrepository.create("pci")
 
53
        self.assertRaises(RepositoryError, self.zrepository.create, "pci")
 
54
 
 
55
    def test_getName(self):
 
56
        source = self.zrepository.create("pci", "file:///pci")
 
57
        self.assertEquals(self.zrepository.getName(source), "pci")
 
58
 
 
59
    def test_getWithURL(self):
 
60
        source = self.zrepository.get("pci", "file:///pci")
 
61
        self.assertTrue(isinstance(source, Source))
 
62
        self.assertTrue(self.zrepository.get("pci") is source)
 
63
        self.assertTrue(self.zrepository.get("pci", "file:///pci") is source)
 
64
 
 
65
    def test_itersources(self):
 
66
        source1 = self.zrepository.create("pci", "file:///pci")
 
67
        source2 = self.zrepository.create("pnp", "file:///pnp")
 
68
        source3 = self.zrepository.create("usb", "file:///usb")
 
69
        sources = []
 
70
        for name, source in self.zrepository.itersources():
 
71
            sources.append((name, source))
 
72
        self.assertEquals(len(sources), 3)
 
73
        self.assertEquals(set(sources),
 
74
                          set([("pci", source1), ("pnp", source2),
 
75
                               ("usb", source3)]))
 
76
 
 
77
    def test_remove(self):
 
78
        source = self.zrepository.create("pci", "file:///pci")
 
79
        self.assertEquals(self.zrepository.getName(source), "pci")
 
80
        self.zrepository.remove(source)
 
81
        self.assertEquals(self.zrepository.getName(source), None)
 
82
 
 
83
    def test_setDefaultURL(self):
 
84
        self.zrepository.setDefaultURL("pci", "file:///pci")
 
85
        source = self.zrepository.get("pci")
 
86
        self.assertTrue(isinstance(source, Source))
 
87
 
 
88
    def test_getDefaultURLs(self):
 
89
        self.zrepository.setDefaultURL("pci", "file:///pci")
 
90
        self.zrepository.setDefaultURL("pnp", "file:///pnp")
 
91
        self.zrepository.setDefaultURL("usb", "file:///usb")
 
92
        default_uris = self.zrepository.getDefaultURLs()
 
93
        self.assertEquals(default_uris, {
 
94
            "pci": "file:///pci",
 
95
            "pnp": "file:///pnp",
 
96
            "usb": "file:///usb",
 
97
            })
 
98
 
 
99
 
 
100
class TestZRepositoryUtility(TestCase):
 
101
 
 
102
    def test_utility(self):
 
103
        provideUtility(ZRepository())
 
104
        self.assertTrue(isinstance(getUtility(IZRepository), ZRepository))
 
105
 
 
106
 
 
107
def test_suite():
 
108
    return defaultTestLoader.loadTestsFromName(__name__)