42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
import sys
|
|
|
|
import pytest
|
|
|
|
from ray._common.tls_utils import generate_self_signed_tls_certs
|
|
|
|
|
|
def test_generate_self_signed_tls_certs_returns_tuple():
|
|
cert_contents, key_contents = generate_self_signed_tls_certs()
|
|
assert isinstance(cert_contents, str)
|
|
assert isinstance(key_contents, str)
|
|
|
|
|
|
def test_generate_self_signed_tls_certs_pem_format():
|
|
cert_contents, key_contents = generate_self_signed_tls_certs()
|
|
assert cert_contents.strip().startswith("-----BEGIN CERTIFICATE-----")
|
|
assert cert_contents.strip().endswith("-----END CERTIFICATE-----")
|
|
assert key_contents.strip().startswith("-----BEGIN")
|
|
assert "PRIVATE KEY" in key_contents
|
|
|
|
|
|
def test_generate_self_signed_tls_certs_usable_for_ssl():
|
|
import ssl
|
|
import tempfile
|
|
|
|
cert_contents, key_contents = generate_self_signed_tls_certs()
|
|
with (
|
|
tempfile.NamedTemporaryFile(mode="w", suffix=".crt") as cf,
|
|
tempfile.NamedTemporaryFile(mode="w", suffix=".key") as kf,
|
|
):
|
|
cf.write(cert_contents)
|
|
cf.flush()
|
|
kf.write(key_contents)
|
|
kf.flush()
|
|
|
|
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
|
|
ctx.load_cert_chain(cf.name, kf.name)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(pytest.main(["-v", __file__]))
|