Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

59 lines
1.2 KiB

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package cache
import (
"fmt"
"testing"
"github.com/hashicorp/consul/internal/testing/errors"
)
var (
fakeWrappedErr = fmt.Errorf("fake test error")
)
func TestErrorStrings(t *testing.T) {
errors.TestErrorStrings(t, map[string]error{
"IndexNotFound": IndexNotFoundError{name: "fake"},
"QueryNotFound": QueryNotFoundError{name: "fake"},
"QueryRequired": QueryRequired,
"CacheTypeError": CacheTypeError{
err: fakeWrappedErr,
it: unversionedType{
Group: "something",
Kind: "else",
},
},
"IndexError": IndexError{
err: fakeWrappedErr,
name: "foo",
},
"DuplicateIndexError": DuplicateIndexError{
name: "addresses",
},
"DuplicateQueryError": DuplicateQueryError{
name: "addresses",
},
})
}
func TestErrorUnwrap(t *testing.T) {
errors.TestErrorUnwrap(t, map[string]errors.UnwrapErrorTestCase{
"IndexError": {
Err: IndexError{
name: "blah",
err: fakeWrappedErr,
},
Expected: fakeWrappedErr,
},
"CacheTypeError": {
Err: CacheTypeError{
it: unversionedType{Group: "something", Kind: "else"},
err: fakeWrappedErr,
},
Expected: fakeWrappedErr,
},
})
}