Files
httprunner/mcphost/config_test.go
2025-05-17 11:55:26 +08:00

31 lines
1.1 KiB
Go

package mcphost
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestLoadSettings(t *testing.T) {
// Load settings from test.mcp.json
settings, err := LoadMCPConfig("testdata/test.mcp.json")
if err != nil {
t.Fatalf("Failed to load settings: %v", err)
}
// Verify settings are loaded correctly
assert.NotNil(t, settings)
assert.Contains(t, settings.MCPServers, "filesystem")
assert.Contains(t, settings.MCPServers, "weather")
// Verify specific server configurations
filesystemConfig := settings.MCPServers["filesystem"].Config.(STDIOServerConfig)
assert.Equal(t, "npx", filesystemConfig.Command)
assert.Equal(t, []string{"-y", "@modelcontextprotocol/server-filesystem", "./"}, filesystemConfig.Args)
weatherConfig := settings.MCPServers["weather"].Config.(STDIOServerConfig)
assert.Equal(t, "uv", weatherConfig.Command)
assert.Equal(t, []string{"--directory", "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/mcphost/testdata", "run", "demo_weather.py"}, weatherConfig.Args)
assert.Equal(t, map[string]string{"ABC": "123"}, weatherConfig.Env)
}