示例#1
0
    def test_grant_revoke_access(self):
        tester = User('*****@*****.**')
        with self.assertRaises(LabControlLoginDisabledError):
            User.login('*****@*****.**', 'password')

        tester.grant_access()
        obs = User.login('*****@*****.**', 'password')
        self.assertEqual(obs, tester)

        tester.revoke_access()
        with self.assertRaises(LabControlLoginDisabledError):
            User.login('*****@*****.**', 'password')
示例#2
0
    def test_access_handler_post(self):
        tester = User('*****@*****.**')
        response = self.post('/auth/access/', {'email': '*****@*****.**',
                                               'operation': 'grant'})
        self.assertEqual(response.code, 200)
        self.assertEqual(User.login('*****@*****.**', 'password'), tester)

        response = self.post('/auth/access/', {'email': '*****@*****.**',
                                               'operation': 'revoke'})
        self.assertEqual(response.code, 200)
        with self.assertRaises(LabControlLoginDisabledError):
            User.login('*****@*****.**', 'password')

        response = self.post('/auth/access/', {'email': '*****@*****.**',
                                               'operation': 'unknown'})
        self.assertEqual(response.code, 400)
示例#3
0
    def test_login(self):
        exp = User('*****@*****.**')
        obs = User.login('*****@*****.**', 'password')
        self.assertEqual(obs, exp)

        with self.assertRaises(LabControlUnknownIdError):
            User.login('*****@*****.**', 'password')

        with self.assertRaises(LabControlLoginError):
            User.login('*****@*****.**', 'wrongpassword')

        with self.assertRaises(LabControlLoginDisabledError):
            User.login('*****@*****.**', 'password')
示例#4
0
    def post(self):
        username = self.get_argument('username', '').strip().lower()
        passwd = self.get_argument('password', '')

        error_msg = ""
        user = None
        try:
            user = User.login(username, passwd)
        except LabControlUnknownIdError:
            error_msg = "Unknown user name"
        except LabControlLoginError:
            error_msg = "Incorrect password"
        except LabControlLoginDisabledError:
            error_msg = "User not allowed on this portal"

        if user:
            self.set_current_user(username)
            self.redirect("/")
        else:
            self.render("index.html", message=error_msg, level='danger')