~ack/landscape-client/sources.list-preserve-old-permissions

« back to all changes in this revision

Viewing changes to landscape/tests/test_hal.py

  • Committer: Christopher Armstrong
  • Date: 2008-06-10 10:56:01 UTC
  • Revision ID: radix@twistedmatrix.com-20080610105601-l9qfvqjf88e7j8b6
Import landscape-client into public branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from dbus import SystemBus, Interface
 
2
 
 
3
from landscape.hal import HALDevice, HALManager
 
4
from landscape.tests.helpers import LandscapeTest
 
5
 
 
6
 
 
7
class HALManagerTest(LandscapeTest):
 
8
 
 
9
    def setUp(self):
 
10
        super(HALManagerTest, self).setUp()
 
11
        self.bus = SystemBus()
 
12
        self.manager = HALManager()
 
13
 
 
14
    def test_get_devices(self):
 
15
        """
 
16
        A HALManager can return a flat list of devices.  All available
 
17
        devices should be included in the returned list.
 
18
        """
 
19
        devices = self.manager.get_devices()
 
20
        manager = self.bus.get_object("org.freedesktop.Hal",
 
21
                                      "/org/freedesktop/Hal/Manager")
 
22
        manager = Interface(manager, "org.freedesktop.Hal.Manager")
 
23
        expected_devices = manager.GetAllDevices()
 
24
        actual_devices = [device.udi for device in devices]
 
25
        self.assertEquals(set(expected_devices), set(actual_devices))
 
26
 
 
27
 
 
28
class MockHALManager(object):
 
29
 
 
30
    def __init__(self, devices):
 
31
        self.devices = devices
 
32
 
 
33
    def get_devices(self):
 
34
        return [HALDevice(device) for device in self.devices]
 
35
 
 
36
 
 
37
class MockRealHALDevice(object):
 
38
 
 
39
    def __init__(self, properties):
 
40
        self._properties = properties
 
41
        self.udi = properties.get("info.udi", "fake_udi")
 
42
 
 
43
    def GetAllProperties(self):
 
44
        return self._properties
 
45
 
 
46
 
 
47
class HALDeviceTest(LandscapeTest):
 
48
 
 
49
    def test_init(self):
 
50
        device = HALDevice(MockRealHALDevice({"info.udi": "wubble"}))
 
51
        self.assertEquals(device.properties, {"info.udi": "wubble"})
 
52
        self.assertEquals(device.udi, "wubble")
 
53
        self.assertEquals(device.parent, None)
 
54
 
 
55
    def test_add_child(self):
 
56
        parent = HALDevice(MockRealHALDevice({"info.udi": "wubble"}))
 
57
        child = HALDevice(MockRealHALDevice({"info.udi": "ooga"}))
 
58
        parent.add_child(child)
 
59
        self.assertEquals(parent.get_children(), [child])
 
60
        self.assertEquals(child.parent, parent)