From c02af669fed259d913c6fbe6f856d08ef30e2139 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 4 Dec 2023 19:04:30 +0100 Subject: [PATCH] fix nextcloud setup --- src/tests_nextcloud/setup_nextcloud.py | 81 ++++++++++++++++---------- 1 file changed, 50 insertions(+), 31 deletions(-) diff --git a/src/tests_nextcloud/setup_nextcloud.py b/src/tests_nextcloud/setup_nextcloud.py index eb53182..cb01c9b 100644 --- a/src/tests_nextcloud/setup_nextcloud.py +++ b/src/tests_nextcloud/setup_nextcloud.py @@ -1,35 +1,54 @@ -import pytest +from playwright.sync_api import Page, expect + +from src.dir_manager import DirManager + +# url dashboard +# https://files.test.dev.local-it.cloud/apps/dashboard/ +# url files +# https://files.test.dev.local-it.cloud/apps/files/ -@pytest.fixture(scope="session", autouse=True) -def nc_login(browser: Browser): - """Nextcloud Login""" - context = setup_context(browser, f"{STATES}/user_state.json") - page = context.new_page() - page.goto(CONFIG["domain"]) - with page.expect_popup() as nextcloud_info: - link = page.get_by_role("link", name="Nextcloud") - CONFIG["nc_domain"] = link.get_attribute("href") - link.click() - nextcloud = nextcloud_info.value - check_for(nextcloud.get_by_role("link", name="Name")) - if nextcloud.query_selector(".close-icon"): - close_button = nextcloud.get_by_role("button", name="Close modal") - close_button.click() - expect(close_button).to_be_hidden() - nextcloud.wait_for_timeout(2000) - context.storage_state(path=f"{STATES}/nc_user_state.json") - context.tracing.stop(path=f"{RECORDS}/nextcloud_login_user.zip") - context.close() +def setup_nextcloud_admin_session(authentik_admin_page: Page, DIR: DirManager): + """visit nextcloud 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="Nextcloud").click() + page_nextcloud = event_context.value + context = page_nextcloud.context + + context.storage_state(path=f"{DIR.STATES}/nextcloud_admin_state.json") + page_nextcloud.goto("/apps/files") + expect(page_nextcloud.get_by_role("link", name="Name")).to_be_visible() -@pytest.fixture -def nc_session(browser: Browser): - """Reuse Nextcloud User Session""" - context = setup_context(browser, f"{STATES}/nc_user_state.json") - page = context.new_page() - page.goto(CONFIG["nc_domain"]) - if page.query_selector(".close-icon"): - page.get_by_role("button", name="Close modal").click() - yield context, page - context.close() +# @pytest.fixture(scope="session", autouse=True) +# def nc_login(browser: Browser): +# """Nextcloud Login""" +# context = setup_context(browser, f"{STATES}/user_state.json") +# page = context.new_page() +# page.goto(CONFIG["domain"]) +# with page.expect_popup() as nextcloud_info: +# link = page.get_by_role("link", name="Nextcloud") +# CONFIG["nc_domain"] = link.get_attribute("href") +# link.click() +# nextcloud = nextcloud_info.value +# check_for(nextcloud.get_by_role("link", name="Name")) +# if nextcloud.query_selector(".close-icon"): +# close_button = nextcloud.get_by_role("button", name="Close modal") +# close_button.click() +# expect(close_button).to_be_hidden() +# nextcloud.wait_for_timeout(2000) +# context.storage_state(path=f"{STATES}/nc_user_state.json") +# context.tracing.stop(path=f"{RECORDS}/nextcloud_login_user.zip") +# context.close() + + +# @pytest.fixture +# def nc_session(browser: Browser): +# """Reuse Nextcloud User Session""" +# context = setup_context(browser, f"{STATES}/nc_user_state.json") +# page = context.new_page() +# page.goto(CONFIG["nc_domain"]) +# if page.query_selector(".close-icon"): +# page.get_by_role("button", name="Close modal").click() +# yield context, page +# context.close()