""" Test script that outputs environment variables as JSON. Run: python test_env.json.py """ import os import json def get_env_json(): """Get environment variables status as JSON.""" quiz_secret = os.getenv("QUIZ_SECRET") openai_key = os.getenv("OPENAI_API_KEY") port = os.getenv("PORT", "8000") openrouter_key = os.getenv("OPENROUTER_API_KEY") result = { "status": "ok", "variables": { "QUIZ_SECRET": { "set": quiz_secret is not None, "length": len(quiz_secret) if quiz_secret else 0, "preview": f"{quiz_secret[:4]}...{quiz_secret[-4:]}" if quiz_secret and len(quiz_secret) > 8 else "***" if quiz_secret else None }, "OPENAI_API_KEY": { "set": openai_key is not None, "length": len(openai_key) if openai_key else 0, "preview": f"{openai_key[:7]}...{openai_key[-4:]}" if openai_key and len(openai_key) > 11 else "***" if openai_key else None, "valid_format": openai_key.startswith("sk-") if openai_key else False }, "OPENROUTER_API_KEY": { "set": openrouter_key is not None, "length": len(openrouter_key) if openrouter_key else 0, "preview": f"{openrouter_key[:7]}...{openrouter_key[-4:]}" if openrouter_key and len(openrouter_key) > 11 else "***" if openrouter_key else None, "valid_format": openrouter_key.startswith("sk-or-") if openrouter_key else False }, "PORT": { "set": True, "value": port } }, "ready": quiz_secret is not None, "llm_enabled": any([openai_key, openrouter_key]), "message": "Ready to run" if quiz_secret else "QUIZ_SECRET is required" } return result if __name__ == "__main__": result = get_env_json() print(json.dumps(result, indent=2))