From 963f7e5702efb36a4a05ee022628f21fef0ff84a Mon Sep 17 00:00:00 2001 From: Ruben van Staveren Date: Thu, 10 Mar 2022 21:24:35 +0100 Subject: [PATCH] Test unban --- tests/test_ban.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/test_ban.py b/tests/test_ban.py index fc26c44..1751a6b 100644 --- a/tests/test_ban.py +++ b/tests/test_ban.py @@ -59,3 +59,43 @@ def test_ban_invalid(client, mocker): headers={"Authorization": "Basic " + valid_credentials}) assert response.json['error'] == "'not:an::addr:ess' does not appear to be an IPv4 or IPv6 address" + + +def test_unban_ipv6(client, mocker): + def noop(): + pass + run_res = SimpleNamespace() + run_res.stdout = b'' + run_res.stderr = b'1/1 addresses added.\n' + run_res.returncode = 0 + run_res.check_returncode = noop + + mocker.patch('jail2ban.pfctl.run', return_value=run_res) + + valid_credentials = base64.b64encode(b"test.example.com:testpassword").decode("utf-8") + json_payload = {"name": "sshd", "ip": "2001:db8::abad:cafe"} + response = client.delete("/ban", + json=json_payload, + headers={"Authorization": "Basic " + valid_credentials}) + + assert response.json['operation'] == 'delete' + + +def test_unban_ipv4(client, mocker): + def noop(): + pass + run_res = SimpleNamespace() + run_res.stdout = b'' + run_res.stderr = b'1/1 addresses added.\n' + run_res.returncode = 0 + run_res.check_returncode = noop + + mocker.patch('jail2ban.pfctl.run', return_value=run_res) + + valid_credentials = base64.b64encode(b"test.example.com:testpassword").decode("utf-8") + json_payload = {"name": "sshd", "ip": "192.0.2.42"} + response = client.delete("/ban", + json=json_payload, + headers={"Authorization": "Basic " + valid_credentials}) + + assert response.json['operation'] == 'delete'