add api fixture

This commit is contained in:
Daniel 2023-12-08 19:02:26 +01:00
parent c9f8a4b2a9
commit 6cfc23eb44

View file

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