mirror of
https://github.com/goauthentik/authentik
synced 2026-05-14 10:56:52 +02:00
Compare commits
3 Commits
web/maint/
...
tests/conf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30e2e255d4 | ||
|
|
e40cb7eca3 | ||
|
|
0bf99fe379 |
2
.github/workflows/ci-main.yml
vendored
2
.github/workflows/ci-main.yml
vendored
@@ -284,6 +284,8 @@ jobs:
|
||||
job:
|
||||
- name: oidc_basic
|
||||
glob: tests/openid_conformance/test_oidc_basic.py
|
||||
- name: oidc_config
|
||||
glob: tests/openid_conformance/test_oidc_config.py
|
||||
- name: oidc_implicit
|
||||
glob: tests/openid_conformance/test_oidc_implicit.py
|
||||
- name: oidc_rp-initiated
|
||||
|
||||
@@ -63,7 +63,10 @@ class TestOpenIDConformance(SSLLiveMixin, SeleniumTestCase):
|
||||
}
|
||||
|
||||
def run_test(
|
||||
self, test_name: str, test_plan_config: dict[str, Any], test_variant: dict[str, Any]
|
||||
self,
|
||||
test_name: str,
|
||||
test_plan_config: dict[str, Any],
|
||||
test_variant: dict[str, Any] | None = None,
|
||||
):
|
||||
self.conformance = Conformance(f"https://{self.host}:8443/", None, verify_ssl=False)
|
||||
|
||||
@@ -82,7 +85,14 @@ class TestOpenIDConformance(SSLLiveMixin, SeleniumTestCase):
|
||||
)
|
||||
module_id = module_instance["id"]
|
||||
self.run_single_test(module_id)
|
||||
self.conformance.wait_for_state(module_id, ["FINISHED"], timeout=self.wait_timeout)
|
||||
module = self.conformance.wait_for_state(
|
||||
module_id, ["FINISHED"], timeout=self.wait_timeout
|
||||
)
|
||||
self.assertIn(
|
||||
module["result"],
|
||||
["PASSED", "SKIPPED", "WARNING"],
|
||||
f"Module {module['testName']} did not finish with expected status.",
|
||||
)
|
||||
sleep(2)
|
||||
self.conformance.export_html(plan_id, Path(__file__).parent / "exports")
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ class Conformance:
|
||||
info = self.get_module_info(module_id)
|
||||
status: str | None = info.get("status")
|
||||
if status in required_states:
|
||||
return status
|
||||
return info
|
||||
if status == "INTERRUPTED":
|
||||
raise ConformanceException(f"Test module {module_id} has moved to INTERRUPTED")
|
||||
sleep(1)
|
||||
|
||||
29
tests/openid_conformance/test_oidc_config.py
Normal file
29
tests/openid_conformance/test_oidc_config.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from authentik.providers.oauth2.models import IssuerMode, OAuth2Provider
|
||||
from tests.decorators import retry
|
||||
from tests.live import SSLLiveMixin
|
||||
from tests.openid_conformance.base import TestOpenIDConformance
|
||||
|
||||
|
||||
class TestOpenIDConformanceConfig(TestOpenIDConformance, SSLLiveMixin):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
OAuth2Provider.objects.filter(name__startswith="oidc-conformance-").update(
|
||||
issuer_mode=IssuerMode.PER_PROVIDER
|
||||
)
|
||||
|
||||
@retry()
|
||||
def test_oidcc_config_certification_test_plan(self):
|
||||
self.run_test(
|
||||
"oidcc-config-certification-test-plan",
|
||||
{
|
||||
"alias": "authentik",
|
||||
"description": "authentik",
|
||||
"server": {
|
||||
"discoveryUrl": self.url(
|
||||
"authentik_providers_oauth2:provider-info",
|
||||
application_slug="oidc-conformance-1",
|
||||
),
|
||||
},
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user