This commit is contained in:
2025-03-23 16:06:10 +01:00
parent bbf2d0b280
commit de46a47acc
10 changed files with 208 additions and 465 deletions

View File

@ -1,7 +1,8 @@
"""Tests of client loader."""
# pyright: reportUninitializedInstanceVariable=false, reportImplicitOverride=false
import unittest
from sshecret.server import client_loader
from sshecret.backends import FileTableBackend
from sshecret.utils import generate_client_object
from sshecret.testing import TestClientSpec, test_context
@ -11,7 +12,7 @@ class TestFileTableBackend(unittest.TestCase):
def setUp(self) -> None:
"""Set up tests."""
self.test_dataset = [
self.test_dataset: list[TestClientSpec] = [
TestClientSpec("webserver", {"SECRET_TOKEN": "mysecrettoken"}),
TestClientSpec("dbserver", {"DB_ROOT_PASSWORD": "mysecretpassword"}),
]
@ -19,21 +20,22 @@ class TestFileTableBackend(unittest.TestCase):
def test_init(self) -> None:
"""Test instance creation."""
with test_context(self.test_dataset) as testdir:
backend = client_loader.FileTableBackend(testdir)
backend = FileTableBackend(testdir)
self.assertGreater(len(backend.table), 0)
def test_lookup_name(self) -> None:
"""Test lookup name."""
with test_context(self.test_dataset) as testdir:
backend = client_loader.FileTableBackend(testdir)
backend = FileTableBackend(testdir)
webserver = backend.lookup_name("webserver")
self.assertIsNotNone(webserver)
assert webserver is not None
self.assertEqual(webserver.name, "webserver")
def test_add_client(self) -> None:
"""Test whether it is possible to add a client."""
with test_context(self.test_dataset) as testdir:
backend = client_loader.FileTableBackend(testdir)
backend = FileTableBackend(testdir)
new_client = generate_client_object(
"backupserver", {"BACKUP_KEY": "mysecretbackupkey"}
)
@ -46,7 +48,7 @@ class TestFileTableBackend(unittest.TestCase):
def test_add_secret(self) -> None:
"""Test whether it is possible to add a secret."""
with test_context(self.test_dataset) as testdir:
backend = client_loader.FileTableBackend(testdir)
backend = FileTableBackend(testdir)
backend.add_secret("webserver", "OTHER_SECRET_TOKEN", "myothersecrettoken")
webserver = backend.lookup_name("webserver")
assert webserver is not None
@ -65,7 +67,7 @@ class TestFileTableBackend(unittest.TestCase):
def test_update_client(self) -> None:
"""Test update_client method."""
with test_context(self.test_dataset) as testdir:
backend = client_loader.FileTableBackend(testdir)
backend = FileTableBackend(testdir)
webserver = backend.lookup_name("webserver")
assert webserver is not None
webserver.allowed_ips = "192.0.2.1"
@ -77,7 +79,7 @@ class TestFileTableBackend(unittest.TestCase):
def test_remove_client(self) -> None:
"""Test removal of client."""
with test_context(self.test_dataset) as testdir:
backend = client_loader.FileTableBackend(testdir)
backend = FileTableBackend(testdir)
backend.remove_client("webserver", persistent=False)
webserver = backend.lookup_name("webserver")
self.assertIsNone(webserver)
@ -87,7 +89,7 @@ class TestFileTableBackend(unittest.TestCase):
def test_remove_client_persistent(self) -> None:
"""Test removal of client."""
with test_context(self.test_dataset) as testdir:
backend = client_loader.FileTableBackend(testdir)
backend = FileTableBackend(testdir)
backend.remove_client("webserver", persistent=True)
webserver = backend.lookup_name("webserver")
self.assertIsNone(webserver)

View File

@ -35,8 +35,8 @@ class TestBasicCrypto(unittest.TestCase):
def test_key_loading(self) -> None:
"""Test basic flow."""
public_key = load_public_key(self.public_key)
private_key = load_private_key(self.private_key)
load_public_key(self.public_key)
load_private_key(self.private_key)
self.assertEqual(True, True)
def test_encrypt_decrypt(self) -> None: