- Added `ca-certificates` installation to Dockerfile for improved network security. - Updated health check command in Dockerfile to include better timeout handling. - Refactored `run_helper.py` to implement proper signal handling and logging during shutdown. - Transitioned database operations to an asynchronous model in `async_db.py`, improving performance and responsiveness. - Updated database schema to support new foreign key relationships and optimized indexing for better query performance. - Enhanced various bot handlers to utilize async database methods, improving overall efficiency and user experience. - Removed obsolete database and fix scripts to streamline the project structure.
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
"""
|
|
Моки для тестового окружения
|
|
"""
|
|
import sys
|
|
import os
|
|
from unittest.mock import Mock, patch
|
|
|
|
# Патчим загрузку настроек до импорта модулей
|
|
def setup_test_mocks():
|
|
"""Настройка моков для тестов"""
|
|
# Мокаем os.getenv
|
|
mock_env_vars = {
|
|
'BOT_TOKEN': 'test_token_123',
|
|
'LISTEN_BOT_TOKEN': '',
|
|
'TEST_BOT_TOKEN': '',
|
|
'PREVIEW_LINK': 'False',
|
|
'MAIN_PUBLIC': '@test',
|
|
'GROUP_FOR_POSTS': '-1001234567890',
|
|
'GROUP_FOR_MESSAGE': '-1001234567891',
|
|
'GROUP_FOR_LOGS': '-1001234567893',
|
|
'IMPORTANT_LOGS': '-1001234567894',
|
|
'TEST_GROUP': '-1001234567895',
|
|
'LOGS': 'True',
|
|
'TEST': 'False',
|
|
'DATABASE_PATH': 'database/test.db'
|
|
}
|
|
|
|
def mock_getenv(key, default=None):
|
|
return mock_env_vars.get(key, default)
|
|
|
|
env_patcher = patch('os.getenv', side_effect=mock_getenv)
|
|
env_patcher.start()
|
|
|
|
# Мокаем AsyncBotDB
|
|
mock_db = Mock()
|
|
db_patcher = patch('helper_bot.utils.base_dependency_factory.AsyncBotDB', mock_db)
|
|
db_patcher.start()
|
|
|
|
return env_patcher, db_patcher
|
|
|
|
# Настраиваем моки при импорте модуля
|
|
env_patcher, db_patcher = setup_test_mocks() |