Skip to content

Commit 72ec4e7

Browse files
committed
Add additional test cases which utilize RequestFactory.
1 parent eab245a commit 72ec4e7

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

codespeed/tests/test_auth.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
from django.test import TestCase, override_settings
66
from django.http import HttpResponse
77
from django.contrib.auth.models import AnonymousUser
8+
from django.test import RequestFactory
89

910
from codespeed.auth import basic_auth_required
11+
from codespeed.views import add_result
1012

1113

1214
@override_settings(ALLOW_ANONYMOUS_POST=False)
@@ -108,3 +110,29 @@ def test_basic_auth_required_django_post_2_0_failed_auth(self):
108110
self.assertTrue(isinstance(res, HttpResponse))
109111
self.assertEqual(res.status_code, 401)
110112
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

Comments
 (0)