Files
notifications-admin/tests/end_to_end/conftest.py

71 lines
2.0 KiB
Python
Raw Normal View History

import os
import re
import pytest
E2E_TEST_URI = os.getenv("NOTIFY_E2E_TEST_URI")
def login_for_end_to_end_testing(browser):
# Open a new page and go to the staging site.
context = browser.new_context()
page = context.new_page()
2024-08-28 10:14:31 -07:00
page.goto(f"{E2E_TEST_URI}/sign-in")
2024-08-28 10:14:31 -07:00
#sign_in_button = page.get_by_role("link", name="Sign in")
# Test trying to sign in.
2024-08-28 10:14:31 -07:00
#sign_in_button.click()
# Wait for the next page to fully load.
page.wait_for_load_state("domcontentloaded")
2024-08-28 09:29:48 -07:00
print(f"PAGE ON CONFTEST AFTER SIGNIN IS {page}")
# Save storage state into the file.
auth_state_path = os.path.join(
2024-04-15 13:07:53 -07:00
os.getenv("NOTIFY_E2E_AUTH_STATE_PATH"), "state.json"
)
context.storage_state(path=auth_state_path)
2024-07-15 08:07:18 -07:00
@pytest.fixture
def end_to_end_authenticated_context(browser):
# Create and load a previously authenticated context for Playwright E2E
# tests.
# login_for_end_to_end_testing(browser)
auth_state_path = os.path.join(
os.getenv("NOTIFY_E2E_AUTH_STATE_PATH"), "state.json"
)
2024-04-15 09:08:47 -07:00
context = browser.new_context(storage_state=auth_state_path)
return context
2024-07-15 08:07:18 -07:00
@pytest.fixture
def end_to_end_context(browser):
context = browser.new_context()
return context
2024-08-27 14:22:07 -07:00
def pytest_generate_tests(metafunc):
os.environ["DANGEROUS_SALT"] = os.getenv("E2E_DANGEROUS_SALT")
os.environ["SECRET_KEY"] = os.getenv("E2E_SECRET_KEY")
os.environ["ADMIN_CLIENT_SECRET"] = os.getenv("E2E_ADMIN_CLIENT_SECRET")
os.environ["ADMIN_CLIENT_USERNAME"] = os.getenv("E2E_ADMIN_CLIENT_USERNAME")
os.environ["NOTIFY_ENVIRONMENT"] = os.getenv("E2E_NOTIFY_ENVIRONMENT")
os.environ["API_HOST_NAME"] = os.getenv("E2E_API_HOST_NAME")
2024-04-29 10:42:31 -07:00
2024-07-15 08:07:18 -07:00
@pytest.fixture
def authenticated_page(end_to_end_context):
# Open a new page and go to the site.
page = end_to_end_context.new_page()
2024-08-28 11:17:52 -07:00
page.goto(f"{E2E_TEST_URI}/sign-in")
# Wait for the next page to fully load.
page.wait_for_load_state("domcontentloaded")
return page