44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
import sys
|
|
import os
|
|
|
|
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
from telegram_notifier import notifier
|
|
from config import save_config, load_config
|
|
|
|
def test_telegram_toggle():
|
|
print("Testing Telegram Toggle...")
|
|
original_config = load_config()
|
|
|
|
try:
|
|
# 1. Enable
|
|
print("1. Testing ENABLED...")
|
|
cfg = load_config()
|
|
if 'preferences' not in cfg: cfg['preferences'] = {}
|
|
cfg['preferences']['enable_telegram'] = True
|
|
save_config(cfg)
|
|
|
|
# We can't easily mock requests.post here without importing mock,
|
|
# but we can check if it attempts to read credentials.
|
|
# Ideally, we'd check if it returns early.
|
|
# For this environment, let's just ensure no crash.
|
|
notifier.send_message("Test Message (Should Send)")
|
|
|
|
# 2. Disable
|
|
print("2. Testing DISABLED...")
|
|
cfg['preferences']['enable_telegram'] = False
|
|
save_config(cfg)
|
|
|
|
# This should return early and NOT log "Telegram credentials missing" if implemented right.
|
|
notifier.send_message("Test Message (Should NOT Send)")
|
|
|
|
print("Toggle logic executed without error.")
|
|
|
|
finally:
|
|
# Restore
|
|
save_config(original_config)
|
|
print("Original config restored.")
|
|
|
|
if __name__ == "__main__":
|
|
test_telegram_toggle()
|