tests/e2e: fix more tests, cleanup

This commit is contained in:
Jens Langhammer
2021-02-27 22:57:15 +01:00
parent cbb0681f95
commit 088e0e736a
6 changed files with 52 additions and 16 deletions

View File

@ -17,7 +17,7 @@ from authentik.providers.oauth2.generators import (
generate_client_secret,
)
from authentik.providers.oauth2.models import ClientTypes, OAuth2Provider
from tests.e2e.utils import USER, SeleniumTestCase, retry
from tests.e2e.utils import USER, SeleniumTestCase, apply_migration, retry
@skipUnless(platform.startswith("linux"), "requires local docker")
@ -61,6 +61,9 @@ class TestProviderOAuth2Github(SeleniumTestCase):
}
@retry()
@apply_migration("authentik_core", "0003_default_user")
@apply_migration("authentik_flows", "0008_default_flows")
@apply_migration("authentik_flows", "0010_provider_flows")
def test_authorization_consent_implied(self):
"""test OAuth Provider flow (default authorization flow with implied consent)"""
# Bootstrap all needed objects
@ -111,6 +114,9 @@ class TestProviderOAuth2Github(SeleniumTestCase):
)
@retry()
@apply_migration("authentik_core", "0003_default_user")
@apply_migration("authentik_flows", "0008_default_flows")
@apply_migration("authentik_flows", "0010_provider_flows")
def test_authorization_consent_explicit(self):
"""test OAuth Provider flow (default authorization flow with explicit consent)"""
# Bootstrap all needed objects
@ -135,17 +141,21 @@ class TestProviderOAuth2Github(SeleniumTestCase):
self.driver.find_element(By.CLASS_NAME, "btn-service--github").click()
self.login()
sleep(1)
sleep(3)
self.wait.until(ec.presence_of_element_located((By.CSS_SELECTOR, "ak-flow-executor")))
self.assertEqual(
flow_executor = self.get_shadow_root("ak-flow-executor")
consent_stage = self.get_shadow_root("ak-stage-consent", flow_executor)
self.assertIn(
app.name,
self.driver.find_element(By.ID, "application-name").text,
consent_stage.find_element(By.CSS_SELECTOR, "#header-text").text,
)
self.assertEqual(
"GitHub Compatibility: Access you Email addresses",
self.driver.find_element(By.ID, "permission-user:email").text,
consent_stage.find_element(By.CSS_SELECTOR, "[data-permission-code='user:email']").text,
)
self.driver.find_element(
consent_stage.find_element(
By.CSS_SELECTOR,
("[type=submit]"),
).click()
@ -176,6 +186,9 @@ class TestProviderOAuth2Github(SeleniumTestCase):
)
@retry()
@apply_migration("authentik_core", "0003_default_user")
@apply_migration("authentik_flows", "0008_default_flows")
@apply_migration("authentik_flows", "0010_provider_flows")
def test_denied(self):
"""test OAuth Provider flow (default authorization flow, denied)"""
# Bootstrap all needed objects