48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
import unittest
|
|
|
|
from packaging.version import parse as parse_version
|
|
|
|
from uptime_kuma_api import UptimeKumaException
|
|
from uptime_kuma_test_case import UptimeKumaTestCase
|
|
|
|
|
|
class TestTag(UptimeKumaTestCase):
|
|
def test_tag(self):
|
|
expected_tag = {
|
|
"name": "tag 1",
|
|
"color": "#ffffff"
|
|
}
|
|
|
|
# add tag
|
|
tag = self.api.add_tag(**expected_tag)
|
|
self.compare(tag, expected_tag)
|
|
tag_id = tag["id"]
|
|
|
|
# get tag
|
|
tag = self.api.get_tag(tag_id)
|
|
self.compare(tag, expected_tag)
|
|
|
|
# get tags
|
|
tags = self.api.get_tags()
|
|
tag = self.find_by_id(tags, tag_id)
|
|
self.assertIsNotNone(tag)
|
|
self.compare(tag, expected_tag)
|
|
|
|
if parse_version(self.api.version) >= parse_version("1.20"):
|
|
# edit tag
|
|
expected_tag["name"] = "tag 1 new"
|
|
expected_tag["color"] = "#000000"
|
|
r = self.api.edit_tag(tag_id, **expected_tag)
|
|
self.assertEqual(r["msg"], "Saved")
|
|
tag = self.api.get_tag(tag_id)
|
|
self.compare(tag, expected_tag)
|
|
|
|
# delete tag
|
|
r = self.api.delete_tag(tag_id)
|
|
self.assertEqual(r["msg"], "Deleted Successfully.")
|
|
with self.assertRaises(UptimeKumaException):
|
|
self.api.get_tag(tag_id)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|