~free.ekanayaka/landscape-client/jaunty-1.5.2.1-0ubuntu0.9.04.0

« back to all changes in this revision

Viewing changes to landscape/manager/tests/test_packagemanager.py

  • Committer: Free Ekanayaka
  • Date: 2010-06-16 10:01:20 UTC
  • Revision ID: free.ekanayaka@canonical.com-20100616100120-k185twz19yf1qqmh
* New upstream version (LP: #594594):
  - A new includes information about active network devices and their
    IP address in sysinfo output (LP: #272344).
  - A new plugin collects information about network traffic (#LP :284662).
  - Report information about which packages requested a reboot (LP: #538253).
  - Fix breakage on Lucid AMIs having no ramdisk (LP: #574810).
  - Migrate the inter-process communication system from DBus to Twisted AMP.

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
from landscape.package.store import PackageStore
9
9
 
10
10
from landscape.manager.packagemanager import PackageManager
11
 
from landscape.manager.manager import ManagerPluginRegistry
12
11
from landscape.tests.helpers import (
13
 
    LandscapeIsolatedTest, RemoteBrokerHelper, EnvironSaverHelper)
14
 
 
15
 
 
16
 
class PackageManagerTest(LandscapeIsolatedTest):
 
12
    LandscapeTest, EnvironSaverHelper, ManagerHelper)
 
13
 
 
14
 
 
15
class PackageManagerTest(LandscapeTest):
17
16
    """Tests for the temperature plugin."""
18
17
 
19
 
    helpers = [RemoteBrokerHelper, EnvironSaverHelper]
 
18
    helpers = [EnvironSaverHelper, ManagerHelper]
20
19
 
21
20
    def setUp(self):
22
21
        """Initialize test helpers and create a sample thermal zone."""
23
 
        LandscapeIsolatedTest.setUp(self)
24
 
 
25
 
        self.manager = ManagerPluginRegistry(self.remote,
26
 
                                             self.broker_service.reactor,
27
 
                                             self.broker_service.config)
28
 
 
 
22
        super(PackageManagerTest, self).setUp()
29
23
        self.package_store = PackageStore(os.path.join(self.data_path,
30
24
                                                       "package/database"))
31
25
        self.package_manager = PackageManager()
105
99
        The L{PackageManager} spawns a L{PackageChanger} run if messages
106
100
        of type C{"change-packages-result"} are accepted.
107
101
        """
108
 
        self.manager.add(self.package_manager)
109
 
 
110
102
        service = self.broker_service
111
103
        service.message_store.set_accepted_types(["change-packages-result"])
112
104
 
113
105
        package_manager_mock = self.mocker.patch(self.package_manager)
114
106
        package_manager_mock.spawn_handler(PackageChanger)
115
107
        self.mocker.count(2) # Once for registration, then again explicitly.
116
 
 
117
108
        self.mocker.replay()
118
109
 
 
110
        self.manager.add(self.package_manager)
119
111
        return self.package_manager.run()
120
112
 
121
113
    def test_run_on_package_data_changed(self):
123
115
        The L{PackageManager} spawns a L{PackageChanger} run if an event
124
116
        of type C{"package-data-changed"} is fired.
125
117
        """
126
 
        self.manager.add(self.package_manager)
127
118
 
128
119
        service = self.broker_service
129
120
        service.message_store.set_accepted_types(["change-packages-result"])
133
124
        self.mocker.count(2) # Once for registration, then again explicitly.
134
125
        self.mocker.replay()
135
126
 
136
 
        return self.broker_service.reactor.fire("package-data-changed")[1]
 
127
        self.manager.add(self.package_manager)
 
128
        return self.manager.reactor.fire("package-data-changed")[0]
137
129
 
138
130
    def test_spawn_release_upgrader_on_run_if_message_accepted(self):
139
131
        """
140
132
        The L{PackageManager} spawns a L{ReleaseUpgrader} run if messages
141
133
        of type C{"operation-result"} are accepted.
142
134
        """
143
 
        self.manager.add(self.package_manager)
144
 
 
145
135
        service = self.broker_service
146
136
        service.message_store.set_accepted_types(["operation-result"])
147
137
 
148
138
        package_manager_mock = self.mocker.patch(self.package_manager)
149
139
        package_manager_mock.spawn_handler(ReleaseUpgrader)
150
140
        self.mocker.count(2) # Once for registration, then again explicitly.
151
 
 
152
141
        self.mocker.replay()
153
142
 
 
143
        self.manager.add(self.package_manager)
154
144
        return self.package_manager.run()
155
145
 
156
146
    def test_change_packages_handling(self):
310
300
    def test_spawn_handler_doesnt_chdir(self):
311
301
        command = self.makeFile("#!/bin/sh\necho RUN\n")
312
302
        os.chmod(command, 0755)
 
303
        cwd = os.getcwd()
 
304
        self.addCleanup(os.chdir, cwd)
313
305
        dir = self.makeDir()
314
306
        os.chdir(dir)
315
307
        os.chmod(dir, 0)