diff --git a/tests/unit/test_views.py b/tests/unit/test_views.py index 0725e061c65d..3137b8f03655 100644 --- a/tests/unit/test_views.py +++ b/tests/unit/test_views.py @@ -15,6 +15,7 @@ import elasticsearch import pretend import pytest +import sqlalchemy from pyramid.httpexceptions import ( HTTPBadRequest, @@ -601,7 +602,13 @@ def test_health(): ) assert health(request) == "OK" - assert request.db.execute.calls == [pretend.call("SELECT 1")] + assert len(request.db.execute.calls) == 1 + assert len(request.db.execute.calls[0].args) == 1 + assert len(request.db.execute.calls[0].kwargs) == 0 + assert isinstance( + request.db.execute.calls[0].args[0], sqlalchemy.sql.expression.TextClause + ) + assert request.db.execute.calls[0].args[0].text == "SELECT 1" class TestForceStatus: diff --git a/warehouse/views.py b/warehouse/views.py index b88869abec31..cbc26cb5f2ea 100644 --- a/warehouse/views.py +++ b/warehouse/views.py @@ -37,7 +37,7 @@ view_config, view_defaults, ) -from sqlalchemy import func +from sqlalchemy import func, text from sqlalchemy.sql import exists, expression from trove_classifiers import deprecated_classifiers, sorted_classifiers from webob.multidict import MultiDict @@ -502,7 +502,7 @@ def sidebar_sponsor_logo(request): def health(request): # This will ensure that we can access the database and run queries against # it without doing anything that will take a lock or block other queries. - request.db.execute("SELECT 1") + request.db.execute(text("SELECT 1")) # Nothing will actually check this, but it's a little nicer to have # something to return besides an empty body.