From 42a66c2f041080845c8751add4ebe2a1b1fd49d7 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Fri, 16 Dec 2022 09:44:30 -0800 Subject: [PATCH] A bunch of remaining ds_client conversions, refs #1959 --- tests/test_api.py | 1 + tests/test_html.py | 1 + tests/test_internals_datasette.py | 5 ++--- tests/test_internals_datasette_client.py | 7 +++---- tests/test_messages.py | 17 ++++++++++------- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/tests/test_api.py b/tests/test_api.py index d0ffb05e..8bd1e8b7 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1010,6 +1010,7 @@ async def test_http_options_request(ds_client): @pytest.mark.asyncio async def test_db_path(app_client): + # Needs app_client because needs file based database db = app_client.ds.get_database() path = pathlib.Path(db.path) diff --git a/tests/test_html.py b/tests/test_html.py index 3d4f2ed7..e93fb6c2 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -485,6 +485,7 @@ def test_database_download_for_immutable(): def test_database_download_disallowed_for_mutable(app_client): + # Use app_client because we need a file database, not in-memory response = app_client.get("/fixtures") soup = Soup(response.content, "html.parser") assert len(soup.findAll("a", {"href": re.compile(r"\.db$")})) == 0 diff --git a/tests/test_internals_datasette.py b/tests/test_internals_datasette.py index 97fdc35d..eab6355b 100644 --- a/tests/test_internals_datasette.py +++ b/tests/test_internals_datasette.py @@ -4,13 +4,12 @@ Tests for the datasette.app.Datasette class from datasette import Forbidden from datasette.app import Datasette, Database from itsdangerous import BadSignature -from .fixtures import app_client import pytest @pytest.fixture -def datasette(app_client): - return app_client.ds +def datasette(ds_client): + return ds_client.ds def test_get_database(datasette): diff --git a/tests/test_internals_datasette_client.py b/tests/test_internals_datasette_client.py index cbbfa3c3..afc9b335 100644 --- a/tests/test_internals_datasette_client.py +++ b/tests/test_internals_datasette_client.py @@ -1,13 +1,12 @@ -from .fixtures import app_client import httpx import pytest import pytest_asyncio @pytest_asyncio.fixture -async def datasette(app_client): - await app_client.ds.invoke_startup() - return app_client.ds +async def datasette(ds_client): + await ds_client.ds.invoke_startup() + return ds_client.ds @pytest.mark.asyncio diff --git a/tests/test_messages.py b/tests/test_messages.py index 6fbff066..8a3a3dfd 100644 --- a/tests/test_messages.py +++ b/tests/test_messages.py @@ -1,8 +1,9 @@ -from .fixtures import app_client from .utils import cookie_was_deleted import pytest +@pytest.mark.ds_client +@pytest.mark.asyncio @pytest.mark.parametrize( "qs,expected", [ @@ -11,18 +12,20 @@ import pytest ("add_msg=added-error&type=ERROR", [["added-error", 3]]), ], ) -def test_add_message_sets_cookie(app_client, qs, expected): - response = app_client.get(f"/fixtures.message?{qs}") +async def test_add_message_sets_cookie(ds_client, qs, expected): + response = await ds_client.get(f"/fixtures.message?{qs}") signed = response.cookies["ds_messages"] - decoded = app_client.ds.unsign(signed, "messages") + decoded = ds_client.ds.unsign(signed, "messages") assert expected == decoded -def test_messages_are_displayed_and_cleared(app_client): +@pytest.mark.ds_client +@pytest.mark.asyncio +async def test_messages_are_displayed_and_cleared(ds_client): # First set the message cookie - set_msg_response = app_client.get("/fixtures.message?add_msg=xmessagex") + set_msg_response = await ds_client.get("/fixtures.message?add_msg=xmessagex") # Now access a page that displays messages - response = app_client.get("/", cookies=set_msg_response.cookies) + response = await ds_client.get("/", cookies=set_msg_response.cookies) # Messages should be in that HTML assert "xmessagex" in response.text # Cookie should have been set that clears messages