1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from django.contrib.auth.models import AbstractBaseUser, AnonymousUser, User
- from django.db import models
- from django.test import RequestFactory, TestCase
- class StubPasswordBackend:
- """Stub backend
- Always authenticates when the password matches self.password
- """
- password = "stub"
- def authenticate(self, request, username, password):
- if password == self.password:
- return User()
- class FooPasswordBackend(StubPasswordBackend):
- password = "foo"
- class BaseTestCase(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)
- class EmailUser(AbstractBaseUser):
- email = models.CharField(max_length=254, unique=True)
- USERNAME_FIELD = "email"
- def get_username(self):
- return self.email
- class Meta:
- app_label = "sudo_tests"
|