import unittest from django.test import RequestFactory from django.contrib.auth.models import User, AnonymousUser class StubPasswordBackend(object): """ Stub backend Always authenticates when the password matches self.password """ password = "stub" def authenticate(self, username, password): if password == self.password: return User() class FooPasswordBackend(StubPasswordBackend): password = "foo" class BaseTestCase(unittest.TestCase): def setUp(self): self.request = self.get("/foo") self.request.session = {} self.setUser(AnonymousUser()) def get(self, *args, **kwargs): return RequestFactory().get(*args, **kwargs) def post(self, *args, **kwargs): return RequestFactory().post(*args, **kwargs) def setUser(self, user): self.user = self.request.user = user def login(self, user_class=User): user = user_class() self.setUser(user)