Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
f98f8428
Commit
f98f8428
authored
Feb 05, 2015
by
Tom Christie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor bits of test cleanup
parent
65bbc4a1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
24 deletions
+15
-24
tests/test_versioning.py
+15
-24
No files found.
tests/test_versioning.py
View file @
f98f8428
from
.utils
import
MockObject
,
MockQueryset
,
UsingURLPatterns
from
.utils
import
UsingURLPatterns
from
django.conf.urls
import
include
,
url
from
django.core.exceptions
import
ObjectDoesNotExist
from
rest_framework
import
serializers
from
rest_framework
import
status
,
versioning
from
rest_framework.decorators
import
APIView
...
...
@@ -33,8 +32,8 @@ class RequestInvalidVersionView(APIView):
factory
=
APIRequestFactory
()
mock
_view
=
lambda
request
:
None
dummy_view
=
lambda
request
,
pk
:
None
dummy
_view
=
lambda
request
:
None
dummy_
pk_
view
=
lambda
request
,
pk
:
None
class
TestRequestVersion
:
...
...
@@ -112,14 +111,14 @@ class TestRequestVersion:
class
TestURLReversing
(
UsingURLPatterns
,
APITestCase
):
included
=
[
url
(
r'^namespaced/$'
,
mock
_view
,
name
=
'another'
),
url
(
r'^example/(?P<pk>\d+)/$'
,
dummy_view
,
name
=
'example-detail'
)
url
(
r'^namespaced/$'
,
dummy
_view
,
name
=
'another'
),
url
(
r'^example/(?P<pk>\d+)/$'
,
dummy_
pk_
view
,
name
=
'example-detail'
)
]
urlpatterns
=
[
url
(
r'^v1/'
,
include
(
included
,
namespace
=
'v1'
)),
url
(
r'^another/$'
,
mock
_view
,
name
=
'another'
),
url
(
r'^(?P<version>[^/]+)/another/$'
,
mock
_view
,
name
=
'another'
),
url
(
r'^another/$'
,
dummy
_view
,
name
=
'another'
),
url
(
r'^(?P<version>[^/]+)/another/$'
,
dummy
_view
,
name
=
'another'
),
]
def
test_reverse_unversioned
(
self
):
...
...
@@ -230,7 +229,7 @@ class TestInvalidVersion:
class
TestHyperlinkedRelatedField
(
UsingURLPatterns
,
APITestCase
):
included
=
[
url
(
r'^namespaced/(?P<pk>\d+)/$'
,
mock
_view
,
name
=
'namespaced'
),
url
(
r'^namespaced/(?P<pk>\d+)/$'
,
dummy
_view
,
name
=
'namespaced'
),
]
urlpatterns
=
[
...
...
@@ -241,28 +240,20 @@ class TestHyperlinkedRelatedField(UsingURLPatterns, APITestCase):
def
setUp
(
self
):
super
(
TestHyperlinkedRelatedField
,
self
)
.
setUp
()
class
HyperlinkedMockQueryset
(
MockQueryset
):
def
get
(
self
,
**
lookup
):
for
item
in
self
.
items
:
if
item
.
pk
==
int
(
lookup
.
get
(
'pk'
,
-
1
)):
return
item
raise
ObjectDoesNotExist
()
self
.
queryset
=
HyperlinkedMockQueryset
([
MockObject
(
pk
=
1
,
name
=
'foo'
),
MockObject
(
pk
=
2
,
name
=
'bar'
),
MockObject
(
pk
=
3
,
name
=
'baz'
)
])
class
MockQueryset
(
object
):
def
get
(
self
,
pk
):
return
'object
%
s'
%
pk
self
.
field
=
serializers
.
HyperlinkedRelatedField
(
view_name
=
'namespaced'
,
queryset
=
self
.
queryset
queryset
=
MockQueryset
()
)
request
=
factory
.
post
(
'/'
,
urlconf
=
'tests.test_versioning
'
)
request
=
factory
.
get
(
'/
'
)
request
.
versioning_scheme
=
NamespaceVersioning
()
request
.
version
=
'v1'
self
.
field
.
_context
=
{
'request'
:
request
}
def
test_bug_2489
(
self
):
self
.
field
.
to_internal_value
(
'/v1/namespaced/3/'
)
assert
self
.
field
.
to_internal_value
(
'/v1/namespaced/3/'
)
==
'object 3'
with
pytest
.
raises
(
serializers
.
ValidationError
):
self
.
field
.
to_internal_value
(
'/v2/namespaced/3/'
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment