# DRF Rack # Библиотека классов расширений для Django REST Framework # # Автор: Николай В. Анохин # Все права защищены. Лицензия: 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)