Reimplement UI injection (#236)
This commit is contained in:
committed by
GitHub
parent
fdc93e2719
commit
fd3643685d
53
tests/test_provider_catalog.py
Normal file
53
tests/test_provider_catalog.py
Normal file
@@ -0,0 +1,53 @@
|
||||
"""Tests for the provider catalog helpers."""
|
||||
|
||||
import pytest
|
||||
|
||||
from custom_components.auth_oidc.config.const import OIDC_PROVIDERS, REPO_ROOT_URL
|
||||
from custom_components.auth_oidc.config.provider_catalog import (
|
||||
get_provider_config,
|
||||
get_provider_docs_url,
|
||||
get_provider_name,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("provider_key", "expected_name", "expected_supports_groups"),
|
||||
[
|
||||
("authentik", "Authentik", True),
|
||||
("generic", "OpenID Connect (SSO)", False),
|
||||
],
|
||||
)
|
||||
def test_get_provider_config_and_name(
|
||||
provider_key, expected_name, expected_supports_groups
|
||||
):
|
||||
"""Known providers should resolve to their configured metadata."""
|
||||
config = get_provider_config(provider_key)
|
||||
|
||||
assert config == OIDC_PROVIDERS[provider_key]
|
||||
assert get_provider_name(provider_key) == expected_name
|
||||
assert config["supports_groups"] is expected_supports_groups
|
||||
|
||||
|
||||
@pytest.mark.parametrize("provider_key", [None, "unknown", ""])
|
||||
def test_provider_fallbacks(provider_key):
|
||||
"""Unknown providers should fall back to neutral defaults."""
|
||||
assert get_provider_config(provider_key or "unknown") == {}
|
||||
assert get_provider_name(provider_key) == "Unknown Provider"
|
||||
assert (
|
||||
get_provider_docs_url(provider_key) == f"{REPO_ROOT_URL}/docs/configuration.md"
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("provider_key", "expected_suffix"),
|
||||
[
|
||||
("authentik", "/docs/provider-configurations/authentik.md"),
|
||||
("authelia", "/docs/provider-configurations/authelia.md"),
|
||||
("pocketid", "/docs/provider-configurations/pocket-id.md"),
|
||||
("kanidm", "/docs/provider-configurations/kanidm.md"),
|
||||
("microsoft", "/docs/provider-configurations/microsoft-entra.md"),
|
||||
],
|
||||
)
|
||||
def test_provider_docs_urls(provider_key, expected_suffix):
|
||||
"""Known providers should point to provider-specific docs."""
|
||||
assert get_provider_docs_url(provider_key) == f"{REPO_ROOT_URL}{expected_suffix}"
|
||||
Reference in New Issue
Block a user