Add comprehensive Docker setup with PostgreSQL, Redis, ChromaDB, and Qdrant
- Enhanced install.py with Docker detection and automatic service setup - Added docker-compose.services.yml for standalone database services - Created docker-services.sh management script for easy service control - Added DOCKER.md documentation with complete setup instructions - Updated requirements.txt for Python 3.13 compatibility - Added multiple test scripts and configuration files - Enhanced collaborative creative projects with proper database integration - Fixed SQLAlchemy metadata field conflicts in database models - Added comprehensive quickstart and testing guides Services now available: - PostgreSQL with Docker - Redis with Docker - ChromaDB vector database - Qdrant vector database (recommended) - PgAdmin for database administration The setup script now automatically detects Docker and offers streamlined installation with one-command service deployment.
This commit is contained in:
56
run_test.py
Normal file
56
run_test.py
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test runner that properly sets up the Python path
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
# Set up the Python path correctly
|
||||
project_root = Path(__file__).parent
|
||||
src_path = project_root / "src"
|
||||
sys.path.insert(0, str(src_path))
|
||||
|
||||
# Set environment variables
|
||||
os.environ['DATABASE_URL'] = 'sqlite+aiosqlite:///fishbowl_test.db'
|
||||
os.environ['ENVIRONMENT'] = 'development'
|
||||
os.environ['LOG_LEVEL'] = 'INFO'
|
||||
|
||||
def main():
|
||||
print("🚀 Discord Fishbowl Test Runner")
|
||||
print("=" * 50)
|
||||
|
||||
# Test 1: Basic imports
|
||||
print("\n📦 Testing imports...")
|
||||
try:
|
||||
import database.models
|
||||
import rag.vector_store
|
||||
import collaboration.creative_projects
|
||||
print("✅ All imports successful")
|
||||
except Exception as e:
|
||||
print(f"❌ Import failed: {e}")
|
||||
return False
|
||||
|
||||
# Test 2: Simple functionality test
|
||||
print("\n🔧 Testing basic functionality...")
|
||||
try:
|
||||
from utils.config import get_settings
|
||||
settings = get_settings()
|
||||
print(f"✅ Configuration loaded: {settings.database.url}")
|
||||
except Exception as e:
|
||||
print(f"❌ Config test failed: {e}")
|
||||
return False
|
||||
|
||||
print("\n🎉 Basic tests passed!")
|
||||
print("\nFor full system testing:")
|
||||
print("1. Install Ollama: https://ollama.ai/")
|
||||
print("2. Pull a model: ollama pull llama2")
|
||||
print("3. Run: python src/main.py (requires Discord tokens)")
|
||||
print("4. Or test individual components with demo scripts")
|
||||
|
||||
return True
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = main()
|
||||
sys.exit(0 if success else 1)
|
||||
Reference in New Issue
Block a user