diff options
author | Raffaele Salmaso <raffaele.salmaso@gmail.com> | 2017-01-10 00:03:10 +0100 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-01-09 18:03:10 -0500 |
commit | ed8c0c941df0f321fb5751db572a9ec773d5118a (patch) | |
tree | 7235cbbbef8f3b2ace26f46c2384ecae25fa0e6f /tests/messages_tests | |
parent | 7dc8d9238aed6267d6f21e05d0f02eb8ec2007ec (diff) | |
download | django-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.py | 21 |
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) |