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
030f01af
Commit
030f01af
authored
Feb 03, 2015
by
Brandon Cazander
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reorganize tests.
parent
f3067a7f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
51 deletions
+43
-51
tests/test_relations.py
+2
-47
tests/test_versioning.py
+39
-2
tests/urls.py
+2
-2
No files found.
tests/test_relations.py
View file @
030f01af
from
.utils
import
mock_reverse
,
fail_reverse
,
BadType
,
MockObject
,
MockQueryset
from
.utils
import
mock_reverse
,
fail_reverse
,
BadType
,
MockObject
,
MockQueryset
from
django.conf.urls
import
patterns
,
url
,
include
from
django.core.exceptions
import
ImproperlyConfigured
from
django.core.exceptions
import
ImproperlyConfigured
,
ObjectDoesNotExist
from
django.utils.datastructures
import
MultiValueDict
from
django.utils.datastructures
import
MultiValueDict
from
rest_framework
import
serializers
from
rest_framework
import
serializers
from
rest_framework.fields
import
empty
from
rest_framework.fields
import
empty
from
rest_framework.test
import
APISimpleTestCase
,
APIRequestFactory
from
rest_framework.test
import
APISimpleTestCase
from
rest_framework.versioning
import
NamespaceVersioning
import
pytest
import
pytest
factory
=
APIRequestFactory
()
dummy_view
=
lambda
request
,
pk
:
None
included_patterns
=
[
url
(
r'^example/(?P<pk>\d+)/$'
,
dummy_view
,
name
=
'example-detail'
)
]
urlpatterns
=
patterns
(
''
,
url
(
r'^v1/'
,
include
(
included_patterns
,
namespace
=
'v1'
)),
url
(
r'^example/(?P<pk>\d+)/$'
,
dummy_view
,
name
=
'example-detail'
)
)
class
TestStringRelatedField
(
APISimpleTestCase
):
class
TestStringRelatedField
(
APISimpleTestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -64,35 +48,6 @@ class TestPrimaryKeyRelatedField(APISimpleTestCase):
...
@@ -64,35 +48,6 @@ class TestPrimaryKeyRelatedField(APISimpleTestCase):
assert
representation
==
self
.
instance
.
pk
assert
representation
==
self
.
instance
.
pk
class
TestHyperlinkedRelatedField
(
APISimpleTestCase
):
urls
=
'tests.test_relations'
def
setUp
(
self
):
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'
)
])
self
.
field
=
serializers
.
HyperlinkedRelatedField
(
view_name
=
'example-detail'
,
queryset
=
self
.
queryset
)
request
=
factory
.
post
(
'/'
)
request
.
versioning_scheme
=
NamespaceVersioning
()
self
.
field
.
_context
=
{
'request'
:
request
}
def
test_bug_2489
(
self
):
self
.
field
.
to_internal_value
(
'/example/3/'
)
self
.
field
.
to_internal_value
(
'/v1/example/3/'
)
class
TestHyperlinkedIdentityField
(
APISimpleTestCase
):
class
TestHyperlinkedIdentityField
(
APISimpleTestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
instance
=
MockObject
(
pk
=
1
,
name
=
'foo'
)
self
.
instance
=
MockObject
(
pk
=
1
,
name
=
'foo'
)
...
...
tests/test_versioning.py
View file @
030f01af
from
.utils
import
MockObject
,
MockQueryset
from
django.conf.urls
import
include
,
url
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
import
status
,
versioning
from
rest_framework.decorators
import
APIView
from
rest_framework.decorators
import
APIView
from
rest_framework.response
import
Response
from
rest_framework.response
import
Response
from
rest_framework.reverse
import
reverse
from
rest_framework.reverse
import
reverse
from
rest_framework.test
import
APIRequestFactory
,
APITestCase
from
rest_framework.test
import
APIRequestFactory
,
APITestCase
,
APISimpleTestCase
from
rest_framework.versioning
import
NamespaceVersioning
class
RequestVersionView
(
APIView
):
class
RequestVersionView
(
APIView
):
...
@@ -29,15 +33,18 @@ class RequestInvalidVersionView(APIView):
...
@@ -29,15 +33,18 @@ class RequestInvalidVersionView(APIView):
factory
=
APIRequestFactory
()
factory
=
APIRequestFactory
()
mock_view
=
lambda
request
:
None
mock_view
=
lambda
request
:
None
dummy_view
=
lambda
request
,
pk
:
None
included_patterns
=
[
included_patterns
=
[
url
(
r'^namespaced/$'
,
mock_view
,
name
=
'another'
),
url
(
r'^namespaced/$'
,
mock_view
,
name
=
'another'
),
url
(
r'^example/(?P<pk>\d+)/$'
,
dummy_view
,
name
=
'example-detail'
)
]
]
urlpatterns
=
[
urlpatterns
=
[
url
(
r'^v1/'
,
include
(
included_patterns
,
namespace
=
'v1'
)),
url
(
r'^v1/'
,
include
(
included_patterns
,
namespace
=
'v1'
)),
url
(
r'^another/$'
,
mock_view
,
name
=
'another'
),
url
(
r'^another/$'
,
mock_view
,
name
=
'another'
),
url
(
r'^(?P<version>[^/]+)/another/$'
,
mock_view
,
name
=
'another'
)
url
(
r'^(?P<version>[^/]+)/another/$'
,
mock_view
,
name
=
'another'
),
url
(
r'^example/(?P<pk>\d+)/$'
,
dummy_view
,
name
=
'example-detail'
)
]
]
...
@@ -221,3 +228,33 @@ class TestInvalidVersion:
...
@@ -221,3 +228,33 @@ class TestInvalidVersion:
request
.
resolver_match
=
FakeResolverMatch
request
.
resolver_match
=
FakeResolverMatch
response
=
view
(
request
,
version
=
'v3'
)
response
=
view
(
request
,
version
=
'v3'
)
assert
response
.
status_code
==
status
.
HTTP_404_NOT_FOUND
assert
response
.
status_code
==
status
.
HTTP_404_NOT_FOUND
class
TestHyperlinkedRelatedField
(
APISimpleTestCase
):
urls
=
'tests.test_versioning'
def
setUp
(
self
):
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'
)
])
self
.
field
=
serializers
.
HyperlinkedRelatedField
(
view_name
=
'example-detail'
,
queryset
=
self
.
queryset
)
request
=
factory
.
post
(
'/'
,
urlconf
=
'tests.test_versioning'
)
request
.
versioning_scheme
=
NamespaceVersioning
()
self
.
field
.
_context
=
{
'request'
:
request
}
def
test_bug_2489
(
self
):
self
.
field
.
to_internal_value
(
'/example/3/'
)
self
.
field
.
to_internal_value
(
'/v1/example/3/'
)
tests/urls.py
View file @
030f01af
"""
"""
Blank URLConf just to keep the test suite happy
Blank URLConf just to keep the test suite happy
"""
"""
from
tests
import
test_relatio
ns
from
django.conf.urls
import
patter
ns
urlpatterns
=
test_relations
.
urlpatterns
urlpatterns
=
patterns
(
''
)
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