fix: convert monitor notificationIDList return value
https://github.com/lucasheld/ansible-uptime-kuma/issues/3
This commit is contained in:
parent
12cd8067e4
commit
314f07c93d
2 changed files with 16 additions and 14 deletions
|
@ -190,18 +190,15 @@ class TestMonitor(UptimeKumaTestCase):
|
||||||
}
|
}
|
||||||
self.do_test_monitor_type(expected_monitor)
|
self.do_test_monitor_type(expected_monitor)
|
||||||
|
|
||||||
def test_edit_notification_id_list(self):
|
def test_notification_id_list(self):
|
||||||
# https://github.com/lucasheld/uptime-kuma-api/issues/3
|
|
||||||
|
|
||||||
monitor_id = self.add_monitor()
|
monitor_id = self.add_monitor()
|
||||||
notification_id = self.add_notification()
|
notification_id = self.add_notification()
|
||||||
|
|
||||||
expected_monitor = self.api.get_monitor(monitor_id)
|
expected_monitor = self.api.get_monitor(monitor_id)
|
||||||
expected_monitor["notificationIDList"] = {str(notification_id): True}
|
expected_monitor["notificationIDList"] = [notification_id]
|
||||||
|
|
||||||
r = self.api.edit_monitor(id_=monitor_id, notificationIDList=[notification_id])
|
r = self.api.edit_monitor(id_=monitor_id, **expected_monitor)
|
||||||
self.assertEqual(r["msg"], "Saved.")
|
self.assertEqual(r["msg"], "Saved.")
|
||||||
|
|
||||||
monitor = self.api.get_monitor(monitor_id)
|
monitor = self.api.get_monitor(monitor_id)
|
||||||
self.compare(monitor, expected_monitor)
|
self.compare(monitor, expected_monitor)
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,11 @@ def gen_secret(length: int) -> str:
|
||||||
return ''.join(random.choice(chars) for _ in range(length))
|
return ''.join(random.choice(chars) for _ in range(length))
|
||||||
|
|
||||||
|
|
||||||
def _convert_monitor_data(kwargs):
|
def _convert_monitor_return(monitor):
|
||||||
|
monitor["notificationIDList"] = [int(i) for i in monitor["notificationIDList"].keys()]
|
||||||
|
|
||||||
|
|
||||||
|
def _convert_monitor_input(kwargs):
|
||||||
if not kwargs["accepted_statuscodes"]:
|
if not kwargs["accepted_statuscodes"]:
|
||||||
kwargs["accepted_statuscodes"] = ["200-299"]
|
kwargs["accepted_statuscodes"] = ["200-299"]
|
||||||
|
|
||||||
|
@ -50,7 +54,6 @@ def _convert_monitor_data(kwargs):
|
||||||
|
|
||||||
if kwargs["type"] == MonitorType.PUSH and not kwargs.get("pushToken"):
|
if kwargs["type"] == MonitorType.PUSH and not kwargs.get("pushToken"):
|
||||||
kwargs["pushToken"] = gen_secret(10)
|
kwargs["pushToken"] = gen_secret(10)
|
||||||
return kwargs
|
|
||||||
|
|
||||||
|
|
||||||
def _build_notification_data(
|
def _build_notification_data(
|
||||||
|
@ -136,13 +139,12 @@ def _build_status_page_data(
|
||||||
return slug, config, icon, publicGroupList
|
return slug, config, icon, publicGroupList
|
||||||
|
|
||||||
|
|
||||||
def _convert_docker_host_data(kwargs):
|
def _convert_docker_host_input(kwargs):
|
||||||
if not kwargs["dockerDaemon"]:
|
if not kwargs["dockerDaemon"]:
|
||||||
if kwargs["dockerType"] == DockerType.SOCKET:
|
if kwargs["dockerType"] == DockerType.SOCKET:
|
||||||
kwargs["dockerDaemon"] = "/var/run/docker.sock"
|
kwargs["dockerDaemon"] = "/var/run/docker.sock"
|
||||||
elif kwargs["dockerType"] == DockerType.TCP:
|
elif kwargs["dockerType"] == DockerType.TCP:
|
||||||
kwargs["dockerDaemon"] = "tcp://localhost:2375"
|
kwargs["dockerDaemon"] = "tcp://localhost:2375"
|
||||||
return kwargs
|
|
||||||
|
|
||||||
|
|
||||||
def _build_docker_host_data(
|
def _build_docker_host_data(
|
||||||
|
@ -572,11 +574,14 @@ class UptimeKumaApi(object):
|
||||||
|
|
||||||
def get_monitors(self):
|
def get_monitors(self):
|
||||||
r = list(self._get_event_data(Event.MONITOR_LIST).values())
|
r = list(self._get_event_data(Event.MONITOR_LIST).values())
|
||||||
|
for monitor in r:
|
||||||
|
_convert_monitor_return(monitor)
|
||||||
int_to_bool(r, ["active"])
|
int_to_bool(r, ["active"])
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def get_monitor(self, id_: int):
|
def get_monitor(self, id_: int):
|
||||||
r = self._call('getMonitor', id_)["monitor"]
|
r = self._call('getMonitor', id_)["monitor"]
|
||||||
|
_convert_monitor_return(r)
|
||||||
int_to_bool(r, ["active"])
|
int_to_bool(r, ["active"])
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
@ -596,7 +601,7 @@ class UptimeKumaApi(object):
|
||||||
|
|
||||||
def add_monitor(self, **kwargs):
|
def add_monitor(self, **kwargs):
|
||||||
data = self._build_monitor_data(**kwargs)
|
data = self._build_monitor_data(**kwargs)
|
||||||
data = _convert_monitor_data(data)
|
_convert_monitor_input(data)
|
||||||
_check_arguments_monitor(data)
|
_check_arguments_monitor(data)
|
||||||
r = self._call('add', data)
|
r = self._call('add', data)
|
||||||
return r
|
return r
|
||||||
|
@ -604,7 +609,7 @@ class UptimeKumaApi(object):
|
||||||
def edit_monitor(self, id_: int, **kwargs):
|
def edit_monitor(self, id_: int, **kwargs):
|
||||||
data = self.get_monitor(id_)
|
data = self.get_monitor(id_)
|
||||||
data.update(kwargs)
|
data.update(kwargs)
|
||||||
data = _convert_monitor_data(data)
|
_convert_monitor_input(data)
|
||||||
_check_arguments_monitor(data)
|
_check_arguments_monitor(data)
|
||||||
r = self._call('editMonitor', data)
|
r = self._call('editMonitor', data)
|
||||||
return r
|
return r
|
||||||
|
@ -967,13 +972,13 @@ class UptimeKumaApi(object):
|
||||||
|
|
||||||
def add_docker_host(self, **kwargs):
|
def add_docker_host(self, **kwargs):
|
||||||
data = _build_docker_host_data(**kwargs)
|
data = _build_docker_host_data(**kwargs)
|
||||||
data = _convert_docker_host_data(data)
|
_convert_docker_host_input(data)
|
||||||
return self._call('addDockerHost', (data, None))
|
return self._call('addDockerHost', (data, None))
|
||||||
|
|
||||||
def edit_docker_host(self, id_: int, **kwargs):
|
def edit_docker_host(self, id_: int, **kwargs):
|
||||||
data = self.get_docker_host(id_)
|
data = self.get_docker_host(id_)
|
||||||
data.update(kwargs)
|
data.update(kwargs)
|
||||||
data = _convert_docker_host_data(data)
|
_convert_docker_host_input(data)
|
||||||
return self._call('addDockerHost', (data, id_))
|
return self._call('addDockerHost', (data, id_))
|
||||||
|
|
||||||
def delete_docker_host(self, id_: int):
|
def delete_docker_host(self, id_: int):
|
||||||
|
|
Loading…
Reference in a new issue