pki_ca/tests/integration/test_zenroom_service_client...

36 lines
1.2 KiB
Python

import os
import unittest
import sys
from pathlib import Path
code_path = Path(__file__).parents[2] / "ca_core"
sys.path.insert(0, str(code_path))
from crypto.zenroom_service_client import ZenroomServiceClient
class TestZenroomServiceClientIntegration(unittest.TestCase):
@unittest.skipUnless(os.getenv("ZENROOM_BASE_URL"), "No ZENROOM_BASE_URL set")
def test_end_to_end_smoke(self):
client = ZenroomServiceClient(base_url=os.environ["ZENROOM_BASE_URL"])
# 1) keypair -> public key
kp = client.generate_keypair("IntegrationUser123456")
self.assertIn("keyring", kp)
self.assertIn("private_key", kp)
pub = client.generate_public_key(kp["keyring"])
self.assertIsInstance(pub, str)
self.assertTrue(pub.strip())
# 2) symmetric roundtrip
plaintext = "Dear Bob, your name is too short, goodbye - Alice."
sm = client.symmetric_encrypt(
header="A very important secret",
message=plaintext,
shared_key="myVerySecretPassword",
)
pt = client.symmetric_decrypt(secret_message=sm, shared_key="myVerySecretPassword")
self.assertEqual(pt, plaintext)