summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/django/contrib/auth/tests/custom_user.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/auth/tests/custom_user.py')
-rw-r--r--lib/python2.7/site-packages/django/contrib/auth/tests/custom_user.py200
1 files changed, 0 insertions, 200 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/auth/tests/custom_user.py b/lib/python2.7/site-packages/django/contrib/auth/tests/custom_user.py
deleted file mode 100644
index 394baa3..0000000
--- a/lib/python2.7/site-packages/django/contrib/auth/tests/custom_user.py
+++ /dev/null
@@ -1,200 +0,0 @@
-from django.db import models
-from django.contrib.auth.models import (
- BaseUserManager,
- AbstractBaseUser,
- AbstractUser,
- UserManager,
- PermissionsMixin,
- Group,
- Permission,
-)
-
-
-# The custom User uses email as the unique identifier, and requires
-# that every user provide a date of birth. This lets us test
-# changes in username datatype, and non-text required fields.
-
-class CustomUserManager(BaseUserManager):
- def create_user(self, email, date_of_birth, password=None):
- """
- Creates and saves a User with the given email and password.
- """
- if not email:
- raise ValueError('Users must have an email address')
-
- user = self.model(
- email=self.normalize_email(email),
- date_of_birth=date_of_birth,
- )
-
- user.set_password(password)
- user.save(using=self._db)
- return user
-
- def create_superuser(self, email, password, date_of_birth):
- u = self.create_user(email, password=password, date_of_birth=date_of_birth)
- u.is_admin = True
- u.save(using=self._db)
- return u
-
-
-class CustomUser(AbstractBaseUser):
- email = models.EmailField(verbose_name='email address', max_length=255, unique=True)
- is_active = models.BooleanField(default=True)
- is_admin = models.BooleanField(default=False)
- date_of_birth = models.DateField()
-
- custom_objects = CustomUserManager()
-
- USERNAME_FIELD = 'email'
- REQUIRED_FIELDS = ['date_of_birth']
-
- class Meta:
- app_label = 'auth'
-
- def get_full_name(self):
- return self.email
-
- def get_short_name(self):
- return self.email
-
- def __unicode__(self):
- return self.email
-
- # Maybe required?
- def get_group_permissions(self, obj=None):
- return set()
-
- def get_all_permissions(self, obj=None):
- return set()
-
- def has_perm(self, perm, obj=None):
- return True
-
- def has_perms(self, perm_list, obj=None):
- return True
-
- def has_module_perms(self, app_label):
- return True
-
- # Admin required fields
- @property
- def is_staff(self):
- return self.is_admin
-
-
-# At this point, temporarily remove the groups and user_permissions M2M
-# fields from the AbstractUser class, so they don't clash with the related_name
-# that sets.
-
-old_au_local_m2m = AbstractUser._meta.local_many_to_many
-old_pm_local_m2m = PermissionsMixin._meta.local_many_to_many
-groups = models.ManyToManyField(Group, blank=True)
-groups.contribute_to_class(PermissionsMixin, "groups")
-user_permissions = models.ManyToManyField(Permission, blank=True)
-user_permissions.contribute_to_class(PermissionsMixin, "user_permissions")
-PermissionsMixin._meta.local_many_to_many = [groups, user_permissions]
-AbstractUser._meta.local_many_to_many = [groups, user_permissions]
-
-
-# The extension user is a simple extension of the built-in user class,
-# adding a required date_of_birth field. This allows us to check for
-# any hard references to the name "User" in forms/handlers etc.
-
-class ExtensionUser(AbstractUser):
- date_of_birth = models.DateField()
-
- custom_objects = UserManager()
-
- REQUIRED_FIELDS = AbstractUser.REQUIRED_FIELDS + ['date_of_birth']
-
- class Meta:
- app_label = 'auth'
-
-
-# The CustomPermissionsUser users email as the identifier, but uses the normal
-# Django permissions model. This allows us to check that the PermissionsMixin
-# includes everything that is needed to interact with the ModelBackend.
-
-class CustomPermissionsUserManager(CustomUserManager):
- def create_superuser(self, email, password, date_of_birth):
- u = self.create_user(email, password=password, date_of_birth=date_of_birth)
- u.is_superuser = True
- u.save(using=self._db)
- return u
-
-
-class CustomPermissionsUser(AbstractBaseUser, PermissionsMixin):
- email = models.EmailField(verbose_name='email address', max_length=255, unique=True)
- date_of_birth = models.DateField()
-
- custom_objects = CustomPermissionsUserManager()
-
- USERNAME_FIELD = 'email'
- REQUIRED_FIELDS = ['date_of_birth']
-
- class Meta:
- app_label = 'auth'
-
- def get_full_name(self):
- return self.email
-
- def get_short_name(self):
- return self.email
-
- def __unicode__(self):
- return self.email
-
-
-class IsActiveTestUser1(AbstractBaseUser):
- """
- This test user class and derivatives test the default is_active behavior
- """
- username = models.CharField(max_length=30, unique=True)
-
- custom_objects = BaseUserManager()
-
- USERNAME_FIELD = 'username'
-
- class Meta:
- app_label = 'auth'
-
- # the is_active attr is provided by AbstractBaseUser
-
-
-class CustomUserNonUniqueUsername(AbstractBaseUser):
- "A user with a non-unique username"
- username = models.CharField(max_length=30)
-
- USERNAME_FIELD = 'username'
-
- class Meta:
- app_label = 'auth'
-
-
-class CustomUserNonListRequiredFields(AbstractBaseUser):
- "A user with a non-list REQUIRED_FIELDS"
- username = models.CharField(max_length=30, unique=True)
- date_of_birth = models.DateField()
-
- USERNAME_FIELD = 'username'
- REQUIRED_FIELDS = 'date_of_birth'
-
- class Meta:
- app_label = 'auth'
-
-
-class CustomUserBadRequiredFields(AbstractBaseUser):
- "A user with a non-unique username"
- username = models.CharField(max_length=30, unique=True)
- date_of_birth = models.DateField()
-
- USERNAME_FIELD = 'username'
- REQUIRED_FIELDS = ['username', 'date_of_birth']
-
- class Meta:
- app_label = 'auth'
-
-# Undo swap hack
-AbstractUser._meta.local_many_to_many = old_au_local_m2m
-PermissionsMixin._meta.local_many_to_many = old_pm_local_m2m