diff --git a/cron/scheduler.py b/cron/scheduler.py index d527a2260..28c905713 100644 --- a/cron/scheduler.py +++ b/cron/scheduler.py @@ -59,10 +59,13 @@ _HOME_TARGET_ENV_VARS = { "signal": "SIGNAL_HOME_CHANNEL", "mattermost": "MATTERMOST_HOME_CHANNEL", "sms": "SMS_HOME_CHANNEL", + "email": "EMAIL_HOME_ADDRESS", + "dingtalk": "DINGTALK_HOME_CHANNEL", "feishu": "FEISHU_HOME_CHANNEL", "wecom": "WECOM_HOME_CHANNEL", "weixin": "WEIXIN_HOME_CHANNEL", "bluebubbles": "BLUEBUBBLES_HOME_CHANNEL", + "qqbot": "QQ_HOME_CHANNEL", } from cron.jobs import get_due_jobs, mark_job_run, save_job_output, advance_next_run diff --git a/tests/cron/test_scheduler.py b/tests/cron/test_scheduler.py index 0877564fe..2717584e4 100644 --- a/tests/cron/test_scheduler.py +++ b/tests/cron/test_scheduler.py @@ -71,9 +71,12 @@ class TestResolveDeliveryTarget: ("signal", "SIGNAL_HOME_CHANNEL", "+15551234567"), ("mattermost", "MATTERMOST_HOME_CHANNEL", "team-town-square"), ("sms", "SMS_HOME_CHANNEL", "+15557654321"), + ("email", "EMAIL_HOME_ADDRESS", "home@example.com"), + ("dingtalk", "DINGTALK_HOME_CHANNEL", "cidNNN"), ("feishu", "FEISHU_HOME_CHANNEL", "oc_home"), ("wecom", "WECOM_HOME_CHANNEL", "wecom-home"), ("weixin", "WEIXIN_HOME_CHANNEL", "wxid_home"), + ("qqbot", "QQ_HOME_CHANNEL", "group-openid-home"), ], ) def test_origin_delivery_without_origin_falls_back_to_supported_home_channels( @@ -88,10 +91,13 @@ class TestResolveDeliveryTarget: "SIGNAL_HOME_CHANNEL", "MATTERMOST_HOME_CHANNEL", "SMS_HOME_CHANNEL", + "EMAIL_HOME_ADDRESS", + "DINGTALK_HOME_CHANNEL", "BLUEBUBBLES_HOME_CHANNEL", "FEISHU_HOME_CHANNEL", "WECOM_HOME_CHANNEL", "WEIXIN_HOME_CHANNEL", + "QQ_HOME_CHANNEL", ): monkeypatch.delenv(fallback_env, raising=False) monkeypatch.setenv(env_var, chat_id) diff --git a/tests/gateway/test_weixin.py b/tests/gateway/test_weixin.py index cd911e80b..a0dfbbb8f 100644 --- a/tests/gateway/test_weixin.py +++ b/tests/gateway/test_weixin.py @@ -527,6 +527,7 @@ class TestWeixinSendImageFileParameterName: """Verify send_image_file accepts image_path and forwards to send_document.""" adapter = _make_adapter() adapter._session = object() + adapter._send_session = adapter._session adapter._token = "test-token" send_document_mock.return_value = weixin.SendResult(success=True, message_id="test-id") @@ -554,6 +555,7 @@ class TestWeixinSendImageFileParameterName: """Verify send_image_file works with minimal required params.""" adapter = _make_adapter() adapter._session = object() + adapter._send_session = adapter._session adapter._token = "test-token" send_document_mock.return_value = weixin.SendResult(success=True, message_id="test-id") @@ -578,6 +580,7 @@ class TestWeixinVoiceSending: def _connected_adapter(self) -> WeixinAdapter: adapter = _make_adapter() adapter._session = object() + adapter._send_session = adapter._session adapter._token = "test-token" adapter._base_url = "https://weixin.example.com" adapter._token_store.get = lambda account_id, chat_id: "ctx-token"