Files
mpc/pkg/common/errors/errors_test.go
T
CodyandGitHub c6e2c3c06f Add integration, unit testing CI pipelines (#48)
* Add comprehensive tests for multiple pkg

* Add db_path to config

* Add e2e testing pipeline

* Add github workflow

* Remove config.test.yaml

* Fix lint issue

* Increase timeout

* Add e2e testing for signing

* Skip signing if node is not in participant list

* Code cleanup

* Add e2e testing for signing and resharing

* Increase timeout

* Add test instructions

* Update github workflow branching

* Add vulnerabilties check in CI

* Fix ci
2025-07-06 14:26:03 +07:00

69 lines
1.8 KiB
Go

package errors
import (
"errors"
"testing"
"github.com/stretchr/testify/assert"
)
func TestWrap(t *testing.T) {
originalErr := errors.New("original error")
wrappingMessage := "additional context"
wrappedErr := Wrap(originalErr, wrappingMessage)
assert.Error(t, wrappedErr)
assert.Contains(t, wrappedErr.Error(), wrappingMessage)
assert.Contains(t, wrappedErr.Error(), "original error")
assert.True(t, errors.Is(wrappedErr, originalErr))
}
func TestWrap_NilError(t *testing.T) {
wrappingMessage := "additional context"
wrappedErr := Wrap(nil, wrappingMessage)
assert.Error(t, wrappedErr)
assert.Contains(t, wrappedErr.Error(), wrappingMessage)
assert.Contains(t, wrappedErr.Error(), "<nil>")
}
func TestNew(t *testing.T) {
message := "test error message"
err := New(message)
assert.Error(t, err)
assert.Equal(t, message, err.Error())
}
func TestNew_EmptyMessage(t *testing.T) {
err := New("")
assert.Error(t, err)
assert.Equal(t, "", err.Error())
}
func TestWrap_ChainedErrors(t *testing.T) {
baseErr := errors.New("base error")
firstWrap := Wrap(baseErr, "first wrap")
secondWrap := Wrap(firstWrap, "second wrap")
assert.Error(t, secondWrap)
assert.Contains(t, secondWrap.Error(), "second wrap")
assert.Contains(t, secondWrap.Error(), "first wrap")
assert.Contains(t, secondWrap.Error(), "base error")
assert.True(t, errors.Is(secondWrap, baseErr))
assert.True(t, errors.Is(secondWrap, firstWrap))
}
func TestWrap_ErrorFormatting(t *testing.T) {
originalErr := errors.New("database connection failed")
context := "failed to initialize user repository"
wrappedErr := Wrap(originalErr, context)
expectedMessage := "failed to initialize user repository: database connection failed"
assert.Equal(t, expectedMessage, wrappedErr.Error())
}