import pytest
import sys
sys.path.insert(0, '/home/jang/Projects/ai-researcher')

from src.agent.executor import SkillExecutor, SkillResult, SkillContext


@pytest.fixture
def executor():
    return SkillExecutor()


@pytest.mark.asyncio
async def test_execute_skill(executor):
    """测试执行Skill"""
    class MockSkill:
        async def execute(self, capability, params, context):
            return SkillResult(
                data={"count": 15},
                confidence=0.95,
                sources=[],
                metadata={},
                execution_time_ms=100
            )

    context = SkillContext(
        user_id="user_1",
        tenant_id="tenant_1",
        trace_id="trace_123"
    )

    result = await executor.execute(
        skill=MockSkill(),
        capability="test",
        params={},
        context=context
    )

    assert result.data == {"count": 15}
    assert result.confidence == 0.95
