80 lines
2.5 KiB
Python
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) |