Add subcription feature 3
This commit is contained in:
80
gateway/test_stripe_signature_fix.py
Normal file
80
gateway/test_stripe_signature_fix.py
Normal file
@@ -0,0 +1,80 @@
|
||||
#!/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)
|
||||
Reference in New Issue
Block a user