Spaces:
Running
Running
| import json | |
| import pytest | |
| from tensorus import mcp_client | |
| from tensorus.mcp_client import TensorusMCPClient, TextContent | |
| class DummyFastClient: | |
| def __init__(self): | |
| self.calls = [] | |
| async def __aenter__(self): | |
| return self | |
| async def __aexit__(self, exc_type, exc_val, exc_tb): | |
| pass | |
| async def call_tool(self, name: str, arguments: dict): | |
| self.calls.append((name, arguments)) | |
| return [TextContent(type="text", text=json.dumps({"ok": True, "name": name}))] | |
| async def test_create_dataset(monkeypatch): | |
| dummy = DummyFastClient() | |
| monkeypatch.setattr(mcp_client, "FastMCPClient", lambda transport: dummy) | |
| async with TensorusMCPClient("dummy") as client: | |
| result = await client.create_dataset("ds1") | |
| assert dummy.calls == [("tensorus_create_dataset", {"dataset_name": "ds1"})] | |
| assert result == {"ok": True, "name": "tensorus_create_dataset"} | |
| async def test_ingest_tensor(monkeypatch): | |
| dummy = DummyFastClient() | |
| monkeypatch.setattr(mcp_client, "FastMCPClient", lambda transport: dummy) | |
| async with TensorusMCPClient("dummy") as client: | |
| res = await client.ingest_tensor("ds", [1, 2], "float32", [1, 2], {"x": 1}) | |
| assert dummy.calls[0][0] == "tensorus_ingest_tensor" | |
| assert res["ok"] is True | |
| async def test_execute_nql_query(monkeypatch): | |
| dummy = DummyFastClient() | |
| monkeypatch.setattr(mcp_client, "FastMCPClient", lambda transport: dummy) | |
| async with TensorusMCPClient("dummy") as client: | |
| res = await client.execute_nql_query("count") | |
| assert dummy.calls == [("execute_nql_query", {"query": "count"})] | |
| assert res["name"] == "execute_nql_query" | |