summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Cacheiro <javier.cacheiro.lopez@cesga.es>2022-04-12 10:58:42 +0200
committerJavier Cacheiro <javier.cacheiro.lopez@cesga.es>2022-04-12 10:58:42 +0200
commitd5e8d709d748f4e1da4d695cd36476206182af33 (patch)
tree70c945db419f1bb08b424893a0992271f840dca9
parentdc345815c0c344de115278a37e837ba6a6f1b272 (diff)
downloadwebsockify-d5e8d709d748f4e1da4d695cd36476206182af33.tar.gz
Add tests for TokenRedis
-rw-r--r--tests/test_token_plugins.py28
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')