8000 Minor bits of test cleanup · coderanger/django-rest-framework@f98f842 · GitHub
[go: up one dir, main page]

Skip to content

Commit f98f842

Browse files
committed
Minor bits of test cleanup
1 parent 65bbc4a commit f98f842

File tree

1 file changed

+15
-24
lines changed

1 file changed

+15
-24
lines changed

tests/test_versioning.py

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
from .utils import MockObject, MockQueryset, UsingURLPatterns
1+
from .utils import UsingURLPatterns
22
from django.conf.urls import include, url
3-
from django.core.exceptions import ObjectDoesNotExist
43
from rest_framework import serializers
54
from rest_framework import status, versioning
65
from rest_framework.decorators import APIView
@@ -33,8 +32,8 @@ def get(self, request, *args, **kwargs):
3332

3433
factory = APIRequestFactory()
3534

36-
mock_view = lambda request: None
37-
dummy_view = lambda request, pk: None
35+
dummy_view = lambda request: None
36+
dummy_pk_view = lambda request, pk: None
3837

3938

4039
class TestRequestVersion:
@@ -112,14 +111,14 @@ class FakeResolverMatch:
112111

113112
class TestURLReversing(UsingURLPatterns, APITestCase):
114113
included = [
115-
url(r'^namespaced/$', mock_view, name='another'),
116-
url(r'^example/(?P<pk>\d+)/$', dummy_view, name='example-detail')
114+
url(r'^namespaced/$', dummy_view, name='another'),
115+
url(r'^example/(?P<pk>\d+)/$', dummy_pk_view, name='example-detail')
117116
]
118117

119118
urlpatterns = [
120119
url(r'^v1/', include(included, namespace='v1')),
121-
url(r'^another/$', mock_view, name='another'),
122-
url(r'^(?P<version>[^/]+)/another/$', mock_view, name='another'),
120+
url(r'^another/$', dummy_view, name='another'),
121+
url(r'^(?P<version>[^/]+)/another/$', dummy_view, name='another'),
123122
]
124123

125124
def test_reverse_unversioned(self):
@@ -230,7 +229,7 @@ class FakeResolverMatch:
230229

231230
class TestHyperlinkedRelatedField(UsingURLPatterns, APITestCase):
232231
included = [
233-
url(r'^namespaced/(?P<pk>\d+)/$', mock_view, name='namespaced'),
232+
url(r'^namespaced/(?P<pk>\d+)/$', dummy_view, name='namespaced'),
234233
]
235234

236235
urlpatterns = [
@@ -241,28 +240,20 @@ class TestHyperlinkedRelatedField(UsingURLPatterns, APITestCase):
241240
def setUp(self):
242241
super(TestHyperlinkedRelatedField, self).setUp()
243242

244-
class HyperlinkedMockQueryset(MockQueryset):
245-
def get(self, **lookup):
246-
for item in self.items:
247-
if item.pk == int(lookup.get('pk', -1)):
248-
return item
249-
raise ObjectDoesNotExist()
250-
251-
self.queryset = HyperlinkedMockQueryset([
252-
MockObject(pk=1, name='foo'),
253-
MockObject(pk=2, name='bar'),
254-
MockObject(pk=3, name='baz')
255-
])
243+
class MockQueryset(object):
244+
def get(self, pk):
245+
return 'object %s' % pk
246+
256247
self.field = serializers.HyperlinkedRelatedField(
257248
view_name='namespaced',
258-
queryset=self.queryset
249+
queryset=MockQueryset()
259250
)
260-
request = factory.post('/', urlconf='tests.test_versioning')
251+
request = factory.get('/')
261252
request.versioning_scheme = NamespaceVersioning()
262253
request.version = 'v1'
263254
self.field._context = {'request': request}
264255

265256
def test_bug_2489(self):
266-
self.field.to_internal_value('/v1/namespaced/3/')
257+
assert self.field.to_internal_value('/v1/namespaced/3/') == 'object 3'
267258
with pytest.raises(serializers.ValidationError):
268259
self.field.to_internal_value('/v2/namespaced/3/')

0 commit comments

Comments
 (0)
0