~ahasenack/landscape-client/landscape-client-1.5.5-0ubuntu0.9.04.0

« back to all changes in this revision

Viewing changes to landscape/sysinfo/tests/test_loggedinusers.py

  • Committer: Bazaar Package Importer
  • Author(s): Rick Clark
  • Date: 2008-09-08 16:35:57 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080908163557-l3ixzj5dxz37wnw2
Tags: 1.0.18-0ubuntu1
New upstream release 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from landscape.sysinfo.sysinfo import SysInfoPluginRegistry
 
2
from landscape.sysinfo.loggedinusers import LoggedInUsers
 
3
from landscape.lib.tests.test_sysstats import FakeWhoQTest
 
4
 
 
5
 
 
6
class LoggedInUsersTest(FakeWhoQTest):
 
7
 
 
8
    def setUp(self):
 
9
        super(LoggedInUsersTest, self).setUp()
 
10
        self.logged_users = LoggedInUsers()
 
11
        self.sysinfo = SysInfoPluginRegistry()
 
12
        self.sysinfo.add(self.logged_users)
 
13
 
 
14
    def test_run_adds_header(self):
 
15
        self.fake_who("one two three")
 
16
        result = self.logged_users.run()
 
17
        def check_headers(result):
 
18
            self.assertEquals(self.sysinfo.get_headers(),
 
19
                              [("Users logged in", "3")])
 
20
        return result.addCallback(check_headers)
 
21
 
 
22
    def test_order_is_preserved_even_if_asynchronous(self):
 
23
        self.fake_who("one two three")
 
24
        self.sysinfo.add_header("Before", "1")
 
25
        result = self.logged_users.run()
 
26
        self.sysinfo.add_header("After", "2")
 
27
        def check_headers(result):
 
28
            self.assertEquals(self.sysinfo.get_headers(),
 
29
                              [("Before", "1"),
 
30
                               ("Users logged in", "3"),
 
31
                               ("After", "2")])
 
32
        return result.addCallback(check_headers)
 
33
 
 
34
    def test_ignore_errors_on_command(self):
 
35
        self.fake_who("")
 
36
        who = open(self.who_path, "w")
 
37
        who.write("#!/bin/sh\necho ERROR >&2\nexit 1\n")
 
38
        who.close()
 
39
        # Nothing bad should happen if who isn't installed, or
 
40
        # if anything else happens with the command execution.
 
41
        result = self.logged_users.run()
 
42
        def check_headers(result):
 
43
            self.assertEquals(self.sysinfo.get_headers(), [])
 
44
        return result.addCallback(check_headers)