jeudi 25 décembre 2014

Can not authorize in unittest

I have page with login_required decorator which I want to test whether correct template is used. On stackoverflow I've found authorization method for unit test but for me it do not work for some reason. Here is my test:



from django.test import TestCase
from django.test import Client
import base64


class TestUsingCorrectTemplates(TestCase):

def test_correct_classroom_template_used(self):
auth_headers = {'HTTP_AUTHORIZATION': 'Basic '+base64.b64encode('admin@dot.com:admin')}
c = Client()
response = c.get('/classroom/', **auth_headers)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response,'classroom.html')


Also would like to mention that authorization handled with OpenId/AllAuth and there is no /login page, user logs in from start page /


Content of response variable is following:



Vary: Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8
Location: http://testserver/?next=/classroom/


Test error:



self.assertEqual(response.status_code, 200)
AssertionError: 302 != 200


What am I doing wrong?


Aucun commentaire:

Enregistrer un commentaire