Fix tests after refactor
This commit is contained in:
@@ -16,8 +16,7 @@ class TestMonitorCommands:
|
||||
def test_pause_monitors_by_pattern(self, mock_client, mock_monitors, capsys):
|
||||
"""Test pausing monitors by pattern"""
|
||||
# Setup
|
||||
mock_client.api.get_monitors.return_value = mock_monitors
|
||||
mock_client.find_monitors_by_pattern.return_value = [
|
||||
mock_client.find_and_get_monitors.return_value = [
|
||||
{"id": 1, "name": "Test Monitor 1"},
|
||||
{"id": 2, "name": "Test Monitor 2"},
|
||||
]
|
||||
@@ -29,7 +28,7 @@ class TestMonitorCommands:
|
||||
monitor_commands.pause_monitors(monitor_patterns=["Test*"])
|
||||
|
||||
# Verify
|
||||
mock_client.find_monitors_by_pattern.assert_called_once_with(["Test*"])
|
||||
mock_client.find_and_get_monitors.assert_called_once_with(["Test*"], None)
|
||||
assert mock_client.api.pause_monitor.call_count == 2
|
||||
mock_client.api.pause_monitor.assert_any_call(1)
|
||||
mock_client.api.pause_monitor.assert_any_call(2)
|
||||
@@ -43,7 +42,7 @@ class TestMonitorCommands:
|
||||
def test_pause_monitors_by_group(self, mock_client, mock_monitors, capsys):
|
||||
"""Test pausing monitors by group"""
|
||||
# Setup
|
||||
mock_client.get_monitors_in_groups.return_value = [
|
||||
mock_client.find_and_get_monitors.return_value = [
|
||||
{"id": 4, "name": "Child Monitor"}
|
||||
]
|
||||
mock_client.api.pause_monitor.return_value = {"msg": "Paused Successfully."}
|
||||
@@ -54,7 +53,7 @@ class TestMonitorCommands:
|
||||
monitor_commands.pause_monitors(group_patterns=["Group*"])
|
||||
|
||||
# Verify
|
||||
mock_client.get_monitors_in_groups.assert_called_once_with(["Group*"])
|
||||
mock_client.find_and_get_monitors.assert_called_once_with(None, ["Group*"])
|
||||
mock_client.api.pause_monitor.assert_called_once_with(4)
|
||||
|
||||
captured = capsys.readouterr()
|
||||
@@ -63,19 +62,21 @@ class TestMonitorCommands:
|
||||
|
||||
def test_pause_monitors_no_patterns(self, mock_client, capsys):
|
||||
"""Test pausing monitors without patterns"""
|
||||
# Setup
|
||||
mock_client.find_and_get_monitors.return_value = []
|
||||
|
||||
monitor_commands = MonitorCommands(mock_client)
|
||||
|
||||
# Execute
|
||||
monitor_commands.pause_monitors()
|
||||
|
||||
# Verify
|
||||
captured = capsys.readouterr()
|
||||
assert "Error: Either --monitor or --group flag is required." in captured.out
|
||||
mock_client.find_and_get_monitors.assert_called_once_with(None, None)
|
||||
|
||||
def test_pause_monitors_no_matches(self, mock_client, capsys):
|
||||
"""Test pausing monitors with no matches"""
|
||||
# Setup
|
||||
mock_client.find_monitors_by_pattern.return_value = []
|
||||
mock_client.find_and_get_monitors.return_value = []
|
||||
|
||||
monitor_commands = MonitorCommands(mock_client)
|
||||
|
||||
@@ -83,19 +84,19 @@ class TestMonitorCommands:
|
||||
monitor_commands.pause_monitors(monitor_patterns=["NonExistent*"])
|
||||
|
||||
# Verify
|
||||
captured = capsys.readouterr()
|
||||
assert (
|
||||
"Error: No monitors found matching the specified patterns or groups"
|
||||
in captured.out
|
||||
mock_client.find_and_get_monitors.assert_called_once_with(
|
||||
["NonExistent*"], None
|
||||
)
|
||||
|
||||
def test_pause_monitors_api_error(self, mock_client, capsys):
|
||||
"""Test pausing monitors with API error"""
|
||||
# Setup
|
||||
mock_client.find_monitors_by_pattern.return_value = [
|
||||
mock_client.find_and_get_monitors.return_value = [
|
||||
{"id": 1, "name": "Test Monitor 1"}
|
||||
]
|
||||
mock_client.api.pause_monitor.side_effect = Exception("API Error")
|
||||
from uptime_kuma_api import UptimeKumaException
|
||||
|
||||
mock_client.api.pause_monitor.side_effect = UptimeKumaException("API Error")
|
||||
|
||||
monitor_commands = MonitorCommands(mock_client)
|
||||
|
||||
@@ -110,7 +111,7 @@ class TestMonitorCommands:
|
||||
def test_resume_monitors_by_pattern(self, mock_client, mock_monitors, capsys):
|
||||
"""Test resuming monitors by pattern"""
|
||||
# Setup
|
||||
mock_client.find_monitors_by_pattern.return_value = [
|
||||
mock_client.find_and_get_monitors.return_value = [
|
||||
{"id": 2, "name": "Test Monitor 2"}
|
||||
]
|
||||
mock_client.api.resume_monitor.return_value = {"msg": "Resumed Successfully."}
|
||||
@@ -121,6 +122,7 @@ class TestMonitorCommands:
|
||||
monitor_commands.resume_monitors(monitor_patterns=["Test*"])
|
||||
|
||||
# Verify
|
||||
mock_client.find_and_get_monitors.assert_called_once_with(["Test*"], None)
|
||||
mock_client.api.resume_monitor.assert_called_once_with(2)
|
||||
|
||||
captured = capsys.readouterr()
|
||||
@@ -165,17 +167,16 @@ class TestMonitorCommands:
|
||||
|
||||
def test_resume_monitors_no_args(self, mock_client, capsys):
|
||||
"""Test resuming monitors without any arguments"""
|
||||
# Setup
|
||||
mock_client.find_and_get_monitors.return_value = []
|
||||
|
||||
monitor_commands = MonitorCommands(mock_client)
|
||||
|
||||
# Execute
|
||||
monitor_commands.resume_monitors()
|
||||
|
||||
# Verify
|
||||
captured = capsys.readouterr()
|
||||
assert (
|
||||
"Error: Either --monitor, --group, or --all flag is required."
|
||||
in captured.out
|
||||
)
|
||||
mock_client.find_and_get_monitors.assert_called_once_with(None, None)
|
||||
|
||||
|
||||
class TestMonitorCommandHandler:
|
||||
@@ -204,7 +205,7 @@ class TestMonitorCommandHandler:
|
||||
mock_args.monitor = ["test*"]
|
||||
mock_args.group = None
|
||||
|
||||
mock_client.find_monitors_by_pattern.return_value = [
|
||||
mock_client.find_and_get_monitors.return_value = [
|
||||
{"id": 1, "name": "test monitor"}
|
||||
]
|
||||
mock_client.api.pause_monitor.return_value = {"msg": "Paused Successfully."}
|
||||
@@ -225,7 +226,7 @@ class TestMonitorCommandHandler:
|
||||
mock_args.group = None
|
||||
mock_args.all = False
|
||||
|
||||
mock_client.find_monitors_by_pattern.return_value = [
|
||||
mock_client.find_and_get_monitors.return_value = [
|
||||
{"id": 1, "name": "test monitor"}
|
||||
]
|
||||
mock_client.api.resume_monitor.return_value = {"msg": "Resumed Successfully."}
|
||||
|
Reference in New Issue
Block a user