's'
This commit is contained in:
49
tests/test_config_governance.py
Normal file
49
tests/test_config_governance.py
Normal file
@@ -0,0 +1,49 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user