89 lines
2.5 KiB
Python
89 lines
2.5 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
"""Simple test to verify the bot can be initialized without errors."""
|
||
|
|
|
||
|
|
import sys
|
||
|
|
import os
|
||
|
|
import logging
|
||
|
|
|
||
|
|
# Add the project root to the path
|
||
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||
|
|
|
||
|
|
# Setup logging
|
||
|
|
logging.basicConfig(
|
||
|
|
level=logging.INFO,
|
||
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
||
|
|
handlers=[
|
||
|
|
logging.FileHandler("data/test_bot.log"),
|
||
|
|
logging.StreamHandler(sys.stdout)
|
||
|
|
]
|
||
|
|
)
|
||
|
|
logger = logging.getLogger('TestBot')
|
||
|
|
|
||
|
|
def test_imports():
|
||
|
|
"""Test that all required modules can be imported."""
|
||
|
|
try:
|
||
|
|
from core.bot import Superviseur
|
||
|
|
from core.llm import LLMManager
|
||
|
|
from dotenv import load_dotenv
|
||
|
|
import discord
|
||
|
|
logger.info("✓ All imports successful")
|
||
|
|
return True
|
||
|
|
except Exception as e:
|
||
|
|
logger.error(f"✗ Import failed: {e}")
|
||
|
|
return False
|
||
|
|
|
||
|
|
def test_llm_manager():
|
||
|
|
"""Test LLMManager initialization."""
|
||
|
|
try:
|
||
|
|
from core.llm import LLMManager
|
||
|
|
llm = LLMManager(model_name="beta-20b")
|
||
|
|
logger.info("✓ LLMManager initialized successfully")
|
||
|
|
return True
|
||
|
|
except Exception as e:
|
||
|
|
logger.error(f"✗ LLMManager failed: {e}")
|
||
|
|
return False
|
||
|
|
|
||
|
|
def test_bot_initialization():
|
||
|
|
"""Test Superviseur bot initialization."""
|
||
|
|
try:
|
||
|
|
from core.bot import Superviseur
|
||
|
|
import discord
|
||
|
|
from core.llm import LLMManager
|
||
|
|
|
||
|
|
# Create a mock LLMManager
|
||
|
|
llm = LLMManager(model_name="beta-20b")
|
||
|
|
|
||
|
|
# Create minimal intents
|
||
|
|
intents = discord.Intents.default()
|
||
|
|
intents.message_content = True
|
||
|
|
intents.members = True
|
||
|
|
intents.voice_states = True
|
||
|
|
|
||
|
|
# Try to initialize the bot (without actually connecting)
|
||
|
|
bot = Superviseur(
|
||
|
|
llama_model=llm,
|
||
|
|
command_prefix="!",
|
||
|
|
guild_id=123456789,
|
||
|
|
system_prompt="Test system prompt",
|
||
|
|
intents=intents
|
||
|
|
)
|
||
|
|
logger.info("✓ Superviseur bot initialized successfully")
|
||
|
|
return True
|
||
|
|
except Exception as e:
|
||
|
|
logger.error(f"✗ Bot initialization failed: {e}")
|
||
|
|
return False
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
logger.info("Testing bot initialization...")
|
||
|
|
|
||
|
|
success = True
|
||
|
|
success &= test_imports()
|
||
|
|
success &= test_llm_manager()
|
||
|
|
success &= test_bot_initialization()
|
||
|
|
|
||
|
|
if success:
|
||
|
|
logger.info("✓ All tests passed! Bot should be able to run.")
|
||
|
|
sys.exit(0)
|
||
|
|
else:
|
||
|
|
logger.error("✗ Some tests failed.")
|
||
|
|
sys.exit(1)
|