From 6cfc23eb44e9d4d0eecfc26e92766fb6ed626652 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 8 Dec 2023 19:02:26 +0100 Subject: [PATCH] add api fixture --- pytest_abra/custom_fixtures.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pytest_abra/custom_fixtures.py b/pytest_abra/custom_fixtures.py index 2c343a9..2047ac9 100644 --- a/pytest_abra/custom_fixtures.py +++ b/pytest_abra/custom_fixtures.py @@ -5,18 +5,16 @@ import os import re from datetime import datetime, timedelta from pathlib import Path -from typing import Protocol, TypedDict +from typing import Generator, Protocol, TypedDict import pytest from dotenv import dotenv_values -from icecream import ic +from icecream import ic # type: ignore from imbox import Imbox # type: ignore -from playwright.sync_api import BrowserContext, expect +from playwright.sync_api import APIRequestContext, BrowserContext, Playwright, expect from pytest import Parser -from pytest_abra.dir_manager import DirManager -from pytest_abra.env_manager import EnvFile -from pytest_abra.utils import BaseUrl +from pytest_abra import BaseUrl, DirManager, EnvFile def pytest_addoption(parser: Parser): @@ -152,3 +150,15 @@ def imap_recent_messages(imap_client: Imbox) -> list[Message]: messages.append(message) return messages + + +@pytest.fixture(scope="session") +def api_request_context( + playwright: Playwright, + DIR: DirManager, + URL: BaseUrl, +) -> Generator[APIRequestContext, None, None]: + state_file = DIR.STATES / "authentik_admin_state.json" + request_context = playwright.request.new_context(storage_state=state_file, base_url=URL.get()) + yield request_context + request_context.dispose()