#!/usr/bin/env python3 """ Script de test pour vérifier la configuration des environnements Usage: python test_config.py [local|development|production] """ import os import sys from pathlib import Path def test_environment(env_name: str): """Teste la configuration d'un environnement spécifique""" print(f"🔍 Test de la configuration {env_name.upper()}") print("=" * 50) # Définir l'environnement os.environ["ENVIRONMENT"] = env_name try: # Importer la configuration from config.settings import settings print(f"✅ Configuration chargée avec succès") print(f" Environnement détecté: {settings.ENVIRONMENT}") print(f" Debug: {settings.DEBUG}") print(f" Reload: {settings.RELOAD}") print(f" Log Level: {settings.LOG_LEVEL}") print(f" Workers: {settings.WORKERS}") print(f" CORS Origins: {', '.join(settings.CORS_ORIGINS)}") print(f" Upload Path: {settings.UPLOAD_PATH}") print(f" Database: {settings.DATABASE_URL.split('@')[1] if '@' in settings.DATABASE_URL else 'Unknown'}") # Validation if settings.validate(): print(f"✅ Configuration {env_name} validée avec succès") else: print(f"❌ Configuration {env_name} invalide") except Exception as e: print(f"❌ Erreur lors du chargement de la configuration {env_name}: {e}") return False print() return True def main(): """Fonction principale""" print("🚀 Test de configuration LeDiscord Backend") print("=" * 60) # Vérifier que nous sommes dans le bon répertoire if not Path("config/settings.py").exists(): print("❌ Erreur: Ce script doit être exécuté depuis le répertoire backend/") sys.exit(1) # Test des environnements environments = ["local", "development", "production"] if len(sys.argv) > 1: env_arg = sys.argv[1].lower() if env_arg in environments: environments = [env_arg] else: print(f"❌ Environnement invalide: {env_arg}") print(f" Environnements valides: {', '.join(environments)}") sys.exit(1) success_count = 0 for env in environments: if test_environment(env): success_count += 1 print("=" * 60) print(f"📊 Résultats: {success_count}/{len(environments)} configurations valides") if success_count == len(environments): print("🎉 Toutes les configurations sont valides !") return 0 else: print("⚠️ Certaines configurations ont des problèmes") return 1 if __name__ == "__main__": sys.exit(main())