feat dev6
This commit is contained in:
33
py-client/tests/test_signal.py
Normal file
33
py-client/tests/test_signal.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from types import SimpleNamespace
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
|
||||
from libs.signal import SignalResult, fetch_signal, init_signals
|
||||
|
||||
|
||||
class SignalTests(unittest.TestCase):
|
||||
def test_fetch_failure_returns_empty_result(self):
|
||||
with patch("libs.signal.get_json", side_effect=OSError("offline")):
|
||||
self.assertEqual(fetch_signal("http://example", "/signals"), SignalResult())
|
||||
|
||||
def test_init_signals_continues_after_fetch_failure(self):
|
||||
config = SimpleNamespace(
|
||||
api_host="http://example",
|
||||
signals={
|
||||
"failed": SimpleNamespace(url="/failed"),
|
||||
"working": SimpleNamespace(url="/working"),
|
||||
},
|
||||
)
|
||||
responses = [
|
||||
SignalResult(),
|
||||
SignalResult(data={"000001.SZ": SimpleNamespace(signal_key="")}),
|
||||
]
|
||||
with patch("libs.signal.fetch_signal", side_effect=responses):
|
||||
result = init_signals(config, ["failed", "working"])
|
||||
|
||||
self.assertEqual(len(result), 1)
|
||||
self.assertEqual(result[0].signal_key, "working")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user