Skip to content

Commit

Permalink
Fix backward compability on GraphQLTestCase._client setter (#1093)
Browse files Browse the repository at this point in the history
  • Loading branch information
ulgens authored Jan 10, 2021
1 parent aff56b8 commit e24675e
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 2 deletions.
13 changes: 13 additions & 0 deletions graphene_django/utils/testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ def query(self, query, op_name=None, input_data=None, variables=None, headers=No
)

@property
def _client(self):
pass

@_client.getter
def _client(self):
warnings.warn(
"Using `_client` is deprecated in favour of `client`.",
Expand All @@ -107,6 +111,15 @@ def _client(self):
)
return self.client

@_client.setter
def _client(self, client):
warnings.warn(
"Using `_client` is deprecated in favour of `client`.",
PendingDeprecationWarning,
stacklevel=2,
)
self.client = client

def assertResponseNoErrors(self, resp, msg=None):
"""
Assert that the call went through correctly. 200 means the syntax is ok, if there are no `errors`,
Expand Down
25 changes: 23 additions & 2 deletions graphene_django/utils/tests/test_testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

from .. import GraphQLTestCase
from ...tests.test_types import with_local_registry
from django.test import Client


@with_local_registry
def test_graphql_test_case_deprecated_client():
def test_graphql_test_case_deprecated_client_getter():
"""
Test that `GraphQLTestCase._client`'s should raise pending deprecation warning.
`GraphQLTestCase._client`' getter should raise pending deprecation warning.
"""

class TestClass(GraphQLTestCase):
Expand All @@ -22,3 +23,23 @@ def runTest(self):

with pytest.warns(PendingDeprecationWarning):
tc._client


@with_local_registry
def test_graphql_test_case_deprecated_client_setter():
"""
`GraphQLTestCase._client`' setter should raise pending deprecation warning.
"""

class TestClass(GraphQLTestCase):
GRAPHQL_SCHEMA = True

def runTest(self):
pass

tc = TestClass()
tc._pre_setup()
tc.setUpClass()

with pytest.warns(PendingDeprecationWarning):
tc._client = Client()

0 comments on commit e24675e

Please sign in to comment.