mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-10-26 22:01:59 -06:00
additional changes.
This commit is contained in:
57
tests/test_agent_security.py
Normal file
57
tests/test_agent_security.py
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import shutil
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
import pathlib
|
||||
import sys
|
||||
|
||||
ROOT = pathlib.Path(__file__).resolve().parents[1]
|
||||
if str(ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(ROOT))
|
||||
|
||||
try:
|
||||
from Data.Agent.security import AgentKeyStore # type: ignore
|
||||
_IMPORT_ERROR: Exception | None = None
|
||||
except Exception as exc: # pragma: no cover - handled via skip
|
||||
AgentKeyStore = None # type: ignore
|
||||
_IMPORT_ERROR = exc
|
||||
|
||||
|
||||
@unittest.skipIf(AgentKeyStore is None, f"security module unavailable: {_IMPORT_ERROR}")
|
||||
class AgentKeyStoreTests(unittest.TestCase):
|
||||
def test_roundtrip(self):
|
||||
tmp_dir = tempfile.mkdtemp(prefix="akstest-")
|
||||
try:
|
||||
store = AgentKeyStore(tmp_dir, scope="CURRENTUSER")
|
||||
identity = store.load_or_create_identity()
|
||||
|
||||
self.assertTrue(identity.public_key_b64)
|
||||
self.assertEqual(len(identity.fingerprint), 64)
|
||||
|
||||
store.save_guid("ABC-123")
|
||||
self.assertEqual(store.load_guid(), "ABC-123")
|
||||
|
||||
store.save_access_token("access-token", expires_at=12345)
|
||||
self.assertEqual(store.load_access_token(), "access-token")
|
||||
self.assertEqual(store.get_access_expiry(), 12345)
|
||||
|
||||
store.save_refresh_token("refresh-token")
|
||||
self.assertEqual(store.load_refresh_token(), "refresh-token")
|
||||
|
||||
store.set_access_binding(identity.fingerprint)
|
||||
self.assertEqual(store.get_access_binding(), identity.fingerprint)
|
||||
|
||||
store.save_server_certificate("-----BEGIN CERT-----\nABC\n-----END CERT-----")
|
||||
self.assertIn("BEGIN CERT", store.load_server_certificate() or "")
|
||||
|
||||
store.save_server_signing_key("PUBKEYDATA")
|
||||
self.assertEqual(store.load_server_signing_key(), "PUBKEYDATA")
|
||||
finally:
|
||||
shutil.rmtree(tmp_dir, ignore_errors=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user