37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
|
|
"""Tests for cron/scheduler.py — origin resolution and delivery routing."""
|
||
|
|
|
||
|
|
import pytest
|
||
|
|
|
||
|
|
from cron.scheduler import _resolve_origin
|
||
|
|
|
||
|
|
|
||
|
|
class TestResolveOrigin:
|
||
|
|
def test_full_origin(self):
|
||
|
|
job = {
|
||
|
|
"origin": {
|
||
|
|
"platform": "telegram",
|
||
|
|
"chat_id": "123456",
|
||
|
|
"chat_name": "Test Chat",
|
||
|
|
}
|
||
|
|
}
|
||
|
|
result = _resolve_origin(job)
|
||
|
|
assert result is not None
|
||
|
|
assert result["platform"] == "telegram"
|
||
|
|
assert result["chat_id"] == "123456"
|
||
|
|
|
||
|
|
def test_no_origin(self):
|
||
|
|
assert _resolve_origin({}) is None
|
||
|
|
assert _resolve_origin({"origin": None}) is None
|
||
|
|
|
||
|
|
def test_missing_platform(self):
|
||
|
|
job = {"origin": {"chat_id": "123"}}
|
||
|
|
assert _resolve_origin(job) is None
|
||
|
|
|
||
|
|
def test_missing_chat_id(self):
|
||
|
|
job = {"origin": {"platform": "telegram"}}
|
||
|
|
assert _resolve_origin(job) is None
|
||
|
|
|
||
|
|
def test_empty_origin(self):
|
||
|
|
job = {"origin": {}}
|
||
|
|
assert _resolve_origin(job) is None
|