Files
roboco/tests/unit/config/test_release_manager_flag.py
T

39 lines
1.2 KiB
Python
Raw Normal View History

2026-06-26 01:43:08 +02:00
"""Gated release manager is gated by default-off config flags (mirrors self-heal)."""
from __future__ import annotations
import os
from unittest import mock
from roboco.config import Settings
from roboco.services.settings import FEATURE_FLAGS, validate_setting
_DEFAULT_MIN_COMMITS = 8
_DEFAULT_INTERVAL = 3600
def test_release_manager_disabled_by_default() -> None:
s = Settings()
assert s.release_manager_enabled is False
assert s.release_min_commits == _DEFAULT_MIN_COMMITS
assert s.release_manager_interval_seconds == _DEFAULT_INTERVAL
def test_release_manager_reads_env_var() -> None:
with mock.patch.dict(os.environ, {"ROBOCO_RELEASE_MANAGER_ENABLED": "true"}):
assert Settings().release_manager_enabled is True
def test_release_min_commits_reads_env_var() -> None:
override = 12
with mock.patch.dict(os.environ, {"ROBOCO_RELEASE_MIN_COMMITS": str(override)}):
assert Settings().release_min_commits == override
def test_release_manager_flag_registered_in_feature_flags() -> None:
assert "release_manager_enabled" in [key for key, _ in FEATURE_FLAGS]
def test_release_manager_flag_validates_as_bool() -> None:
validate_setting("release_manager_enabled", "true")