Add tests with invalid signatures for integrations.gitea.middlewares.signature.GiteaSignatureMiddleware

This commit is contained in:
2026-05-03 18:34:20 +02:00
parent 157d054854
commit 374dc89c09
@@ -103,3 +103,41 @@ async def test_GiteaSignatureMiddleware_valid_signature(body, secret):
res = await middleware.dispatch(req, call_next) res = await middleware.dispatch(req, call_next)
assert hasattr(res, 'called') assert hasattr(res, 'called')
@pytest.mark.asyncio
@pytest.mark.parametrize('signature,body,secret', [
(make_signature(b'body', b''), b'body', b'\x42'),
(make_signature(b'body', b'\x42'), b'body', b''),
(make_signature(b'body', b'\x43'), b'body', b'\x42'),
(make_signature(b'body', b'\x42'), b'body', b'\x43'),
(make_signature(b'body', b''), b'body', b'\x42\x43'),
(make_signature(b'body', b'\x42\x43'), b'body', b''),
(make_signature(b'body', b'\x43\x44'), b'body', b'\x42'),
(make_signature(b'body', b'\x42'), b'body', b'\x43\x44'),
(make_signature(b'', b''), b'', b'\x42'),
(make_signature(b'', b'\x42'), b'', b''),
(make_signature(b'', b'\x43'), b'', b'\x42'),
(make_signature(b'', b'\x42'), b'', b'\x43'),
(make_signature(b'', b''), b'', b'\x42\x43'),
(make_signature(b'', b'\x42\x43'), b'', b''),
(make_signature(b'', b'\x43\x44'), b'', b'\x42'),
(make_signature(b'', b'\x42'), b'', b'\x43\x44'),
(make_signature(b'a', b'\x42'), b'', b'\x42'),
(make_signature(b'a', b'\x42'), b'b', b'\x42'),
(make_signature(b'', b'\x42'), b'b', b'\x42'),
])
async def test_GiteaSignatureMiddleware_invalid_signature(signature, body, secret):
middleware = GiteaSignatureMiddleware(app = None, secret = secret)
headers = {
'X-Gitea-Signature': signature
}
req = make_request(
body,
headers
)
with pytest.raises(HTTPException):
await middleware.dispatch(req, call_next)