Files
bakery-ia/gateway/test_stripe_signature_fix.py
2026-01-15 20:45:49 +01:00

80 lines
2.5 KiB
Python

#!/usr/bin/env python3
"""
Test script to verify that the stripe-signature header fix works correctly.
"""
import sys
import os
# Add the gateway directory to the path
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
def test_stripe_signature_in_forwardable_headers():
"""Test that stripe-signature is in the forwardable headers list."""
# Read the header manager file
with open('app/core/header_manager.py', 'r') as f:
content = f.read()
# Check if stripe-signature is in the forwardable headers
stripe_signature_header = "'stripe-signature'"
if stripe_signature_header in content:
print("✅ stripe-signature header found in FORWARDABLE_HEADERS")
return True
else:
print("❌ stripe-signature header NOT found in FORWARDABLE_HEADERS")
return False
def test_stripe_signature_comment():
"""Test that there's a comment explaining why stripe-signature is needed."""
# Read the header manager file
with open('app/core/header_manager.py', 'r') as f:
content = f.read()
# Check if there's a comment about Stripe webhook signature verification
comment = "Required for Stripe webhook signature verification"
if comment in content:
print("✅ Comment found explaining stripe-signature requirement")
return True
else:
print("❌ Comment NOT found explaining stripe-signature requirement")
return False
def main():
"""Run all tests."""
print("Testing stripe-signature header fix...")
print()
tests = [
test_stripe_signature_in_forwardable_headers,
test_stripe_signature_comment,
]
results = []
for test in tests:
try:
result = test()
results.append(result)
except Exception as e:
print(f"❌ Error running {test.__name__}: {e}")
results.append(False)
print()
if all(results):
print("🎉 All tests passed! stripe-signature header should now be forwarded.")
print()
print("Summary of changes:")
print("- Added 'stripe-signature' to FORWARDABLE_HEADERS list")
print("- This ensures the Stripe signature is forwarded to tenant service")
print("- Tenant service can now verify webhook signatures correctly")
return True
else:
print("❌ Some tests failed. stripe-signature header may not be forwarded correctly.")
return False
if __name__ == "__main__":
success = main()
sys.exit(0 if success else 1)