From a799ac6232424e36fa93c21d608acb005d236c06 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Mon, 19 Nov 2018 18:39:09 -0800 Subject: [PATCH] Updated how we use pytest fixtures to avoid new warning --- tests/fixtures.py | 20 ++++++++++++-------- tests/test_api.py | 9 +++++---- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/tests/fixtures.py b/tests/fixtures.py index faf9c9cc..a77d141d 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -23,8 +23,7 @@ class TestClient: ) -@pytest.fixture(scope="session") -def app_client( +def make_app_client( sql_time_limit_ms=None, max_returned_rows=None, cors=False, @@ -61,38 +60,43 @@ def app_client( yield client +@pytest.fixture(scope="session") +def app_client(**kwargs): + yield from make_app_client(**kwargs) + + @pytest.fixture(scope='session') def app_client_shorter_time_limit(): - yield from app_client(20) + yield from make_app_client(20) @pytest.fixture(scope='session') def app_client_returned_rows_matches_page_size(): - yield from app_client(max_returned_rows=50) + yield from make_app_client(max_returned_rows=50) @pytest.fixture(scope='session') def app_client_larger_cache_size(): - yield from app_client(config={ + yield from make_app_client(config={ 'cache_size_kb': 2500, }) @pytest.fixture(scope='session') def app_client_csv_max_mb_one(): - yield from app_client(config={ + yield from make_app_client(config={ 'max_csv_mb': 1, }) @pytest.fixture(scope="session") def app_client_with_dot(): - yield from app_client(filename="fixtures.dot.db") + yield from make_app_client(filename="fixtures.dot.db") @pytest.fixture(scope='session') def app_client_with_cors(): - yield from app_client(cors=True) + yield from make_app_client(cors=True) def generate_compound_rows(num): diff --git a/tests/test_api.py b/tests/test_api.py index c1f22733..1ab236cf 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -6,6 +6,7 @@ from .fixtures import ( # noqa app_client_with_dot, generate_compound_rows, generate_sortable_rows, + make_app_client, METADATA, ) import pytest @@ -435,7 +436,7 @@ def test_invalid_custom_sql(app_client): def test_allow_sql_off(): - for client in app_client(config={ + for client in make_app_client(config={ 'allow_sql': False, }): assert 400 == client.get( @@ -1179,7 +1180,7 @@ def test_suggested_facets(app_client): def test_allow_facet_off(): - for client in app_client(config={ + for client in make_app_client(config={ 'allow_facet': False, }): assert 400 == client.get( @@ -1192,7 +1193,7 @@ def test_allow_facet_off(): def test_suggest_facets_off(): - for client in app_client(config={ + for client in make_app_client(config={ 'suggest_facets': False, }): # Now suggested_facets should be [] @@ -1304,7 +1305,7 @@ def test_config_cache_size(app_client_larger_cache_size): def test_config_force_https_urls(): - for client in app_client(config={"force_https_urls": True}): + for client in make_app_client(config={"force_https_urls": True}): response = client.get("/fixtures/facetable.json?_size=3&_facet=state") assert response.json["next_url"].startswith("https://") assert response.json["facet_results"]["state"]["results"][0][