~therve/landscape-client/sysinfo-network-disks

« back to all changes in this revision

Viewing changes to landscape/monitor/tests/test_usermonitor.py

  • Committer: Christopher Armstrong
  • Date: 2009-03-06 18:15:15 UTC
  • mfrom: (72.1.23 non-root)
  • Revision ID: radix@twistedmatrix.com-20090306181515-ckjxmu2d4nsomk0o
Merge non-root [r=bigkevmcd,niemeyer] [qa=andreas] [f=82159]

It's now possible to run the Landscape client in a non-root mode. This
mode disables the Manager and only runs the Broker, Watchdog, and Monitor.
The README file explains how to set up this mode.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
from landscape.tests.mocker import ANY
13
13
 
14
14
 
 
15
class UserMonitorNoManagerTest(LandscapeIsolatedTest):
 
16
 
 
17
    helpers = [MakePathHelper, RemoteBrokerHelper]
 
18
 
 
19
    def setUp(self):
 
20
        super(UserMonitorNoManagerTest, self).setUp()
 
21
        self.persist = Persist()
 
22
        self.monitor = MonitorPluginRegistry(
 
23
            self.remote, self.broker_service.reactor,
 
24
            self.broker_service.config, self.broker_service.bus, self.persist)
 
25
 
 
26
    def test_no_fetch_users_in_monitor_only_mode(self):
 
27
        """
 
28
        If we're in monitor_only mode, then all users are assumed to be
 
29
        unlocked.
 
30
        """
 
31
        self.broker_service.config.monitor_only = True
 
32
        def got_result(result):
 
33
            self.assertMessages(
 
34
                self.broker_service.message_store.get_pending_messages(),
 
35
                [{"create-group-members": {u"webdev":[u"jdoe"]},
 
36
                  "create-groups": [{"gid": 1000, "name": u"webdev"}],
 
37
                  "create-users": [{"enabled": True, "home-phone": None,
 
38
                                    "location": None, "name": u"JD",
 
39
                                    "primary-gid": 1000, "uid": 1000,
 
40
                                    "username": u"jdoe", "work-phone": None}],
 
41
                                    "type": "users"}])
 
42
 
 
43
        users = [("jdoe", "x", 1000, 1000, "JD,,,,", "/home/jdoe", "/bin/sh")]
 
44
        groups = [("webdev", "x", 1000, ["jdoe"])]
 
45
        provider = FakeUserProvider(users=users, groups=groups)
 
46
        plugin = UserMonitor(provider=provider)
 
47
        self.monitor.add(plugin)
 
48
        self.broker_service.message_store.set_accepted_types(["users"])
 
49
        result = plugin.run()
 
50
        result.addCallback(got_result)
 
51
        return result
 
52
 
 
53
 
15
54
class UserMonitorTest(LandscapeIsolatedTest):
16
55
 
17
56
    helpers = [MakePathHelper, RemoteBrokerHelper]