- Add Celery synchronous execution settings for tests * CELERY_TASK_ALWAYS_EAGER = True (no separate worker needed) * CELERY_TASK_EAGER_PROPAGATES = True * Use memory broker/backend for tests - Add performance marker to pytest.ini * Allows marking tests with @pytest.mark.performance - Setup Redis server via systemd * Enabled redis-server.service for autostart * Redis runs on 127.0.0.1:6379 - Update .gitignore to exclude dump.rdb (Redis dump file) Integration tests status: - 26/47 tests passing (55%) - 21 tests failing due to missing NotificationType fixtures - Tests no longer hang (Celery executes synchronously) Note: Integration tests require NotificationType fixtures to be created before document operations trigger notification signals.
19 lines
560 B
Python
19 lines
560 B
Python
"""
|
|
Настройки для тестов - используют InMemoryChannelLayer вместо Redis.
|
|
"""
|
|
|
|
from .settings import * # noqa
|
|
|
|
# Используем InMemoryChannelLayer для тестов
|
|
CHANNEL_LAYERS = {
|
|
"default": {
|
|
"BACKEND": "channels.layers.InMemoryChannelLayer"
|
|
}
|
|
}
|
|
|
|
# Celery - синхронное выполнение в тестах (без отдельного worker)
|
|
CELERY_TASK_ALWAYS_EAGER = True
|
|
CELERY_TASK_EAGER_PROPAGATES = True
|
|
CELERY_BROKER_URL = 'memory://'
|
|
CELERY_RESULT_BACKEND = 'cache+memory://'
|