🔧 Force override CSRF_TRUSTED_ORIGINS in test settings
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
✅ Fixed Django 4.0+ compliance: - Explicitly override CSRF_TRUSTED_ORIGINS after settings import - Added debug prints to verify correct values - Disabled Telegram bot initialization in tests - Ensured proper scheme formatting (http://, https://) 🧪 Test environment improvements: - Clear separation from production CSRF settings - Better error handling for missing database connections - Comprehensive debug output for troubleshooting Should resolve 4_0.E001 error in CI pipeline.
This commit is contained in:
@@ -6,6 +6,17 @@ from .settings import *
|
||||
|
||||
print("🧪 Test settings loaded")
|
||||
|
||||
# ВАЖНО: Переопределяем CSRF_TRUSTED_ORIGINS сразу после импорта
|
||||
# так как settings.py устанавливает пустое значение
|
||||
CSRF_TRUSTED_ORIGINS = [
|
||||
'http://localhost',
|
||||
'http://127.0.0.1',
|
||||
'http://postgres',
|
||||
'https://smartsoltech.kr'
|
||||
]
|
||||
|
||||
print("🔒 CSRF_TRUSTED_ORIGINS переопределен:", CSRF_TRUSTED_ORIGINS)
|
||||
|
||||
# База данных для тестирования
|
||||
DATABASES = {
|
||||
'default': dj_database_url.config(
|
||||
@@ -31,15 +42,8 @@ DEBUG = os.environ.get('DEBUG', 'False').lower() in ['true', '1', 'yes']
|
||||
# Разрешенные хосты для CI
|
||||
ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', 'localhost,127.0.0.1,postgres,*').split(',')
|
||||
|
||||
# CSRF настройки для тестирования
|
||||
CSRF_TRUSTED_ORIGINS = [
|
||||
'http://localhost',
|
||||
'http://127.0.0.1',
|
||||
'http://postgres',
|
||||
'https://smartsoltech.kr'
|
||||
]
|
||||
|
||||
print("🌐 Allowed hosts:", ALLOWED_HOSTS)
|
||||
print("🔒 CSRF trusted origins:", CSRF_TRUSTED_ORIGINS)
|
||||
|
||||
# Упрощенный хеширователь паролей для быстрых тестов
|
||||
PASSWORD_HASHERS = [
|
||||
@@ -98,6 +102,9 @@ STATIC_ROOT = '/tmp/static_test/'
|
||||
# Telegram Bot настройки для тестирования
|
||||
TELEGRAM_BOT_TOKEN = os.environ.get('TELEGRAM_BOT_TOKEN', 'test-token')
|
||||
|
||||
# Отключаем инициализацию Telegram бота в тестах
|
||||
TELEGRAM_BOT_ENABLED = False
|
||||
|
||||
# Отключаем CSRF для API тестов
|
||||
if 'test' in sys.argv:
|
||||
CSRF_COOKIE_SECURE = False
|
||||
|
||||
Reference in New Issue
Block a user