2022-08-05 14:35:17 +02:00
|
|
|
import json
|
2022-09-17 12:24:08 +02:00
|
|
|
import unittest
|
|
|
|
from packaging.version import parse as parse_version
|
2022-08-03 12:35:48 +02:00
|
|
|
|
|
|
|
from uptime_kuma_test_case import UptimeKumaTestCase
|
|
|
|
|
|
|
|
|
|
|
|
class TestSettings(UptimeKumaTestCase):
|
|
|
|
def test_settings(self):
|
2022-09-17 12:24:08 +02:00
|
|
|
expected_settings = {
|
|
|
|
"checkUpdate": False,
|
|
|
|
"checkBeta": False,
|
|
|
|
"keepDataPeriodDays": 180,
|
|
|
|
"entryPage": "dashboard",
|
|
|
|
"searchEngineIndex": False,
|
|
|
|
"primaryBaseURL": "",
|
|
|
|
"steamAPIKey": "",
|
|
|
|
"tlsExpiryNotifyDays": [7, 14, 21],
|
|
|
|
"disableAuth": False
|
|
|
|
}
|
|
|
|
|
|
|
|
if parse_version(self.api.version) >= parse_version("1.18"):
|
|
|
|
expected_settings.update({
|
|
|
|
"trustProxy": False
|
|
|
|
})
|
2022-08-03 12:35:48 +02:00
|
|
|
|
2022-09-17 12:24:08 +02:00
|
|
|
# set settings
|
|
|
|
r = self.api.set_settings(self.password, **expected_settings)
|
|
|
|
self.assertEqual(r["msg"], "Saved")
|
2022-08-03 12:35:48 +02:00
|
|
|
|
2022-09-23 17:19:00 +02:00
|
|
|
# set settings without password
|
|
|
|
r = self.api.set_settings(**expected_settings)
|
|
|
|
self.assertEqual(r["msg"], "Saved")
|
|
|
|
|
2022-09-17 12:24:08 +02:00
|
|
|
# get settings
|
2022-08-03 12:35:48 +02:00
|
|
|
settings = self.api.get_settings()
|
2022-09-17 12:24:08 +02:00
|
|
|
self.compare(settings, expected_settings)
|
2022-08-03 12:35:48 +02:00
|
|
|
|
2022-08-05 14:35:17 +02:00
|
|
|
def test_change_password(self):
|
|
|
|
new_password = "321terces"
|
|
|
|
|
|
|
|
# change password
|
|
|
|
r = self.api.change_password(self.password, new_password)
|
|
|
|
self.assertEqual(r["msg"], "Password has been updated successfully.")
|
|
|
|
|
|
|
|
# check login
|
|
|
|
r = self.api.login(self.username, new_password)
|
|
|
|
self.assertIn("token", r)
|
|
|
|
|
|
|
|
# restore password
|
|
|
|
r = self.api.change_password(new_password, self.password)
|
|
|
|
self.assertEqual(r["msg"], "Password has been updated successfully.")
|
|
|
|
|
|
|
|
def test_upload_backup(self):
|
|
|
|
data = {
|
|
|
|
"version": "1.17.1",
|
|
|
|
"notificationList": [],
|
|
|
|
"monitorList": [],
|
|
|
|
"proxyList": []
|
|
|
|
}
|
|
|
|
data_str = json.dumps(data)
|
|
|
|
r = self.api.upload_backup(data_str, "overwrite")
|
|
|
|
self.assertEqual(r["msg"], "Backup successfully restored.")
|
|
|
|
|
2022-08-03 12:35:48 +02:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|