FOIA_Doc_Search / tests /test_adapters.py
GodsDevProject's picture
Create test_adapters.py
aca2945 verified
raw
history blame
756 Bytes
import asyncio
import pytest
from ingest.cia_reading_room import CIAAdapter
from ingest.fbi_vault import FBIAdapter
REQUIRED_KEYS = {"source", "title", "url", "snippet", "live"}
@pytest.mark.asyncio
@pytest.mark.parametrize(
"adapter_cls",
[CIAAdapter, FBIAdapter]
)
async def test_adapter_contract(adapter_cls):
adapter = adapter_cls()
results = await adapter.search("test")
assert isinstance(results, list)
for r in results:
assert isinstance(r, dict)
assert REQUIRED_KEYS.issubset(r.keys())
assert isinstance(r["source"], str)
assert isinstance(r["title"], str)
assert isinstance(r["url"], str)
assert isinstance(r["snippet"], str)
assert isinstance(r["live"], bool)