import pytest from playwright.sync_api import BrowserContext, Page, expect from src.dir_manager import DirManager def test_visit_from_domain(authentik_admin_context: BrowserContext, dotenv_config: dict[str, str]): """visit wordpress directly with admin_session, expect not to be logged in""" page = authentik_admin_context.new_page() url = "https://" + dotenv_config["DOMAIN"] page.goto(url) with pytest.raises(AssertionError): # look for admin bar expect(page.locator("#wpadminbar")).to_be_visible(timeout=3_000) def setup_wordpress_admin_session(authentik_admin_page: Page, DIR: DirManager): """visit wordpress from authentik with admin_session to create wordpress_admin_session""" with authentik_admin_page.expect_popup() as event_context: authentik_admin_page.get_by_role("link", name="Wordpress").click() page_wordpress = event_context.value # look for content wrapper expect(page_wordpress.locator("#wpcontent")).to_be_visible() # look for admin bar expect(page_wordpress.locator("#wpadminbar")).to_be_visible() # save session context = page_wordpress.context context.storage_state(path=DIR.STATES / "wordpress_admin_state.json")