MCPcopy
hub / github.com/grafana/tempo / TestAcceptHeaderIsSet

Function TestAcceptHeaderIsSet

modules/frontend/mcp_tools_test.go:453–546  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

451}
452
453func TestAcceptHeaderIsSet(t *testing.T) {
454 tests := []struct {
455 name string
456 request mcp.CallToolRequest
457 handler func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
458 }{
459 {
460 name: "handleSearch sets Accept header",
461 request: callToolRequest(map[string]any{
462 "query": "{ span.foo = \"bar\" }",
463 }),
464 },
465 {
466 name: "handleInstantQuery sets Accept header",
467 request: callToolRequest(map[string]any{
468 "query": "{} | rate()",
469 }),
470 },
471 {
472 name: "handleRangeQuery sets Accept header",
473 request: callToolRequest(map[string]any{
474 "query": "{} | rate()",
475 }),
476 },
477 {
478 name: "handleGetTrace sets Accept header",
479 request: callToolRequest(map[string]any{
480 "trace_id": "12345678abcdef90",
481 }),
482 },
483 {
484 name: "handleGetAttributeNames sets Accept header",
485 request: callToolRequest(map[string]any{}),
486 },
487 {
488 name: "handleGetAttributeValues sets Accept header",
489 request: callToolRequest(map[string]any{
490 "name": "service.name",
491 }),
492 },
493 }
494
495 for _, tt := range tests {
496 t.Run(tt.name, func(t *testing.T) {
497 var capturedRequest *http.Request
498
499 // Mock handler that captures the request
500 mockHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
501 capturedRequest = r
502 w.WriteHeader(http.StatusOK)
503 })
504
505 server := &MCPServer{
506 frontend: &QueryFrontend{
507 SearchHandler: mockHandler,
508 TraceByIDHandlerV2: mockHandler,
509 SearchTagsV2Handler: mockHandler,
510 SearchTagsValuesV2Handler: mockHandler,

Callers

nothing calls this directly

Calls 11

handleSearchMethod · 0.95
handleInstantQueryMethod · 0.95
handleRangeQueryMethod · 0.95
handleGetTraceMethod · 0.95
callToolRequestFunction · 0.85
GetMethod · 0.65
RunMethod · 0.45
WriteHeaderMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected