poc2_worked
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user