From 8b1b30d9078029b201e031d8ab8b4de7e641b02b Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 4 Dec 2023 22:04:37 +0100 Subject: [PATCH] use URL fixture --- src/tests_authentik/setup_authentik.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/tests_authentik/setup_authentik.py b/src/tests_authentik/setup_authentik.py index f348f65..65d1ac7 100644 --- a/src/tests_authentik/setup_authentik.py +++ b/src/tests_authentik/setup_authentik.py @@ -5,6 +5,7 @@ import re from playwright.sync_api import BrowserContext, expect from src.dir_manager import DirManager +from src.utils import BaseUrl ADMIN_USER = os.environ["ADMIN_USER"] ADMIN_PASS = os.environ["ADMIN_PASS"] @@ -34,11 +35,10 @@ def setup_admin_state(context: BrowserContext, dotenv_config: dict[str, str], DI context.storage_state(path=DIR.STATES / "authentik_admin_state.json") -def check_if_user_exists(admin_context: BrowserContext, dotenv_config: dict[str, str]): +def check_if_user_exists(admin_context: BrowserContext, dotenv_config: dict[str, str], URL: BaseUrl): # go to admin page page = admin_context.new_page() - url = "https://" + dotenv_config["DOMAIN"] - page.goto(url) + page.goto(URL.get()) page.get_by_role("link", name="Admin Interface").click() nav = page.locator("ak-sidebar-item", has_text=re.compile(r"Directory|Verzeichnis")) nav.click() @@ -49,11 +49,10 @@ def check_if_user_exists(admin_context: BrowserContext, dotenv_config: dict[str, return user.is_visible() -def create_invite_link(admin_context: BrowserContext, dotenv_config: dict[str, str]): +def create_invite_link(admin_context: BrowserContext, dotenv_config: dict[str, str], URL: BaseUrl): # go to admin page page = admin_context.new_page() - url = "https://" + dotenv_config["DOMAIN"] - page.goto(url) + page.goto(URL.get()) page.get_by_role("link", name="Admin Interface").click() nav = page.locator("ak-sidebar-item", has_text=re.compile(r"Directory|Verzeichnis")) @@ -99,19 +98,19 @@ def create_user(user_context: BrowserContext, invitelink): expect(page.locator("ak-library")).to_be_visible() -def setup_user_state(context: BrowserContext, dotenv_config: dict[str, str], DIR: DirManager): - # load admin cookies +def setup_user_state(context: BrowserContext, dotenv_config: dict[str, str], DIR: DirManager, URL: BaseUrl): + # load admin cookies to context state_file = DIR.STATES / "authentik_admin_state.json" storage_state = json.loads(state_file.read_bytes()) context.add_cookies(storage_state["cookies"]) - if check_if_user_exists(context, dotenv_config): + if check_if_user_exists(context, dotenv_config, URL): # just login with user pass context.clear_cookies() else: # get invite_link - invite_link = create_invite_link(context, dotenv_config) + invite_link = create_invite_link(context, dotenv_config, URL) # create user context.clear_cookies() create_user(context, invite_link)