85 lines
2.7 KiB
Python
Executable File
85 lines
2.7 KiB
Python
Executable File
#!/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())
|