Skip to main content
Glama

baidu-ai-search

Official
by baidubce
agent_builder_data_test.go3.04 kB
package appbuilder import ( "encoding/json" "testing" "bufio" "io" "strings" ) // 测试 if !ok 分支 func TestAgentBuilderAnswerTransformWithInvalidContentType(t *testing.T) { t.Parallel() // 并发运行 // 构造一个 AgentBuilderRawResponse,其中 ContentType 是不存在的 rawResponse := &AgentBuilderRawResponse{ Answer: "Test Answer", Content: []RawEventDetail{ { EventCode: 111, EventMessage: "Test Message", EventStatus: "Success", EventType: "TestType", ContentType: "InvalidContentType", // 模拟不存在的 ContentType Outputs: json.RawMessage(`{}`), // 空的输出 }, }, } // 调用 transform 方法 answer := &AgentBuilderAnswer{} answer.transform(rawResponse) } // 测试 err != nil && !(err == io.EOF) 分支 func TestAgentBuilderStreamIterator_Next_ReadError(t *testing.T) { t.Parallel() // 并发运行 // 模拟没有数据的输入 mockBody := io.NopCloser(strings.NewReader("")) reader := bufio.NewReader(mockBody) sseReader := NewSSEReader(1024, reader) streamIterator := &AgentBuilderStreamIterator{ requestID: "test-request", r: sseReader, // 使用 NewSSEReader 初始化的 sseReader body: mockBody, } // 调用 Next 并检查返回的错误 _, err := streamIterator.Next() if err != io.EOF { t.Fatalf("expected io.EOF, got %v", err) } } // 测试 json.Unmarshal 解析失败 func TestAgentBuilderStreamIterator_Next_JSONUnmarshalError(t *testing.T) { t.Parallel() // 并发运行 // 模拟 SSE 消息,data 后面跟着无效 JSON mockBody := io.NopCloser(strings.NewReader("data: invalid-json")) reader := bufio.NewReader(mockBody) sseReader := NewSSEReader(1024, reader) streamIterator := &AgentBuilderStreamIterator{ requestID: "test-request", r: sseReader, body: mockBody, } // 调用 Next 并检查返回的错误 _, err := streamIterator.Next() if err == nil || !strings.Contains(err.Error(), "invalid character") { } } // 测试非 SSE 格式数据 func TestAgentBuilderStreamIterator_Next_NonSSEFormat(t *testing.T) { t.Parallel() // 并发运行 // 模拟非 SSE 格式的消息 mockBody := io.NopCloser(strings.NewReader("not-sse-format-data")) reader := bufio.NewReader(mockBody) sseReader := NewSSEReader(1024, reader) streamIterator := &AgentBuilderStreamIterator{ requestID: "test-request", r: sseReader, body: mockBody, } // 调用 Next 并检查返回的错误 streamIterator.Next() } // 测试正常的 SSE 数据流 func TestAgentBuilderStreamIterator_Next_ValidSSE(t *testing.T) { t.Parallel() // 并发运行 // 模拟有效的 SSE 消息 mockBody := io.NopCloser(strings.NewReader("data: {\"answer\": \"Test Answer\", \"content\": []}")) reader := bufio.NewReader(mockBody) sseReader := NewSSEReader(1024, reader) streamIterator := &AgentBuilderStreamIterator{ requestID: "test-request", r: sseReader, body: mockBody, } // 调用 Next 并检查返回的结果 streamIterator.Next() }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/baidubce/app-builder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server