Skip to content

Commit c1d15cb

Browse files
mdentremontpelme
authored andcommitted
Avoid deprecation warnings on pytest 3.0 (#393)
1 parent 54b6cad commit c1d15cb

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

pytest_django/compat.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# This file cannot be imported from until Django sets up
2+
13
try:
24
# Django 1.11
35
from django.test.utils import setup_databases, teardown_databases # noqa

pytest_django/fixtures.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from . import live_server_helper
1010

1111
from .django_compat import is_django_unittest
12+
from .pytest_compat import getfixturevalue
1213

1314
from .lazy_django import get_django_version, skip_if_no_django
1415

@@ -154,7 +155,7 @@ def db(request, django_db_setup, django_db_blocker):
154155
"""
155156
if 'transactional_db' in request.funcargnames \
156157
or 'live_server' in request.funcargnames:
157-
request.getfuncargvalue('transactional_db')
158+
getfixturevalue(request, 'transactional_db')
158159
else:
159160
_django_db_fixture_helper(False, request, django_db_blocker)
160161

@@ -322,4 +323,4 @@ def _live_server_helper(request):
322323
function-scoped.
323324
"""
324325
if 'live_server' in request.funcargnames:
325-
request.getfuncargvalue('transactional_db')
326+
getfixturevalue(request, 'transactional_db')

pytest_django/plugin.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
from .fixtures import rf # noqa
3232
from .fixtures import settings # noqa
3333
from .fixtures import transactional_db # noqa
34+
from .pytest_compat import getfixturevalue
3435

3536
from .lazy_django import (django_settings_is_configured,
3637
get_django_version, skip_if_no_django)
@@ -370,17 +371,17 @@ def _django_db_marker(request):
370371
if marker:
371372
validate_django_db(marker)
372373
if marker.transaction:
373-
request.getfuncargvalue('transactional_db')
374+
getfixturevalue(request, 'transactional_db')
374375
else:
375-
request.getfuncargvalue('db')
376+
getfixturevalue(request, 'db')
376377

377378

378379
@pytest.fixture(autouse=True, scope='class')
379380
def _django_setup_unittest(request, django_db_blocker):
380381
"""Setup a django unittest, internal to pytest-django."""
381382
if django_settings_is_configured() and is_django_unittest(request):
382-
request.getfuncargvalue('django_test_environment')
383-
request.getfuncargvalue('django_db_setup')
383+
getfixturevalue(request, 'django_test_environment')
384+
getfixturevalue(request, 'django_db_setup')
384385

385386
django_db_blocker.unblock()
386387

pytest_django/pytest_compat.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
def getfixturevalue(request, value):
2+
if hasattr(request, 'getfixturevalue'):
3+
return request.getfixturevalue(value)
4+
5+
return request.getfuncargvalue(value)

tests/test_database.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from django.db import connection
55
from django.test.testcases import connections_support_transactions
66

7+
from pytest_django.pytest_compat import getfixturevalue
78
from pytest_django_test.app.models import Item
89

910

@@ -33,9 +34,9 @@ class TestDatabaseFixtures:
3334
@pytest.fixture(params=['db', 'transactional_db'])
3435
def both_dbs(self, request):
3536
if request.param == 'transactional_db':
36-
return request.getfuncargvalue('transactional_db')
37+
return getfixturevalue(request, 'transactional_db')
3738
elif request.param == 'db':
38-
return request.getfuncargvalue('db')
39+
return getfixturevalue(request, 'db')
3940

4041
def test_access(self, both_dbs):
4142
Item.objects.create(name='spam')

0 commit comments

Comments
 (0)