MCPcopy Create free account
hub / github.com/buggregator/server / TestHandler_MessageAsObject

Function TestHandler_MessageAsObject

modules/sentry/handler_test.go:561–591  ·  view source on GitHub ↗

TestHandler_MessageAsObject tests that events with structured message objects (message with params, used by v3/v4 with parameterized messages) are handled.

(t *testing.T)

Source from the content-addressed store, hash-verified

559// TestHandler_MessageAsObject tests that events with structured message objects
560// (message with params, used by v3/v4 with parameterized messages) are handled.
561func TestHandler_MessageAsObject(t *testing.T) {
562 db := setupTestDB(t)
563 h := &handler{db: db}
564
565 // When SDK sends message with params, "message" is an object, not a string.
566 payload := `{"event_id":"msg-obj-test","timestamp":1774960590.0,"level":"warning","platform":"php","message":{"message":"User %s performed %s","params":["alice","login"],"formatted":"User alice performed login"}}`
567
568 r := httptest.NewRequest("POST", "/api/1/store", strings.NewReader(payload))
569 r.Header.Set("X-Sentry-Auth", "Sentry sentry_version=7, sentry_key=test")
570
571 inc, err := h.Handle(r)
572 if err != nil {
573 t.Fatalf("Handle() error: %v", err)
574 }
575 if inc == nil {
576 t.Fatal("Handle() returned nil")
577 }
578 if inc.UUID != "msg-obj-test" {
579 t.Errorf("UUID = %q, want %q", inc.UUID, "msg-obj-test")
580 }
581
582 // Verify event was stored in structured storage (should not fail on object message).
583 var count int
584 err = db.QueryRow("SELECT COUNT(*) FROM sentry_error_events WHERE event_id = 'msg-obj-test'").Scan(&count)
585 if err != nil {
586 t.Fatalf("query error: %v", err)
587 }
588 if count != 1 {
589 t.Errorf("sentry_error_events count = %d, want 1 (object message must not break structured storage)", count)
590 }
591}
592
593func TestPreviewMapper(t *testing.T) {
594 m := &previewMapper{}

Callers

nothing calls this directly

Calls 3

HandleMethod · 0.95
ScanMethod · 0.80
setupTestDBFunction · 0.70

Tested by

no test coverage detected