datasette/tests/test_docs_plugins.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

34 lines
874 B
Python
Raw Permalink Normal View History

# fmt: off
# -- start datasette_with_plugin_fixture --
from datasette import hookimpl
from datasette.app import Datasette
import pytest
import pytest_asyncio
@pytest_asyncio.fixture
async def datasette_with_plugin():
class TestPlugin:
__name__ = "TestPlugin"
@hookimpl
def register_routes(self):
return [
(r"^/error$", lambda: 1 / 0),
]
2025-11-13 10:31:03 -08:00
datasette = Datasette()
datasette.pm.register(TestPlugin(), name="undo")
try:
2025-11-13 10:31:03 -08:00
yield datasette
finally:
2025-11-13 10:31:03 -08:00
datasette.pm.unregister(name="undo")
# -- end datasette_with_plugin_fixture --
# -- start datasette_with_plugin_test --
@pytest.mark.asyncio
async def test_error(datasette_with_plugin):
response = await datasette_with_plugin.client.get("/error")
assert response.status_code == 500
# -- end datasette_with_plugin_test --