Files
gitlab-instance-0a899031_do…/tests/test_config_governance.py
2026-03-29 00:34:53 -05:00

50 lines
1.9 KiB
Python

from __future__ import annotations
import unittest
from src.config_governance import analyze_content, optimize_content
class ConfigGovernanceTests(unittest.TestCase):
def test_url_config_detects_duplicates(self) -> None:
sample = "\n".join(
[
"https://live.douyin.com/123456,主播A",
"https://live.douyin.com/123456,主播A重复",
"# https://live.douyin.com/999999",
"https://www.tiktok.com/@demo/live",
]
)
result = analyze_content("app-config", "URL_config.ini", sample, source="draft")
codes = {item["code"] for item in result["issues"]}
self.assertIn("duplicate_urls", codes)
self.assertTrue(any(item["id"] == "dedupe_urls" for item in result["actions"]))
def test_dedupe_urls_keeps_single_active_copy(self) -> None:
sample = "\n".join(
[
"# keep comment",
"https://live.douyin.com/123456",
"https://live.douyin.com/123456",
"https://live.douyin.com/654321",
]
)
result = optimize_content("app-config", "URL_config.ini", "dedupe_urls", sample)
content = result["content"]
self.assertEqual(content.count("https://live.douyin.com/123456"), 1)
self.assertIn("# keep comment", content)
self.assertIn("https://live.douyin.com/654321", content)
def test_youtube_preset_preserves_key_and_enables_balanced_defaults(self) -> None:
sample = "[youtube]\nkey = demo-key\nrtmps = 否\nfast_audio = 0\n"
result = optimize_content("app-config", "youtube.ini", "youtube_balanced_preset", sample)
content = result["content"]
self.assertIn("key = demo-key", content)
self.assertIn("rtmps = 是", content)
self.assertIn("bitrate = 4500", content)
self.assertIn("fast_audio = 1", content)
if __name__ == "__main__":
unittest.main()