first commit
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import os
|
||||
|
||||
from packages.config.settings import get_settings
|
||||
from packages.notify import wecom
|
||||
|
||||
|
||||
def _with_env(**kwargs):
|
||||
old = {}
|
||||
for k, v in kwargs.items():
|
||||
old[k] = os.environ.get(k)
|
||||
os.environ[k] = v
|
||||
get_settings.cache_clear()
|
||||
return old
|
||||
|
||||
|
||||
def _restore(old: dict):
|
||||
for k, v in old.items():
|
||||
if v is None:
|
||||
os.environ.pop(k, None)
|
||||
else:
|
||||
os.environ[k] = v
|
||||
get_settings.cache_clear()
|
||||
|
||||
|
||||
def test_build_markdown_contains_tag():
|
||||
md = wecom.build_markdown(tag="FAULT", title="测试", lines=["a", "b"])
|
||||
assert "`FAULT`" in md
|
||||
assert "比特骆驼行情采集分析" in md
|
||||
assert "测试" in md
|
||||
|
||||
|
||||
def test_fault_below_threshold():
|
||||
wecom.reset_alert_state()
|
||||
old = _with_env(WECOM_ENABLED="0", ALERT_FAIL_THRESHOLD="5")
|
||||
try:
|
||||
ok, msg = wecom.notify_collector_fault(error="x", consecutive_failures=2)
|
||||
assert ok is False
|
||||
assert "below threshold" in msg
|
||||
finally:
|
||||
_restore(old)
|
||||
wecom.reset_alert_state()
|
||||
|
||||
|
||||
def test_fault_when_disabled():
|
||||
wecom.reset_alert_state()
|
||||
old = _with_env(WECOM_ENABLED="0", ALERT_FAIL_THRESHOLD="3")
|
||||
try:
|
||||
ok, msg = wecom.notify_collector_fault(error="boom", consecutive_failures=3)
|
||||
assert ok is False
|
||||
assert "未开启" in msg
|
||||
ok2, msg2 = wecom.notify_collector_fault(error="boom", consecutive_failures=3)
|
||||
assert ok2 is False
|
||||
assert msg2 == "dedup"
|
||||
finally:
|
||||
_restore(old)
|
||||
wecom.reset_alert_state()
|
||||
Reference in New Issue
Block a user