feat(generator): добавлено модельное время live-потока
- Зачем: - генератор должен писать события от модельной точки T0 и проверяться повторяемо в ClickHouse. - Что: - добавлены настройки модельного времени и передача модельной точки в live-тик. - дневной коэффициент считается по модельному времени и часовому поясу. - обновлены проверки, compose, документация и статус issue 02. - Проверка: - make generator-test. - два чистых ClickHouse-прогона с GEN_STATE_RESET=true дали одинаковые контрольные числа.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
import pytest
|
||||
from generator import Config
|
||||
@@ -60,6 +61,24 @@ class TestConfigValidation:
|
||||
assert base_config.jitter_pct == 20
|
||||
assert base_config.max_active_sessions < base_config.population_max
|
||||
|
||||
def test_model_t0_is_normalized_to_utc(self, base_config):
|
||||
"""model_t0 нормализуется к UTC даже при прямом создании Config."""
|
||||
from dataclasses import replace
|
||||
|
||||
config = replace(
|
||||
base_config,
|
||||
model_t0=datetime(
|
||||
2026,
|
||||
1,
|
||||
1,
|
||||
13,
|
||||
0,
|
||||
tzinfo=timezone(timedelta(hours=3)),
|
||||
),
|
||||
)
|
||||
|
||||
assert config.model_t0 == datetime(2026, 1, 1, 10, 0, tzinfo=timezone.utc)
|
||||
|
||||
|
||||
class TestConfigDefaults:
|
||||
"""Тесты значений по умолчанию."""
|
||||
|
||||
Reference in New Issue
Block a user