# vim: tabstop=4 shiftwidth=4 softtabstop=4 """Unit tests for Authentication plugins""" from websockify.auth_plugins import BasicHTTPAuth, AuthenticationError import unittest class BasicHTTPAuthTestCase(unittest.TestCase): def setUp(self): self.plugin = BasicHTTPAuth("Aladdin:open sesame") def test_no_auth(self): headers = {} self.assertRaises( AuthenticationError, self.plugin.authenticate, headers, "localhost", "1234" ) def test_invalid_password(self): headers = {"Authorization": "Basic QWxhZGRpbjpzZXNhbWUgc3RyZWV0"} self.assertRaises( AuthenticationError, self.plugin.authenticate, headers, "localhost", "1234" ) def test_valid_password(self): headers = {"Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="} self.plugin.authenticate(headers, "localhost", "1234") def test_garbage_auth(self): headers = {"Authorization": "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxx"} self.assertRaises( AuthenticationError, self.plugin.authenticate, headers, "localhost", "1234" )