29 lines
1.1 KiB
Go
29 lines
1.1 KiB
Go
//go:build unit
|
|
|
|
package service
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"github.com/tidwall/gjson"
|
|
)
|
|
|
|
func TestBuildKiroWebSearchMCPRequest_UsesUnderscoredMetaKeys(t *testing.T) {
|
|
req := buildKiroWebSearchMCPRequest("golang concurrency")
|
|
|
|
body, err := json.Marshal(req)
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, "tools/call", gjson.GetBytes(body, "method").String())
|
|
require.Equal(t, "web_search", gjson.GetBytes(body, "params.name").String())
|
|
require.Equal(t, "golang concurrency", gjson.GetBytes(body, "params.arguments.query").String())
|
|
require.True(t, gjson.GetBytes(body, "params.arguments._meta._isValid").Bool())
|
|
require.Equal(t, "query", gjson.GetBytes(body, "params.arguments._meta._activePath.0").String())
|
|
require.Equal(t, "query", gjson.GetBytes(body, "params.arguments._meta._completedPaths.0.0").String())
|
|
require.False(t, gjson.GetBytes(body, "params.arguments._meta.isValid").Exists())
|
|
require.False(t, gjson.GetBytes(body, "params.arguments._meta.activePath").Exists())
|
|
require.False(t, gjson.GetBytes(body, "params.arguments._meta.completedPaths").Exists())
|
|
}
|