From ab295d815a99aa99e1bc8cc106e1638b02506c54 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 30 Nov 2023 12:26:39 +0100 Subject: [PATCH] add wordpress setup --- src/tests_wordpress/runner_wordpress.py | 1 + src/tests_wordpress/setup_wordpress.py | 37 +++++++++++++++++++++++++ src/tests_wordpress/test_wordpress.py | 13 --------- 3 files changed, 38 insertions(+), 13 deletions(-) create mode 100644 src/tests_wordpress/setup_wordpress.py diff --git a/src/tests_wordpress/runner_wordpress.py b/src/tests_wordpress/runner_wordpress.py index 4355f22..4e6e5b7 100644 --- a/src/tests_wordpress/runner_wordpress.py +++ b/src/tests_wordpress/runner_wordpress.py @@ -20,6 +20,7 @@ def condition_has_locale(dotenv_config: dict[str, str]) -> bool: class RunnerWordpress(Runner): name = "wordpress" test_dir_name = "tests_wordpress" + main_setup_name = "setup_wordpress.py" main_test_name = "test_wordpress.py" dependencies: list[type[Runner]] = [RunnerAuthentik] sub_tests = [ diff --git a/src/tests_wordpress/setup_wordpress.py b/src/tests_wordpress/setup_wordpress.py new file mode 100644 index 0000000..5ddbb7c --- /dev/null +++ b/src/tests_wordpress/setup_wordpress.py @@ -0,0 +1,37 @@ +import pytest +from playwright.sync_api import BrowserContext, Page, expect + +from src.dirmanager import DirManager + + +@pytest.mark.xfail(reason="wordpress sso login has not been generated") +def test_visit_from_domain(admin_context: BrowserContext, dotenv_config: dict[str, str]): + # with authentik_admin_page.expect_popup() as event_context: + # authentik_admin_page.get_by_role("link", name="Wordpress").click() + # page_wordpress = event_context.value + + page = admin_context.new_page() + url = "https://" + dotenv_config["DOMAIN"] + page.goto(url) + + # look for content wrapper + expect(page.locator("#wpcontent")).to_be_visible() + + # look for admin bar + expect(page.locator("#wpadminbar")).to_be_visible() + + +def setup_visit_from_authentik(authentik_admin_page: Page, DIR: DirManager): + 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() + + context = page_wordpress.context + + context.storage_state(path=f"{DIR.STATES}/wordpress_admin_state.json") diff --git a/src/tests_wordpress/test_wordpress.py b/src/tests_wordpress/test_wordpress.py index bb9275d..e69de29 100644 --- a/src/tests_wordpress/test_wordpress.py +++ b/src/tests_wordpress/test_wordpress.py @@ -1,13 +0,0 @@ -from playwright.sync_api import Page, expect - - -def test_visit_from_authentik(authentik_admin_page: Page): - 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()