canaille-globuzma/tests/oidc/test_configuration.py
2022-12-24 02:40:50 +01:00

40 lines
1.3 KiB
Python

import warnings
import pytest
from canaille.configuration import ConfigurationException
from canaille.configuration import validate
from canaille.oidc.oauth import get_issuer
def test_issuer(testclient):
with warnings.catch_warnings(record=True):
testclient.app.config["JWT"]["ISS"] = "https://anyauth.mydomain.tld"
testclient.app.config["SERVER_NAME"] = "https://otherauth.mydomain.tld"
with testclient.app.test_request_context("/"):
assert get_issuer() == "https://anyauth.mydomain.tld"
del testclient.app.config["JWT"]["ISS"]
with testclient.app.test_request_context("/"):
assert get_issuer() == "https://otherauth.mydomain.tld"
testclient.app.config["SERVER_NAME"] = None
with testclient.app.test_request_context("/"):
assert get_issuer() == "http://localhost/"
def test_no_private_key(configuration):
configuration["JWT"]["PRIVATE_KEY"] = "invalid-path"
with pytest.raises(
ConfigurationException,
match=r"Private key does not exist",
):
validate(configuration)
def test_no_public_key(configuration):
configuration["JWT"]["PUBLIC_KEY"] = "invalid-path"
with pytest.raises(
ConfigurationException,
match=r"Public key does not exist",
):
validate(configuration)