diff options
Diffstat (limited to 'tests/messages_tests/test_api.py')
| -rw-r--r-- | tests/messages_tests/test_api.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/messages_tests/test_api.py b/tests/messages_tests/test_api.py new file mode 100644 index 0000000000..f79db95866 --- /dev/null +++ b/tests/messages_tests/test_api.py @@ -0,0 +1,54 @@ +from django.contrib import messages +from django.test import RequestFactory, TestCase + + +class DummyStorage(object): + """ + dummy message-store to test the api methods + """ + + def __init__(self): + self.store = [] + + def add(self, level, message, extra_tags=''): + self.store.append(message) + + +class ApiTest(TestCase): + def setUp(self): + self.rf = RequestFactory() + self.request = self.rf.request() + self.storage = DummyStorage() + + def test_ok(self): + msg = 'some message' + + self.request._messages = self.storage + messages.add_message(self.request, messages.DEBUG, msg) + self.assertIn(msg, self.storage.store) + + def test_request_is_none(self): + msg = 'some message' + + self.request._messages = self.storage + + with self.assertRaises(TypeError): + messages.add_message(None, messages.DEBUG, msg) + + self.assertEqual([], self.storage.store) + + def test_middleware_missing(self): + msg = 'some message' + + with self.assertRaises(messages.MessageFailure): + messages.add_message(self.request, messages.DEBUG, msg) + + self.assertEqual([], self.storage.store) + + def test_middleware_missing_silently(self): + msg = 'some message' + + messages.add_message(self.request, messages.DEBUG, msg, + fail_silently=True) + + self.assertEqual([], self.storage.store) |
