Files
OpenJarvis/tests/security/test_webhook_validation.py
T

33 lines
1.1 KiB
Python

"""Tests for webhook fail-closed validation (Section 3)."""
from __future__ import annotations
from unittest.mock import patch
class TestTwilioValidationFailClosed:
"""Twilio validation must reject when SDK is unavailable."""
def test_missing_sdk_returns_false(self) -> None:
from openjarvis.server.webhook_routes import _validate_twilio_signature
with patch.dict("sys.modules", {"twilio": None, "twilio.request_validator": None}):
result = _validate_twilio_signature(
auth_token="test_token",
url="https://example.com/webhooks/twilio",
params={"Body": "hello"},
signature="invalid",
)
assert result is False
def test_empty_auth_token_returns_false(self) -> None:
from openjarvis.server.webhook_routes import _validate_twilio_signature
result = _validate_twilio_signature(
auth_token="",
url="https://example.com/webhooks/twilio",
params={},
signature="",
)
assert result is False