File size: 1,842 Bytes
d6f631f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | package planaddon
import (
"errors"
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestIsNotFoundError(t *testing.T) {
tests := []struct {
Name string
Error error
ExpectedError bool
}{
{
Name: "Valid",
Error: NewNotFoundError(NotFoundErrorParams{
Namespace: "test",
ID: "test",
}),
ExpectedError: true,
},
{
Name: "Wrapped",
Error: fmt.Errorf("wrapped: %w", NewNotFoundError(NotFoundErrorParams{
Namespace: "test",
ID: "test",
}),
),
ExpectedError: true,
},
{
Name: "Invalid",
Error: errors.New("test error"),
ExpectedError: false,
},
}
for _, test := range tests {
t.Run(test.Name, func(t *testing.T) {
assert.Equal(t, test.ExpectedError, IsNotFound(test.Error))
})
}
}
func TestIsNotFoundError_String(t *testing.T) {
tests := []struct {
Name string
Error error
ExpectedError string
}{
{
Name: "ID",
Error: NewNotFoundError(NotFoundErrorParams{
Namespace: "namespace",
ID: "id",
}),
ExpectedError: "not found error: plan add-on assignment not found [namespace=namespace id=id]",
},
{
Name: "Key",
Error: NewNotFoundError(NotFoundErrorParams{
Namespace: "namespace",
PlanIDOrKey: "plan_key",
AddonIDOrKey: "addon_key",
}),
ExpectedError: "not found error: plan add-on assignment not found [namespace=namespace plan.idOrKey=plan_key addon.idOrKey=addon_key]",
},
{
Name: "Default",
Error: NewNotFoundError(NotFoundErrorParams{}),
ExpectedError: "not found error: plan add-on assignment not found",
},
}
for _, test := range tests {
t.Run(test.Name, func(t *testing.T) {
t.Logf("%v", test.Error)
assert.Equal(t, test.ExpectedError, test.Error.Error())
})
}
}
|