def test_requestAvatarIdUnauthorized(self):
     """
     L{OneTimePadChecker.requestAvatarId} should throw L{UnauthorizedLogin}
     if an unknown pad is given.
     """
     checker = OneTimePadChecker({})
     self.assertRaises(
         UnauthorizedLogin,
         lambda: checker.requestAvatarId(_AMPOneTimePad(None)))
Exemple #2
0
 def test_requestAvatarIdUnauthorized(self):
     """
     L{OneTimePadChecker.requestAvatarId} should throw L{UnauthorizedLogin}
     if an unknown pad is given.
     """
     checker = OneTimePadChecker({})
     self.assertRaises(
         UnauthorizedLogin,
         lambda: checker.requestAvatarId(_AMPOneTimePad(None)))
Exemple #3
0
 def test_requestAvatarId(self):
     """
     L{OneTimePadChecker.requestAvatarId} should return the username in the
     case the pad is valid.
     """
     PAD = 'test_requestAvatarId'
     USERNAME = '******'
     checker = OneTimePadChecker({PAD: USERNAME})
     self.assertEqual(
         checker.requestAvatarId(_AMPOneTimePad(PAD)), USERNAME)
 def test_oneTimePad(self):
     """
     L{OneTimePadChecker.requestAvatarId} should invalidate the pad if a
     login is successful.
     """
     PAD = 'test_requestAvatarId'
     checker = OneTimePadChecker({PAD: 'username'})
     checker.requestAvatarId(_AMPOneTimePad(PAD))
     self.assertRaises(UnauthorizedLogin,
                       lambda: checker.requestAvatarId(_AMPOneTimePad(PAD)))
 def test_requestAvatarId(self):
     """
     L{OneTimePadChecker.requestAvatarId} should return the username in the
     case the pad is valid.
     """
     PAD = 'test_requestAvatarId'
     USERNAME = '******'
     checker = OneTimePadChecker({PAD: USERNAME})
     self.assertEqual(checker.requestAvatarId(_AMPOneTimePad(PAD)),
                      USERNAME)
Exemple #6
0
 def test_oneTimePad(self):
     """
     L{OneTimePadChecker.requestAvatarId} should invalidate the pad if a
     login is successful.
     """
     PAD = 'test_requestAvatarId'
     checker = OneTimePadChecker({PAD: 'username'})
     checker.requestAvatarId(_AMPOneTimePad(PAD))
     self.assertRaises(
         UnauthorizedLogin,
         lambda: checker.requestAvatarId(_AMPOneTimePad(PAD)))
Exemple #7
0
 def protocol():
     proto = CredReceiver()
     proto.portal = Portal(
         self.loginSystem,
         [self.loginSystem,
          OneTimePadChecker(self._oneTimePads)])
     return proto
 def test_otpLoginUnauthorized(self):
     """
     L{CredReceiver.otpLogin} should fail with L{UnauthorizedLogin} if an
     invalid pad is received.
     """
     self.portal.registerChecker(OneTimePadChecker({}))
     return self.assertFailure(
         self.server.otpLogin('test_otpLoginUnauthorized'),
         UnauthorizedLogin)
def main():
    """
    Start the AMP server and the reactor.
    """
    startLogging(stdout)
    checker = OneTimePadChecker({'pad': 0})
    realm = AdditionRealm()
    factory = CredAMPServerFactory(Portal(realm, [checker]))
    reactor.listenTCP(7805, factory)
    reactor.run()
Exemple #10
0
    def test_otpLogin(self):
        """
        L{CredReceiver.otpLogin} returns without error if the pad is valid.
        """
        PAD = 'test_otpLogin'
        self.portal.registerChecker(OneTimePadChecker({PAD: 'user'}))
        d = self.server.otpLogin(PAD)

        def cbLoggedIn(result):
            self.assertEqual(result, {})

        d.addCallback(cbLoggedIn)
        return d
Exemple #11
0
    def test_otpLoginResponder(self):
        """
        L{CredReceiver} responds to the L{OTPLogin} command.
        """
        PAD = 'test_otpLoginResponder'
        self.portal.registerChecker(OneTimePadChecker({PAD: 'user'}))
        d = self.client.callRemote(OTPLogin, pad=PAD)

        def cbLoggedIn(result):
            self.assertEqual(result, {})

        d.addCallback(cbLoggedIn)
        return d
Exemple #12
0
    def test_otpLoginNotImplemented(self):
        """
        L{CredReceiver.otpLogin} should fail with L{NotImplementedError} if
        the realm raises L{NotImplementedError} when asked for the avatar.
        """
        def noAvatar(avatarId, mind, *interfaces):
            raise NotImplementedError()

        self.realm.requestAvatar = noAvatar

        PAD = 'test_otpLoginNotImplemented'
        self.portal.registerChecker(OneTimePadChecker({PAD: 'user'}))
        return self.assertFailure(self.server.otpLogin(PAD),
                                  NotImplementedError)