diff options
| author | Xavier Ordoquy | 2013-01-02 16:09:21 +0100 |
|---|---|---|
| committer | Xavier Ordoquy | 2013-01-02 16:09:21 +0100 |
| commit | 737349d2389197d23886b72c1cb44f53c501ac9a (patch) | |
| tree | 0c542b6c73deee0280705c8253334126c5f5d254 /rest_framework/tests/request.py | |
| parent | 5fad46d7e213afed503b1533515cab96875a5936 (diff) | |
| parent | d379997aba5b1e41309bbed8740ed704c0feb58b (diff) | |
| download | django-rest-framework-737349d2389197d23886b72c1cb44f53c501ac9a.tar.bz2 | |
Merge remote-tracking branch 'reference/py3k' into p3k
Diffstat (limited to 'rest_framework/tests/request.py')
| -rw-r--r-- | rest_framework/tests/request.py | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/rest_framework/tests/request.py b/rest_framework/tests/request.py index 68cfd029..fe5116a8 100644 --- a/rest_framework/tests/request.py +++ b/rest_framework/tests/request.py @@ -3,14 +3,15 @@ Tests for content parsing, and form-overloaded content parsing. """ import six -from django.conf.urls.defaults import patterns from django.contrib.auth.models import User +from django.contrib.auth import authenticate, login, logout +from django.contrib.sessions.middleware import SessionMiddleware from django.test import TestCase, Client +from django.test.client import RequestFactory from django.utils import simplejson as json - from rest_framework import status from rest_framework.authentication import SessionAuthentication -from django.test.client import RequestFactory +from rest_framework.compat import patterns from rest_framework.parsers import ( BaseParser, FormParser, @@ -278,3 +279,37 @@ class TestContentParsingWithAuthentication(TestCase): # response = self.csrf_client.post('/', content) # self.assertEqual(status.OK, response.status_code, "POST data is malformed") + + +class TestUserSetter(TestCase): + + def setUp(self): + # Pass request object through session middleware so session is + # available to login and logout functions + self.request = Request(factory.get('/')) + SessionMiddleware().process_request(self.request) + + User.objects.create_user('ringo', 'starr@thebeatles.com', 'yellow') + self.user = authenticate(username='ringo', password='yellow') + + def test_user_can_be_set(self): + self.request.user = self.user + self.assertEqual(self.request.user, self.user) + + def test_user_can_login(self): + login(self.request, self.user) + self.assertEqual(self.request.user, self.user) + + def test_user_can_logout(self): + self.request.user = self.user + self.assertFalse(self.request.user.is_anonymous()) + logout(self.request) + self.assertTrue(self.request.user.is_anonymous()) + + +class TestAuthSetter(TestCase): + + def test_auth_can_be_set(self): + request = Request(factory.get('/')) + request.auth = 'DUMMY' + self.assertEqual(request.auth, 'DUMMY') |
