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())
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)
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)
def setUp(self): self.sim = CalendarClientSimulator(AnyUser(), Populator(None), None, None, None, None, None)