MMORPG_AI_NPC_MCP_CLIENT_SERVER / tests /test_plugin_status.py
Chris4K's picture
Upload 195 files
4c75d73 verified
#!/usr/bin/env python3
"""
Test script to check plugin service status
"""
from src.core.game_engine import GameEngine
def test_plugin_status():
"""Test the plugin service status."""
print("=== Plugin Service Status Test ===")
# Get the game engine instance
engine = GameEngine()
# Start the engine if not already started
if not engine._running:
engine.start()
# Get the plugin service
plugin_service = engine.get_service('plugin')
if not plugin_service:
print("❌ Plugin service not found!")
return
# Check status
status = plugin_service.get_all_plugin_status()
print(f"📊 Plugin Status: {status}")
# Check loaded plugins
loaded_plugins = plugin_service.get_loaded_plugins()
print(f"🔌 Loaded Plugins ({len(loaded_plugins)}): {loaded_plugins}")
# Check individual plugin statuses
for plugin_id in loaded_plugins:
plugin = plugin_service.get_plugin(plugin_id)
if plugin:
try:
if hasattr(plugin, 'get_status'):
plugin_status = plugin.get_status()
print(f" 🔧 {plugin_id}: {plugin_status}")
else:
print(f" 🔧 {plugin_id}: No status method")
except Exception as e:
print(f" ❌ {plugin_id}: Error getting status - {e}")
def test_npc_purchase():
"""Test the merchant NPC purchase functionality."""
print("\n=== NPC Purchase Test ===")
# Get the game engine instance
engine = GameEngine()
world = engine.get_world()
# Check if addon_npcs exist
if hasattr(world, 'addon_npcs'):
print(f"🏪 Available addon NPCs: {list(world.addon_npcs.keys())}")
# Test example merchant if available
if 'example_merchant' in world.addon_npcs:
merchant = world.addon_npcs['example_merchant']
print(f"🛒 Example Merchant found: {merchant}")
# Test a command
try:
response = merchant.handle_command("test_player", "shop")
print(f"📝 Shop response: {response}")
except Exception as e:
print(f"❌ Error testing merchant: {e}")
else:
print("🚫 Example merchant not found in addon_npcs")
else:
print("🚫 No addon_npcs found in world")
if __name__ == "__main__":
test_plugin_status()
test_npc_purchase()