Well, looks like I've found workaround. At first we should test if a view have CSRF protection:
def test_csrf_protected(self):
request = RequestFactory().post('', data={})
response = views.register_form(request)
self.assertEqual(response.status_code, 403)
(fix me, it is very weak test for example purpose)
Then we actually test view, providing request._dont_enforce_csrf_checks = True. And voila. Remember that you shouldn't test Django library, so it's obsolete to test "CSRF bypassing + view" chain. Test your view only and that it is protected with @csrf_protect is absolutely enough.
четверг, 18 июля 2013 г., 11:35:00 UTC+2 пользователь Vladimir Ignatev написал: