fix nextcloud setup

This commit is contained in:
Daniel 2023-12-04 19:04:30 +01:00
parent 8118aac5a8
commit c02af669fe

View file

@ -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()