From 40f71541acdeb74e08efc43b4ee5ef5d19926652 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rajmund=20Hru=C5=A1ka?= <rajmund.hruska@cesnet.cz> Date: Thu, 3 Nov 2022 13:12:39 +0100 Subject: [PATCH] Expose clients via API --- warden_server/test_warden_server.py | 13 +++++++++++++ warden_server/warden_server.py | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/warden_server/test_warden_server.py b/warden_server/test_warden_server.py index 2efe5b5..e1d0ff3 100755 --- a/warden_server/test_warden_server.py +++ b/warden_server/test_warden_server.py @@ -142,6 +142,19 @@ class Warden3ServerTest(unittest.TestCase): status, _, _ = Request(self.app, query)() self.assertEqual(status, expected_status) + def test_getClients_interface(self): + """Tests the getClients method invocation""" + tests_common = [ + ("/getClients?secret=abc", "200 OK"), + ("/getClients?secret=abc&evil=false", "200 OK"), + ("/getClients?client=dwadaw", "403 I'm watching. Authenticate."), + ("/getClients?client=asdf.blefub&secret=abc", "403 I'm watching. Authenticate."), + ] + for query, expected_status in tests_common: + with self.subTest(query=query, expected_status=expected_status): + status, _, _ = Request(self.app, query)() + self.assertEqual(status, expected_status) + def test_getEvents_interface(self): # pylint: disable = locally-disabled, invalid-name """Tests the getEvents method invocation""" tests_common = [ diff --git a/warden_server/warden_server.py b/warden_server/warden_server.py index bbf4ff9..d66294d 100755 --- a/warden_server/warden_server.py +++ b/warden_server/warden_server.py @@ -1630,6 +1630,11 @@ class WardenHandler(ObjectBase): info["description"] = self.description return info + @expose(read=True) + @json_wrapper + def getClients(self): + return {"clients": self.db.get_clients()} + @expose(read=True) @json_wrapper def getEvents( -- GitLab