...

Source file src/github.com/launchdarkly/go-sdk-common/v3/lderrors/context_errors_test.go

Documentation: github.com/launchdarkly/go-sdk-common/v3/lderrors

     1  package lderrors
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestContextErrorMessages(t *testing.T) {
    11  	params := []struct {
    12  		err     error
    13  		message string
    14  	}{
    15  		{ErrContextUninitialized{}, msgContextUninitialized},
    16  		{ErrContextKeyEmpty{}, msgContextKeyEmpty},
    17  		{ErrContextKeyNull{}, msgContextKeyNull},
    18  		{ErrContextKeyMissing{}, msgContextKeyMissing},
    19  		{ErrContextKindEmpty{}, msgContextKindEmpty},
    20  		{ErrContextKindCannotBeKind{}, msgContextKindCannotBeKind},
    21  		{ErrContextKindMultiForSingleKind{}, msgContextKindMultiForSingleKind},
    22  		{ErrContextKindMultiWithNoKinds{}, msgContextKindMultiWithNoKinds},
    23  		{ErrContextKindMultiDuplicates{}, msgContextKindMultiDuplicates},
    24  		{ErrContextKindInvalidChars{}, msgContextKindInvalidChars},
    25  	}
    26  	for _, p := range params {
    27  		t.Run(fmt.Sprintf("%T", p.err), func(t *testing.T) {
    28  			assert.Equal(t, p.message, p.err.Error())
    29  		})
    30  	}
    31  
    32  	t.Run("ErrContextPerKindErrors", func(t *testing.T) {
    33  		e1 := ErrContextPerKindErrors{
    34  			Errors: map[string]error{
    35  				"kind1": ErrContextKeyEmpty{},
    36  			},
    37  		}
    38  		assert.Equal(t, "(kind1) "+ErrContextKeyEmpty{}.Error(), e1.Error())
    39  
    40  		e2 := ErrContextPerKindErrors{
    41  			Errors: map[string]error{
    42  				"kind1": ErrContextKeyEmpty{},
    43  				"kind2": ErrContextKeyNull{},
    44  			},
    45  		}
    46  		assert.Equal(t, "(kind1) "+ErrContextKeyEmpty{}.Error()+", (kind2) "+ErrContextKeyNull{}.Error(), e2.Error())
    47  	})
    48  }
    49  

View as plain text