mcp-charts / tests /test_server_bootstrap.py
mfallahian's picture
fix: image payload type
f53313f
Raw
History Blame Contribute Delete
1.73 kB
import inspect
from src import server
def test_fastmcp_ctor_kwargs_use_env_values(monkeypatch) -> None:
monkeypatch.setenv("HOST", "0.0.0.0")
monkeypatch.setenv("PORT", "7860")
monkeypatch.setenv("MCP_PATH", "/custom-mcp")
kwargs = server._fastmcp_ctor_kwargs_from_env()
ctor_params = inspect.signature(server.FastMCP).parameters
if "host" in ctor_params:
assert kwargs["host"] == "0.0.0.0"
if "port" in ctor_params:
assert kwargs["port"] == 7860
if "streamable_http_path" in ctor_params:
assert kwargs["streamable_http_path"] == "/custom-mcp"
def test_fastmcp_ctor_kwargs_fallback_for_invalid_port(monkeypatch) -> None:
monkeypatch.setenv("PORT", "not-a-number")
kwargs = server._fastmcp_ctor_kwargs_from_env()
ctor_params = inspect.signature(server.FastMCP).parameters
if "port" in ctor_params:
assert kwargs["port"] == server.DEFAULT_PORT
def test_create_server_applies_env_network_settings(monkeypatch) -> None:
monkeypatch.setenv("HOST", "0.0.0.0")
monkeypatch.setenv("PORT", "9001")
monkeypatch.setenv("MCP_PATH", "/mcp-test")
app = server._create_mcp_server()
settings = app.settings
assert settings.host == "0.0.0.0"
assert settings.port == 9001
assert settings.streamable_http_path == "/mcp-test"
def test_generate_chart_returns_typed_image_content() -> None:
out = server.generate_chart(
chart_type="bar",
x_values=["A", "B", "C"],
y_values=[2, 4, 3],
title="Typed Image",
)
image_content = out.to_image_content()
assert image_content.type == "image"
assert image_content.mimeType == "image/png"
assert len(image_content.data) > 100