gitlab.com/gitlab-org/labkit@v1.21.0/correlation/raven/extras_test.go (about)

     1  package raven
     2  
     3  import (
     4  	"context"
     5  	"reflect"
     6  	"testing"
     7  
     8  	raven "github.com/getsentry/raven-go"
     9  	"gitlab.com/gitlab-org/labkit/correlation"
    10  )
    11  
    12  func TestSetExtra(t *testing.T) {
    13  	tests := []struct {
    14  		name  string
    15  		ctx   context.Context
    16  		extra raven.Extra
    17  		want  raven.Extra
    18  	}{
    19  		{
    20  			name: "context",
    21  			ctx:  correlation.ContextWithCorrelation(context.Background(), "C001"),
    22  			extra: map[string]interface{}{
    23  				"key": "value",
    24  			},
    25  			want: map[string]interface{}{
    26  				"key":               "value",
    27  				ravenSentryExtraKey: "C001",
    28  			},
    29  		},
    30  		{
    31  			name:  "no_injected_extras",
    32  			ctx:   correlation.ContextWithCorrelation(context.Background(), "C001"),
    33  			extra: nil,
    34  			want: map[string]interface{}{
    35  				ravenSentryExtraKey: "C001",
    36  			},
    37  		},
    38  	}
    39  	for _, tt := range tests {
    40  		t.Run(tt.name, func(t *testing.T) {
    41  			if got := SetExtra(tt.ctx, tt.extra); !reflect.DeepEqual(got, tt.want) {
    42  				t.Errorf("SetExtra() = %v, want %v", got, tt.want)
    43  			}
    44  		})
    45  	}
    46  }