Spaces:
Sleeping
Sleeping
| 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 | |