diff options
author | Javier Cacheiro <javier.cacheiro.lopez@cesga.es> | 2022-04-12 10:58:42 +0200 |
---|---|---|
committer | Javier Cacheiro <javier.cacheiro.lopez@cesga.es> | 2022-04-12 10:58:42 +0200 |
commit | d5e8d709d748f4e1da4d695cd36476206182af33 (patch) | |
tree | 70c945db419f1bb08b424893a0992271f840dca9 | |
parent | dc345815c0c344de115278a37e837ba6a6f1b272 (diff) | |
download | websockify-d5e8d709d748f4e1da4d695cd36476206182af33.tar.gz |
Add tests for TokenRedis
-rw-r--r-- | tests/test_token_plugins.py | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/tests/test_token_plugins.py b/tests/test_token_plugins.py index 10b97c9..00078c7 100644 --- a/tests/test_token_plugins.py +++ b/tests/test_token_plugins.py @@ -6,7 +6,7 @@ import unittest from unittest.mock import patch, mock_open, MagicMock from jwcrypto import jwt -from websockify.token_plugins import ReadOnlyTokenFile, JWTTokenApi +from websockify.token_plugins import ReadOnlyTokenFile, JWTTokenApi, TokenRedis class ReadOnlyTokenFileTestCase(unittest.TestCase): patch('os.path.isdir', MagicMock(return_value=False)) @@ -177,3 +177,29 @@ class JWSTokenTestCase(unittest.TestCase): self.assertEqual(result[0], "remote_host") self.assertEqual(result[1], "remote_port") +class TokenRedisTestCase(unittest.TestCase): + @patch('redis.Redis') + def test_empty(self, mock_redis): + plugin = TokenRedis('127.0.0.1:1234') + + instance = mock_redis.return_value + instance.get.return_value = None + + result = plugin.lookup('testhost') + + instance.get.assert_called_once_with('testhost') + self.assertIsNone(result) + + @patch('redis.Redis') + def test_simple(self, mock_redis): + plugin = TokenRedis('127.0.0.1:1234') + + instance = mock_redis.return_value + instance.get.return_value = b'{"host": "remote_host:remote_port"}' + + result = plugin.lookup('testhost') + + instance.get.assert_called_once_with('testhost') + self.assertIsNotNone(result) + self.assertEqual(result[0], 'remote_host') + self.assertEqual(result[1], 'remote_port') |