test_secrets.pyโข2.85 kB
#!/usr/bin/env python3
"""
Test script to verify AWS Secrets Manager integration.
"""
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from src.utils.aws_secrets import (
get_database_credentials,
get_openai_api_key,
get_x402_private_key,
setup_environment_from_secrets,
is_cloud_mode
)
def main():
"""Test secrets retrieval."""
print("๐ Testing AWS Secrets Manager Integration")
print("=" * 50)
# Check if cloud mode is enabled
cloud_mode = is_cloud_mode()
print(f"Cloud Mode: {'โ
Enabled' if cloud_mode else 'โ Disabled'}")
if not cloud_mode:
print("\n๐ก To test cloud mode, set DEPLOY_TO_CLOUD=true")
print("๐ก Make sure you have AWS credentials configured")
return
print("\n๐ฉ๏ธ Retrieving secrets from AWS Secrets Manager...")
# Test database credentials
print("\n1. Database Credentials:")
db_url = get_database_credentials()
if db_url:
# Mask password for security
masked_url = db_url.split('@')[0].split(':')[:-1] + ['***'] + ['@'] + db_url.split('@')[1:]
print(f" โ
Retrieved: {':'.join(masked_url)}")
else:
print(" โ Failed to retrieve database credentials")
# Test OpenAI API key
print("\n2. OpenAI API Key:")
openai_key = get_openai_api_key()
if openai_key:
print(f" โ
Retrieved: {openai_key[:8]}...")
else:
print(" โ Failed to retrieve OpenAI API key")
# Test X402 private key
print("\n3. X402 Private Key:")
x402_key = get_x402_private_key()
if x402_key:
print(f" โ
Retrieved: {x402_key[:8]}...")
else:
print(" โ Failed to retrieve X402 private key")
# Test environment setup
print("\n4. Setting up environment variables:")
setup_environment_from_secrets()
# Verify environment variables
print("\n5. Environment Variables:")
env_vars = ['DATABASE_URL', 'OPENAI_API_KEY', 'PRIVATE_KEY']
for var in env_vars:
value = os.getenv(var)
if value:
if 'KEY' in var or 'PRIVATE' in var:
print(f" โ
{var}: {value[:8]}...")
elif 'DATABASE_URL' in var:
# Mask password in URL
if '@' in value:
parts = value.split('@')
masked = parts[0].split(':')[:-1] + ['***'] + ['@'] + parts[1:]
print(f" โ
{var}: {':'.join(masked)}")
else:
print(f" โ
{var}: {value}")
else:
print(f" โ
{var}: Set")
else:
print(f" โ {var}: Not set")
print("\n" + "=" * 50)
print("๐ Secrets test completed!")
if __name__ == "__main__":
main()