|
5 | 5 | from django.test import TestCase, override_settings |
6 | 6 | from django.http import HttpResponse |
7 | 7 | from django.contrib.auth.models import AnonymousUser |
| 8 | +from django.test import RequestFactory |
8 | 9 |
|
9 | 10 | from codespeed.auth import basic_auth_required |
| 11 | +from codespeed.views import add_result |
10 | 12 |
|
11 | 13 |
|
12 | 14 | @override_settings(ALLOW_ANONYMOUS_POST=False) |
@@ -108,3 +110,29 @@ def test_basic_auth_required_django_post_2_0_failed_auth(self): |
108 | 110 | self.assertTrue(isinstance(res, HttpResponse)) |
109 | 111 | self.assertEqual(res.status_code, 401) |
110 | 112 | self.assertEqual(wrapped_function.call_count, 0) |
| 113 | + |
| 114 | + @mock.patch('codespeed.views.save_result', mock.Mock()) |
| 115 | + def test_basic_auth_with_failed_auth_request_factory(self): |
| 116 | + request_factory = RequestFactory() |
| 117 | + |
| 118 | + request = request_factory.get('/timeline') |
| 119 | + request.user = AnonymousUser() |
| 120 | + request.method = 'POST' |
| 121 | + |
| 122 | + response = add_result(request) |
| 123 | + self.assertEqual(response.status_code, 403) |
| 124 | + |
| 125 | + @mock.patch('codespeed.views.create_report_if_enough_data', mock.Mock()) |
| 126 | + @mock.patch('codespeed.views.save_result', mock.Mock(return_value=([1, 2, 3], None))) |
| 127 | + def test_basic_auth_successefull_auth_request_factory(self): |
| 128 | + request_factory = RequestFactory() |
| 129 | + |
| 130 | + user = mock.Mock() |
| 131 | + user.is_authenticated = True |
| 132 | + |
| 133 | + request = request_factory.get('/result/add') |
| 134 | + request.user = user |
| 135 | + request.method = 'POST' |
| 136 | + |
| 137 | + response = add_result(request) |
| 138 | + self.assertEqual(response.status_code, 202) |
0 commit comments