poc2_worked

This commit is contained in:
Mateusz Gruszczyński
2026-08-15 18:29:36 +02:00
parent fc3a2944b2
commit 71b6c0d86f
62 changed files with 9112 additions and 375 deletions
+50
View File
@@ -31,6 +31,33 @@ class Handler(BaseHTTPRequestHandler):
return
class UnblockHandler(BaseHTTPRequestHandler):
deleted_path = None
def do_GET(self):
data = json.dumps([{
".id": "*1",
"list": "IDS-BLOCK",
"address": "9.9.9.9",
"timeout": "1h",
"comment": "test",
}]).encode()
self.send_response(200)
self.send_header("Content-Type", "application/json")
self.send_header("Content-Length", str(len(data)))
self.end_headers()
self.wfile.write(data)
def do_DELETE(self):
UnblockHandler.deleted_path = self.path
self.send_response(204)
self.send_header("Content-Length", "0")
self.end_headers()
def log_message(self, fmt, *args):
return
class RouterOSTests(unittest.TestCase):
def test_put_address_list_entry(self):
server = ThreadingHTTPServer(("127.0.0.1", 0), Handler)
@@ -53,6 +80,29 @@ class RouterOSTests(unittest.TestCase):
server.shutdown()
server.server_close()
def test_list_and_unblock_address_list_entry(self):
UnblockHandler.deleted_path = None
server = ThreadingHTTPServer(("127.0.0.1", 0), UnblockHandler)
thread = threading.Thread(target=server.serve_forever, daemon=True)
thread.start()
try:
client = RouterOSClient(
f"http://127.0.0.1:{server.server_port}",
"user",
"secret",
False,
"IDS-BLOCK",
2,
)
rows = client.list_blocks()
self.assertEqual(rows[0]["address"], "9.9.9.9")
result = client.unblock_ip("9.9.9.9")
self.assertTrue(result.success)
self.assertTrue(UnblockHandler.deleted_path.endswith("/*1"))
finally:
server.shutdown()
server.server_close()
if __name__ == "__main__":
unittest.main()