fix(generator): исключено смешение миров при запуске
- Зачем: - старый state и ручной live-генератор могли тихо писать события в новый мир данных. - Что: - добавлена общая проверка чистого стенда для Airflow и host-путей. - защищены backfill, import, continue и clean-start сценарии live-generator. - описан миграционный отказ старого state. - Проверка: - make generator-test; docker compose config --quiet; py_compile; bash -n.
This commit is contained in:
@@ -10,6 +10,7 @@ from unittest.mock import MagicMock, patch
|
||||
import pytest
|
||||
|
||||
from generator import GeneratorState, KafkaStateManager
|
||||
from clickstream_generator.state import UnsupportedStateVersionError
|
||||
|
||||
|
||||
def _make_valid_rng_state(seed: int = 42):
|
||||
@@ -423,6 +424,14 @@ class TestGeneratorStateValidation:
|
||||
with pytest.raises(ValueError, match="version"):
|
||||
GeneratorState.from_dict(data)
|
||||
|
||||
def test_from_dict_rejects_known_old_state_version_loudly(self):
|
||||
"""Известная старая версия state даёт отдельную ошибку миграции."""
|
||||
data = _make_valid_state_data()
|
||||
data["version"] = "2.0"
|
||||
|
||||
with pytest.raises(UnsupportedStateVersionError, match="2.0.*3.0"):
|
||||
GeneratorState.from_dict(data)
|
||||
|
||||
|
||||
class TestKafkaStateManager:
|
||||
"""Тесты менеджера состояния."""
|
||||
|
||||
Reference in New Issue
Block a user