Фиксируем модели, UserStory и тесты
This commit is contained in:
12
net/xeaf/rack/management/userstory/__init__.py
Normal file
12
net/xeaf/rack/management/userstory/__init__.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# DRF Rack
|
||||
# Библиотека классов расширений для Django REST Framework
|
||||
#
|
||||
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
||||
# Все права защищены. Лицензия: MIT
|
||||
|
||||
"""
|
||||
Пакет классов создания тестовой БД
|
||||
"""
|
||||
|
||||
from .account_test_data import AccountTestData
|
||||
from .session_test_data import SessionTestData
|
||||
68
net/xeaf/rack/management/userstory/account_test_data.py
Normal file
68
net/xeaf/rack/management/userstory/account_test_data.py
Normal file
@@ -0,0 +1,68 @@
|
||||
# DRF Rack
|
||||
# Библиотека классов расширений для Django REST Framework
|
||||
#
|
||||
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
||||
# Все права защищены. Лицензия: MIT
|
||||
|
||||
"""
|
||||
Описание класса AccountTestData
|
||||
"""
|
||||
|
||||
import uuid
|
||||
|
||||
from net.xeaf.rack.models import AccountModel
|
||||
|
||||
|
||||
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.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.save()
|
||||
|
||||
62
net/xeaf/rack/management/userstory/session_test_data.py
Normal file
62
net/xeaf/rack/management/userstory/session_test_data.py
Normal file
@@ -0,0 +1,62 @@
|
||||
# DRF Rack
|
||||
# Библиотека классов расширений для Django REST Framework
|
||||
#
|
||||
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
||||
# Все права защищены. Лицензия: MIT
|
||||
|
||||
"""
|
||||
Описание класса SessionTestData
|
||||
"""
|
||||
|
||||
from net.xeaf.rack.models import SessionModel
|
||||
from .account_test_data import AccountTestData
|
||||
|
||||
|
||||
class SessionTestData:
|
||||
"""
|
||||
Инициализирует модели данных тестовых Сессий пользователей
|
||||
"""
|
||||
|
||||
I_IVANOV_SESSION_TOKEN = "ced4217bbd12b10a59a3f9342164793819a29238"
|
||||
""" Токен сессии пользователя Иван И. Иванов """
|
||||
|
||||
P_PETROV_SESSION_TOKEN = "1e20d0f236efdda2f31688b6c176bf817cb3357e"
|
||||
""" Токен сессии пользователя Петр П. Петров """
|
||||
|
||||
TEST_SESSION_TTL = 3600
|
||||
""" Время жизни тестовой сессии """
|
||||
|
||||
@classmethod
|
||||
def init_sessions(cls):
|
||||
"""
|
||||
Инициализирует сессии для тестовых пользователей
|
||||
"""
|
||||
|
||||
cls.init_i_ivanov_session()
|
||||
cls.init_p_petrov_session()
|
||||
|
||||
@classmethod
|
||||
def init_i_ivanov_session(cls):
|
||||
"""
|
||||
Создает Сессию для пользователя Иван И. Иванов
|
||||
"""
|
||||
|
||||
session = SessionModel()
|
||||
session.token = cls.I_IVANOV_SESSION_TOKEN
|
||||
session.account_id = AccountTestData.I_IVANOV_ID
|
||||
session.actual_account_id = AccountTestData.I_IVANOV_ID
|
||||
session.renew(cls.TEST_SESSION_TTL)
|
||||
session.save()
|
||||
|
||||
@classmethod
|
||||
def init_p_petrov_session(cls):
|
||||
"""
|
||||
Создает Сессию для пользователя Петр П. Петров
|
||||
"""
|
||||
|
||||
session = SessionModel()
|
||||
session.token = cls.P_PETROV_SESSION_TOKEN
|
||||
session.account_id = AccountTestData.P_PETROV_ID
|
||||
session.actual_account_id = AccountTestData.P_PETROV_ID
|
||||
session.renew(cls.TEST_SESSION_TTL)
|
||||
session.save()
|
||||
Reference in New Issue
Block a user