Something went wrong. Try again.
jetstream v2 in zig stream.waow.tech
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import importlib.utilimport subprocessimport sysimport tempfileimport unittestfrom pathlib import Path
HERE = Path(__file__).resolve().parentsys.dont_write_bytecode = TrueSPEC = importlib.util.spec_from_file_location("public_ca", HERE / "ci-public-ca.py")CA = importlib.util.module_from_spec(SPEC)SPEC.loader.exec_module(CA)
class PublicCaTests(unittest.TestCase): def setUp(self): self.control = (HERE / "ci-public-ca-fixtures/control.pem").read_bytes() self.affected = (HERE / "ci-public-ca-fixtures/affected.pem").read_bytes()
def test_genuine_affected_certificates_removed_control_preserved(self): original = self.control + self.affected result, removed = CA.filter_bundle(original) self.assertEqual(removed, 20) self.assertEqual(result, self.control) self.assertEqual(CA.filter_bundle(result), (result, 0)) with tempfile.TemporaryDirectory() as directory: root = Path(directory) (root / "original.pem").write_bytes(original) (root / "filtered.pem").write_bytes(result) for i, match in enumerate(CA.CERTIFICATE.finditer(original)): cert = root / f"cert-{i}.pem" cert.write_bytes(match.group()) for bundle, accepted in [("original.pem", True), ("filtered.pem", i == 0)]: check = subprocess.run( ["openssl", "verify", "-no_check_time", "-partial_chain", "-no-CApath", "-CAfile", str(root / bundle), str(cert)], capture_output=True, ) self.assertEqual(check.returncode == 0, accepted, check.stderr)
def test_trusted_certificate_attributes_preserved(self): trusted = subprocess.run( ["openssl", "x509", "-addreject", "serverAuth", "-trustout"], input=self.control, capture_output=True, check=True, ).stdout self.assertEqual(CA.filter_bundle(trusted + self.affected), (trusted, 20))
def test_bad_inputs_fail_before_output_creation(self): for bundle in [b"", b"junk", self.affected, self.control + b"-----BEGIN CERTIFICATE-----\nbad", self.control + b"-----BEGIN PRIVATE KEY-----\nbad\n-----END PRIVATE KEY-----"]: with self.subTest(bundle=bundle[:40]), tempfile.TemporaryDirectory() as directory: source, target = Path(directory) / "source.pem", Path(directory) / "result.pem" source.write_bytes(bundle) result = subprocess.run( [sys.executable, str(HERE / "ci-public-ca.py"), str(source), str(target)], capture_output=True, ) self.assertNotEqual(result.returncode, 0) self.assertFalse(target.exists())
def test_existing_output_not_overwritten(self): with tempfile.TemporaryDirectory() as directory: source, target = Path(directory) / "source.pem", Path(directory) / "result.pem" source.write_bytes(self.control) target.write_bytes(b"existing") result = subprocess.run( [sys.executable, str(HERE / "ci-public-ca.py"), str(source), str(target)], capture_output=True, ) self.assertNotEqual(result.returncode, 0) self.assertEqual(target.read_bytes(), b"existing")
if __name__ == "__main__": unittest.main()