83 lines
2.6 KiB
Python
83 lines
2.6 KiB
Python
# 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:
|
|
"""
|
|
Инициализирует модели данных тестовых Сессий пользователей
|
|
"""
|
|
|
|
IVANOV_SESSION_TOKEN = "ced4217bbd12b10a59a3f9342164793819a29238"
|
|
""" Токен сессии пользователя Иван Иванов """
|
|
|
|
PETROV_SESSION_TOKEN = "1e20d0f236efdda2f31688b6c176bf817cb3357e"
|
|
""" Токен сессии пользователя Петр Петров """
|
|
|
|
TEST_SESSION_TTL = 3600
|
|
""" Время жизни тестовой сессии """
|
|
|
|
@classmethod
|
|
def init_sessions(cls):
|
|
"""
|
|
Инициализирует сессии для тестовых пользователей
|
|
"""
|
|
|
|
cls.init_ivanov_session()
|
|
cls.init_petrov_session()
|
|
|
|
@classmethod
|
|
def init_ivanov_session(cls):
|
|
"""
|
|
Создает Сессию для пользователя Иван Иванов
|
|
"""
|
|
|
|
session = SessionModel()
|
|
session.token = cls.IVANOV_SESSION_TOKEN
|
|
session.account_id = AccountTestData.IVANOV_ID
|
|
session.actual_account_id = AccountTestData.IVANOV_ID
|
|
session.renew(cls.TEST_SESSION_TTL)
|
|
session.save()
|
|
|
|
@classmethod
|
|
def init_petrov_session(cls):
|
|
"""
|
|
Создает Сессию для пользователя Петр Петров
|
|
"""
|
|
|
|
session = SessionModel()
|
|
session.token = cls.PETROV_SESSION_TOKEN
|
|
session.account_id = AccountTestData.PETROV_ID
|
|
session.actual_account_id = AccountTestData.PETROV_ID
|
|
session.renew(cls.TEST_SESSION_TTL)
|
|
session.save()
|
|
|
|
@classmethod
|
|
def get_ivanov_session(cls) -> SessionModel:
|
|
"""
|
|
Возвращает сессию пользователя Иван Иванов
|
|
|
|
:return: Сессия пользователя Иван Иванов
|
|
"""
|
|
|
|
return SessionModel.objects.get(token=cls.IVANOV_SESSION_TOKEN)
|
|
|
|
@classmethod
|
|
def get_petrov_session(cls) -> SessionModel:
|
|
"""
|
|
Возвращает сессию пользователя Петр Петров
|
|
|
|
:return: Сессия пользователя Петр Петров
|
|
"""
|
|
|
|
return SessionModel.objects.get(token=cls.PETROV_SESSION_TOKEN)
|