From c01c09ecbdd212cad001a6b2f3d69393fbead038 Mon Sep 17 00:00:00 2001 From: max Date: Fri, 4 Sep 2026 22:52:49 +0200 Subject: [PATCH] test(linux_client): add test_client_certificate_validity_and_proactive_check in test_linux_client.py --- tests/test_linux_client.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/test_linux_client.py b/tests/test_linux_client.py index 1bf20fc..59641c7 100644 --- a/tests/test_linux_client.py +++ b/tests/test_linux_client.py @@ -223,6 +223,27 @@ class TestLinuxClientComponent(unittest.TestCase): finally: shutil.rmtree(test_dir, ignore_errors=True) + def test_client_certificate_validity_and_proactive_check(self): + import shutil + test_dir = "test_linux_client_validity" + os.makedirs(test_dir, exist_ok=True) + try: + from src import server_enrollment as se + ca_cert, ca_key, _, _ = se.generate_ca_if_needed(test_dir) + client_cert_pem, client_key_pem = se.issue_client_cert("linux-validity-test", ca_cert, ca_key, days_valid=365) + cert_path = os.path.join(test_dir, "client.crt") + with open(cert_path, "w", encoding="utf-8") as f: + f.write(client_cert_pem) + + # Newly issued cert (365 days) is not expiring soon at 30 days + self.assertFalse(Linux_Client.is_cert_expiring_soon(cert_path, threshold_days=30)) + # Large threshold (500 days) reports expiring soon + self.assertTrue(Linux_Client.is_cert_expiring_soon(cert_path, threshold_days=500)) + # Non-existent file reports expiring / missing + self.assertTrue(Linux_Client.is_cert_expiring_soon(os.path.join(test_dir, "missing.crt"))) + finally: + shutil.rmtree(test_dir, ignore_errors=True) + if __name__ == "__main__": unittest.main()