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
9c8adb48
Commit
9c8adb48
authored
Jan 24, 2017
by
Artem Muterko
Committed by
Tom Christie
Jan 24, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add couple of tests for compat module (#4845)
parent
ab0c5771
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
0 deletions
+69
-0
tests/test_compat.py
+69
-0
No files found.
tests/test_compat.py
0 → 100644
View file @
9c8adb48
from
django.test
import
TestCase
from
rest_framework
import
compat
class
CompatTests
(
TestCase
):
def
test_total_seconds
(
self
):
class
MockTimedelta
(
object
):
days
=
1
seconds
=
1
microseconds
=
100
timedelta
=
MockTimedelta
()
expected
=
(
timedelta
.
days
*
86400.0
)
+
float
(
timedelta
.
seconds
)
+
(
timedelta
.
microseconds
/
1000000.0
)
assert
compat
.
total_seconds
(
timedelta
)
==
expected
def
test_get_remote_field_with_old_django_version
(
self
):
class
MockField
(
object
):
rel
=
'example_rel'
original_django_version
=
compat
.
django
.
VERSION
compat
.
django
.
VERSION
=
(
1
,
8
)
assert
compat
.
get_remote_field
(
MockField
(),
default
=
'default_value'
)
==
'example_rel'
assert
compat
.
get_remote_field
(
object
(),
default
=
'default_value'
)
==
'default_value'
compat
.
django
.
VERSION
=
original_django_version
def
test_get_remote_field_with_new_django_version
(
self
):
class
MockField
(
object
):
remote_field
=
'example_remote_field'
original_django_version
=
compat
.
django
.
VERSION
compat
.
django
.
VERSION
=
(
1
,
10
)
assert
compat
.
get_remote_field
(
MockField
(),
default
=
'default_value'
)
==
'example_remote_field'
assert
compat
.
get_remote_field
(
object
(),
default
=
'default_value'
)
==
'default_value'
compat
.
django
.
VERSION
=
original_django_version
def
test_patch_in_http_method_names
(
self
):
assert
'patch'
in
compat
.
View
.
http_method_names
def
test_set_rollback_for_transaction_in_managed_mode
(
self
):
class
MockTransaction
(
object
):
called_rollback
=
False
called_leave_transaction_management
=
False
def
is_managed
(
self
):
return
True
def
is_dirty
(
self
):
return
True
def
rollback
(
self
):
self
.
called_rollback
=
True
def
leave_transaction_management
(
self
):
self
.
called_leave_transaction_management
=
True
original_transaction
=
compat
.
transaction
dirty_mock_transaction
=
MockTransaction
()
compat
.
transaction
=
dirty_mock_transaction
compat
.
set_rollback
()
assert
dirty_mock_transaction
.
called_rollback
is
True
assert
dirty_mock_transaction
.
called_leave_transaction_management
is
True
clean_mock_transaction
=
MockTransaction
()
clean_mock_transaction
.
is_dirty
=
lambda
:
False
compat
.
transaction
=
clean_mock_transaction
compat
.
set_rollback
()
assert
clean_mock_transaction
.
called_rollback
is
False
assert
clean_mock_transaction
.
called_leave_transaction_management
is
True
compat
.
transaction
=
original_transaction
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