~ahasenack/landscape-client/landscape-client-11.07.1.1-0ubuntu0.11.10.0

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Hasenack
  • Date: 2010-09-08 15:34:09 UTC
  • mto: This revision was merged to the branch mainline in revision 32.
  • Revision ID: james.westby@ubuntu.com-20100908153409-cuhirosnil6hk1f9
Tags: upstream-1.5.5
ImportĀ upstreamĀ versionĀ 1.5.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
import os
2
2
 
3
3
from landscape.lib.persist import Persist
 
4
from landscape.lib.twisted_util import gather_results
4
5
from landscape.manager.plugin import SUCCEEDED, FAILED
5
6
from landscape.monitor.usermonitor import UserMonitor
6
7
from landscape.manager.usermanager import (
332
333
        result.addCallback(handle_callback)
333
334
        return result
334
335
 
 
336
    def test_many_remove_user_events(self):
 
337
        """
 
338
        The L{UserManager} can handle multiple remove-user events at the same
 
339
        time.
 
340
        """
 
341
        users = [("foo", "x", 1000, 1000, "Foo,,,,", "/home/foo", "/bin/zsh"),
 
342
                 ("bar", "x", 1001, 1001, "Bar,,,,", "/home/bar", "/bin/zsh")]
 
343
        self.setup_environment(users, [], None)
 
344
 
 
345
        def handle_callback(ignored):
 
346
            messages = self.broker_service.message_store.get_pending_messages()
 
347
            # Ignore the message created by plugin.run.
 
348
            messages = sorted(messages[1:3],
 
349
                              key=lambda message: message["operation-id"])
 
350
            self.assertMessages(messages,
 
351
                                [{"type": "operation-result",
 
352
                                  "status": SUCCEEDED,
 
353
                                  "operation-id": 39, "timestamp": 0,
 
354
                                  "result-text": "remove_user succeeded"},
 
355
                                 {"type": "operation-result",
 
356
                                  "status": SUCCEEDED,
 
357
                                  "operation-id": 40, "timestamp": 0,
 
358
                                  "result-text": "remove_user succeeded"}])
 
359
 
 
360
 
 
361
        results = []
 
362
        results.append(self.manager.dispatch_message({"username": "foo",
 
363
                                                      "delete-home": True,
 
364
                                                      "type": "remove-user",
 
365
                                                      "operation-id": 39}))
 
366
        results.append(self.manager.dispatch_message({"username": "bar",
 
367
                                                      "delete-home": True,
 
368
                                                      "type": "remove-user",
 
369
                                                      "operation-id": 40}))
 
370
        return gather_results(results).addCallback(handle_callback)
 
371
 
335
372
    def test_failing_remove_user_event(self):
336
373
        """
337
374
        When a C{remove-user} event is received, and the user doesn't exist, we