"""Adapters for pytest integration following hexagonal architecture."""

from __future__ import annotations

from pytest_test_categories.adapters.database import DatabasePatchingBlocker
from pytest_test_categories.adapters.fake_database import FakeDatabaseBlocker
from pytest_test_categories.adapters.fake_filesystem import FakeFilesystemBlocker
from pytest_test_categories.adapters.fake_network import FakeNetworkBlocker
from pytest_test_categories.adapters.fake_process import FakeProcessBlocker
from pytest_test_categories.adapters.fake_sleep import FakeSleepBlocker
from pytest_test_categories.adapters.fake_threading import FakeThreadMonitor
from pytest_test_categories.adapters.filesystem import FilesystemPatchingBlocker
from pytest_test_categories.adapters.network import SocketPatchingNetworkBlocker
from pytest_test_categories.adapters.process import SubprocessPatchingBlocker
from pytest_test_categories.adapters.pytest_adapter import (
    PytestConfigAdapter,
    PytestItemAdapter,
    PytestWarningAdapter,
    TerminalReporterAdapter,
)
from pytest_test_categories.adapters.sleep import SleepPatchingBlocker
from pytest_test_categories.adapters.threading import ThreadPatchingMonitor

__all__ = [
    'DatabasePatchingBlocker',
    'FakeDatabaseBlocker',
    'FakeFilesystemBlocker',
    'FakeNetworkBlocker',
    'FakeProcessBlocker',
    'FakeSleepBlocker',
    'FakeThreadMonitor',
    'FilesystemPatchingBlocker',
    'PytestConfigAdapter',
    'PytestItemAdapter',
    'PytestWarningAdapter',
    'SleepPatchingBlocker',
    'SocketPatchingNetworkBlocker',
    'SubprocessPatchingBlocker',
    'TerminalReporterAdapter',
    'ThreadPatchingMonitor',
]
