Tests
This commit is contained in:
+22
-5
@@ -12,11 +12,22 @@ from server.game_state import GameState
|
||||
from server.economy import EconomyEngine
|
||||
from server.database import Database
|
||||
|
||||
# Global instances
|
||||
game_state = GameState()
|
||||
ws_manager = WebSocketManager(game_state)
|
||||
economy_engine = EconomyEngine(game_state)
|
||||
database = Database()
|
||||
# Global instances - can be overridden for testing
|
||||
game_state = None
|
||||
ws_manager = None
|
||||
economy_engine = None
|
||||
database = None
|
||||
|
||||
def initialize_components(test_db_path=None):
|
||||
"""Initialize server components with optional test database"""
|
||||
global game_state, ws_manager, economy_engine, database
|
||||
|
||||
game_state = GameState()
|
||||
ws_manager = WebSocketManager(game_state)
|
||||
economy_engine = EconomyEngine(game_state)
|
||||
database = Database(test_db_path) if test_db_path else Database()
|
||||
|
||||
return game_state, ws_manager, economy_engine, database
|
||||
|
||||
# --- HYBRID MODEL RE-IMPLEMENTED ---
|
||||
last_economy_tick_time = time.time()
|
||||
@@ -66,6 +77,12 @@ async def economy_loop():
|
||||
@asynccontextmanager
|
||||
async def lifespan(app: FastAPI):
|
||||
"""Startup and shutdown events."""
|
||||
global game_state, ws_manager, economy_engine, database
|
||||
|
||||
# Initialize components if not already done (for testing)
|
||||
if not all([game_state, ws_manager, economy_engine, database]):
|
||||
initialize_components()
|
||||
|
||||
logger.info("Server starting up...")
|
||||
database.init_db()
|
||||
game_state.load_state(database.load_game_state())
|
||||
|
||||
Reference in New Issue
Block a user