1 Commits

Author SHA1 Message Date
Agents AI a527f14a57 signalモジュールのimport漏れを修正
Validate and publish container image / build (pull_request) Successful in 5m46s
2026-07-20 09:18:05 +09:00
2 changed files with 23 additions and 0 deletions
+1
View File
@@ -14,6 +14,7 @@ import logging
import requests import requests
from datetime import datetime, timezone from datetime import datetime, timezone
from typing import Dict, List, Optional from typing import Dict, List, Optional
import signal
import threading import threading
from http.server import HTTPServer, BaseHTTPRequestHandler from http.server import HTTPServer, BaseHTTPRequestHandler
from dataclasses import dataclass from dataclasses import dataclass
+22
View File
@@ -1,4 +1,8 @@
import os import os
import signal
import app
import unittest import unittest
from unittest.mock import Mock, patch from unittest.mock import Mock, patch
@@ -152,5 +156,23 @@ class EmailMonitorNotificationTests(unittest.TestCase):
mark_read.assert_called_once_with("42") mark_read.assert_called_once_with("42")
class ApplicationStartupTests(unittest.TestCase):
@patch.dict(os.environ, {**EMAIL_ENV, "DISCORD_WEBHOOK_URL": "https://discord.example/webhook"}, clear=True)
@patch("app.run_http_server")
@patch("app.threading.Thread")
@patch("app.signal.signal")
def test_main_registers_signal_handlers_and_starts_services(
self, register_signal, thread_class, run_http_server
):
monitor_thread = thread_class.return_value
app.main()
registered_signals = [call.args[0] for call in register_signal.call_args_list]
self.assertEqual(registered_signals, [signal.SIGINT, signal.SIGTERM])
monitor_thread.start.assert_called_once_with()
run_http_server.assert_called_once_with()
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()