Example #1
0
 def test_createUserAuthInfo(self):
     """
     The auth handler returned by L{CalendarClientSimulator._createUser}
     includes the password taken from user's directory record.
     """
     calsim = CalendarClientSimulator(
         [self._user('alice')],
         Populator(None), None, None, 'http://example.org:1234/', None, None)
     user, auth = calsim._createUser(0)
     self.assertEqual(
         auth['basic'].passwd.find_user_password('Test Realm', 'http://example.org:1234/')[1],
         'password-' + user)
     self.assertEqual(
         auth['digest'].passwd.find_user_password('Test Realm', 'http://example.org:1234/')[1],
         'password-' + user)
Example #2
0
 def test_createUser(self):
     """
     Subsequent calls to L{CalendarClientSimulator._createUser}
     with different user numbers return user details from different
     directory records.
     """
     calsim = CalendarClientSimulator(
         [self._user('alice'), self._user('bob'), self._user('carol')],
         Populator(None), None, None, 'http://example.org:1234/', None, None)
     users = sorted([
         calsim._createUser(0)[0],
         calsim._createUser(1)[0],
         calsim._createUser(2)[0],
     ])
     self.assertEqual(['alice', 'bob', 'carol'], users)
Example #3
0
 def test_createUserAuthInfo(self):
     """
     The auth handler returned by L{CalendarClientSimulator._createUser}
     includes the password taken from user's directory record.
     """
     calsim = CalendarClientSimulator(
         [self._user('alice')],
         Populator(None), None, None, 'http://example.org:1234/', None, None)
     user, auth = calsim._createUser(0)
     self.assertEqual(
         auth['basic'].passwd.find_user_password('Test Realm', 'http://example.org:1234/')[1],
         'password-' + user)
     self.assertEqual(
         auth['digest'].passwd.find_user_password('Test Realm', 'http://example.org:1234/')[1],
         'password-' + user)
Example #4
0
 def test_createUser(self):
     """
     Subsequent calls to L{CalendarClientSimulator._createUser}
     with different user numbers return user details from different
     directory records.
     """
     calsim = CalendarClientSimulator(
         [self._user('alice'), self._user('bob'), self._user('carol')],
         Populator(None), None, None, 'http://example.org:1234/', None, None)
     users = sorted([
         calsim._createUser(0)[0],
         calsim._createUser(1)[0],
         calsim._createUser(2)[0],
     ])
     self.assertEqual(['alice', 'bob', 'carol'], users)
Example #5
0
    def test_stop(self):
        """
        After L{CalendarClientSimulator.stop} is called, failed clients and
        profiles are not logged.
        """

        class BrokenClient(object):
            def __init__(self, reactor, serverAddress, principalPathTemplate,
                         serializationPath, userInfo, auth, runResult):
                self._runResult = runResult

            def run(self):
                return self._runResult

            def stop(self):
                return succeed(None)

        class BrokenProfile(object):
            def __init__(self, reactor, simulator, client, userNumber,
                         runResult):
                self._runResult = runResult
                self.enabled = True

            def run(self):
                return self._runResult

        clientRunResult = Deferred()
        profileRunResult = Deferred()

        params = PopulationParameters()
        params.addClient(
            1,
            ClientType(
                BrokenClient, {'runResult': clientRunResult},
                [ProfileType(BrokenProfile, {'runResult': profileRunResult})]))
        sim = CalendarClientSimulator([self._user('alice')], Populator(None),
                                      params, None, 'http://example.com:1234/',
                                      None, None)
        sim.add(1, 1)
        sim.stop()
        clientRunResult.errback(RuntimeError("Some fictional client problem"))
        profileRunResult.errback(
            RuntimeError("Some fictional profile problem"))

        self.assertEqual([], self.flushLoggedErrors())
Example #6
0
    def test_stop(self):
        """
        After L{CalendarClientSimulator.stop} is called, failed clients and
        profiles are not logged.
        """
        class BrokenClient(object):
            def __init__(self, reactor, serverAddress, principalPathTemplate,
                         serializationPath, userInfo, auth, instanceNumber,
                         runResult):
                self._runResult = runResult

            def run(self):
                return self._runResult

            def stop(self):
                return succeed(None)

        class BrokenProfile(object):
            def __init__(self, reactor, simulator, client, userNumber,
                         runResult):
                self._runResult = runResult
                self.enabled = True

            def initialize(self):
                return succeed(None)

            def run(self):
                return self._runResult

        clientRunResult = Deferred()
        profileRunResult = Deferred()

        params = PopulationParameters()
        params.addClient(
            1,
            ClientType(
                BrokenClient, {'runResult': clientRunResult},
                [ProfileType(BrokenProfile, {'runResult': profileRunResult})]))
        sim = CalendarClientSimulator(
            [self._user('alice')], Populator(None), None, params, None, {
                "PodA": {
                    "enabled": True,
                    "uri": 'http://example.org:1234/',
                    "stats": {
                        "enabled": False
                    },
                },
            }, None, None)
        sim.add(1, 1)
        sim.stop()
        clientRunResult.errback(RuntimeError("Some fictional client problem"))
        profileRunResult.errback(
            RuntimeError("Some fictional profile problem"))

        self.assertEqual([], self.flushLoggedErrors())
Example #7
0
 def setUp(self):
     self.sim = CalendarClientSimulator(AnyUser(), Populator(None), None,
                                        None, None, None, None)