import asyncio
import logging
import sys
import os

# Add root to path
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

# Mock Redis to avoid needing the full stack running
from unittest.mock import MagicMock
sys.modules['ClawdBot.redis_client'] = MagicMock()
from ClawdBot.redis_client import redis_client

from ClawdBot.skills.browser_agent import Skill as BrowserSkill

logging.basicConfig(level=logging.INFO)

async def test_browser():
    print("Initializing Browser Skill...")
    skill = BrowserSkill()
    
    print("Executing 'navigate'...")
    # Navigate to a safe test site
    await skill.execute("navigate", {"url": "https://example.com"})
    
    print("Executing 'get_content'...")
    await skill.execute("get_content", {})
    
    print("Taking screenshot...")
    await skill.execute("screenshot", {})
    
    print("Shutting down...")
    await skill.shutdown()
    print("Test Complete.")

if __name__ == "__main__":
    asyncio.run(test_browser())
