87 lines
2.7 KiB
Python
87 lines
2.7 KiB
Python
# DRF Rack
|
|
# Библиотека классов расширений для Django REST Framework
|
|
#
|
|
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
|
# Все права защищены. Лицензия: MIT
|
|
|
|
"""
|
|
Описание класса AccountTestData
|
|
"""
|
|
|
|
import uuid
|
|
|
|
from net.xeaf.rack.models import AccountModel
|
|
from net.xeaf.rack.utils import DateUtils
|
|
|
|
|
|
class AccountTestData:
|
|
"""
|
|
Инициализирует модели данных тестовых Аккаунтов
|
|
"""
|
|
|
|
I_IVANOV_ID = uuid.UUID("bd428358-6944-4657-8044-a3dc1c4dff8a")
|
|
""" Идентификатор пользователя Иван И. Иванов """
|
|
|
|
P_PETROV_ID = uuid.UUID("9c5010cc-f3be-42ae-bc05-d142d68a610a")
|
|
""" Идентификатор пользователя Петр П. Петров """
|
|
|
|
DEFAULT_PASSWORD = "manager123!"
|
|
""" Пароль по умолчанию для тестов """
|
|
|
|
@classmethod
|
|
def init_accounts(cls):
|
|
"""
|
|
Инициализирует Аккаунты пользователя
|
|
"""
|
|
|
|
cls.init_i_ivanov_account()
|
|
cls.init_p_petrov_account()
|
|
|
|
@classmethod
|
|
def init_i_ivanov_account(cls):
|
|
"""
|
|
Инициализирует Аккаунт пользователя Иван И. Иванов
|
|
"""
|
|
|
|
account = AccountModel()
|
|
account.id = cls.I_IVANOV_ID
|
|
account.username = "i.ivanov@xeaf.net"
|
|
account.nick_name = "Иван"
|
|
account.full_name = "Иван И. Иванов"
|
|
account.email = "i.ivanov@xeaf.net"
|
|
account.set_password(cls.DEFAULT_PASSWORD)
|
|
account.joined_at = DateUtils.now()
|
|
account.save()
|
|
|
|
@classmethod
|
|
def init_p_petrov_account(cls):
|
|
"""
|
|
Инициализирует Аккаунт пользователя Петр П. Петров
|
|
"""
|
|
|
|
account = AccountModel()
|
|
account.id = cls.P_PETROV_ID
|
|
account.username = "p.petrov@xeaf.net"
|
|
account.nick_name = "Петр"
|
|
account.full_name = "Петр П. Петров"
|
|
account.email = "p.petrov@xeaf.net"
|
|
account.set_password(cls.DEFAULT_PASSWORD)
|
|
account.joined_at = DateUtils.now()
|
|
account.save()
|
|
|
|
@classmethod
|
|
def get_i_ivanov_account(cls):
|
|
"""
|
|
Возвращает аккаунт пользователя Иван И. Иванов
|
|
"""
|
|
|
|
return AccountModel.objects.get(id=cls.I_IVANOV_ID)
|
|
|
|
@classmethod
|
|
def get_p_petrov_account(cls):
|
|
"""
|
|
Возвращает аккаунт пользователя Петр П. Петров
|
|
"""
|
|
|
|
return AccountModel.objects.get(id=cls.P_PETROV_ID)
|