mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-28 14:07:55 +00:00
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
1.1 KiB
Python
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
|