From ffe144f6b5b6c0d8d732375210d4d030dae3c171 Mon Sep 17 00:00:00 2001 From: Ruben van Staveren Date: Thu, 10 Mar 2022 21:12:24 +0100 Subject: [PATCH] Add case for detecing invalid input --- tests/test_register.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/tests/test_register.py b/tests/test_register.py index 9dc5bda..8e6aee0 100644 --- a/tests/test_register.py +++ b/tests/test_register.py @@ -19,7 +19,7 @@ def test_request_unauth(client): assert response.json['error'] == 'Access Denied' -def test_request_example(client, mocker): +def test_request_valid(client, mocker): def noop(): pass run_res = SimpleNamespace() @@ -38,3 +38,24 @@ def test_request_example(client, mocker): headers={"Authorization": "Basic " + valid_credentials}) assert response.json['remote_user'] == 'test.example.com' + + +def test_request_invalid(client, mocker): + def noop(): + pass + run_res = SimpleNamespace() + run_res.stdout = pfctl_stdout_lines + 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 = {"port": + "not a pf statement", + "name": "dovecot", "protocol": "tcp"} + + response = client.put("/register", + json=json_payload, + headers={"Authorization": "Basic " + valid_credentials}) + + assert response.json['error'] == '"not a pf statement" is tainted'