Merge pull request 'signalモジュールのimport漏れを修正' (#2) from codex/fix-signal-import into main
Validate and publish container image / build (push) Successful in 9m10s
Validate and publish container image / build (push) Successful in 9m10s
Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user