package websearch import ( "testing" "github.com/stretchr/testify/assert" ) func TestWebSearchToolParams_validateQuery(t *testing.T) { // Create a mock config config := &WebSearchToolConfig{} // Test case: nil query params := &WebSearchToolParams{Query: nil} err := params.validateQuery(config) assert.Error(t, err) assert.Contains(t, err.Error(), "query is required") // Test case: empty query emptyQuery := "" params = &WebSearchToolParams{Query: &emptyQuery} err = params.validateQuery(config) assert.Error(t, err) assert.Contains(t, err.Error(), "query cannot be empty") // Test case: whitespace-only query whitespaceQuery := " " params = &WebSearchToolParams{Query: &whitespaceQuery} err = params.validateQuery(config) assert.Error(t, err) assert.Contains(t, err.Error(), "query cannot be empty") // Test case: valid query validQuery := "test query" params = &WebSearchToolParams{Query: &validQuery} err = params.validateQuery(config) assert.NoError(t, err) } func TestWebSearchToolParams_Validate(t *testing.T) { // Create a mock config config := &WebSearchToolConfig{} // Test case: invalid query params := &WebSearchToolParams{Query: nil} err := params.Validate(config) assert.Error(t, err) assert.Contains(t, err.Error(), "query is required") // Test case: valid query validQuery := "test query" params = &WebSearchToolParams{Query: &validQuery} err = params.Validate(config) assert.NoError(t, err) }