summaryrefslogtreecommitdiff
path: root/tests/messages_tests
diff options
context:
space:
mode:
authorRaffaele Salmaso <raffaele.salmaso@gmail.com>2017-01-10 00:03:10 +0100
committerTim Graham <timograham@gmail.com>2017-01-09 18:03:10 -0500
commited8c0c941df0f321fb5751db572a9ec773d5118a (patch)
tree7235cbbbef8f3b2ace26f46c2384ecae25fa0e6f /tests/messages_tests
parent7dc8d9238aed6267d6f21e05d0f02eb8ec2007ec (diff)
downloaddjango-ed8c0c941df0f321fb5751db572a9ec773d5118a.tar.gz
Fixed #27688 -- Made messages' add_message() request check use ducktyping.
Diffstat (limited to 'tests/messages_tests')
-rw-r--r--tests/messages_tests/test_api.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/messages_tests/test_api.py b/tests/messages_tests/test_api.py
index 0cb17c1656..8baff57c70 100644
--- a/tests/messages_tests/test_api.py
+++ b/tests/messages_tests/test_api.py
@@ -42,3 +42,24 @@ class ApiTests(SimpleTestCase):
def test_middleware_missing_silently(self):
messages.add_message(self.request, messages.DEBUG, 'some message', fail_silently=True)
self.assertEqual(self.storage.store, [])
+
+
+class CustomRequest(object):
+ def __init__(self, request):
+ self._request = request
+
+ def __getattribute__(self, attr):
+ try:
+ return super(CustomRequest, self).__getattribute__(attr)
+ except AttributeError:
+ return getattr(self._request, attr)
+
+
+class CustomRequestApiTests(ApiTests):
+ """
+ add_message() should use ducktyping to allow request wrappers such as the
+ one in Django REST framework.
+ """
+ def setUp(self):
+ super(CustomRequestApiTests, self).setUp()
+ self.request = CustomRequest(self.request)