58 lines
1.7 KiB
Go
58 lines
1.7 KiB
Go
package messenger
|
|
|
|
import (
|
|
"bytes"
|
|
"errors"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNewUnmarshalError(t *testing.T) {
|
|
err := errors.New("some error")
|
|
unmarshalError := NewUnmarshalError(err)
|
|
assert.True(t, errors.Is(unmarshalError, ErrUnmarshal))
|
|
}
|
|
|
|
func TestUnmarshalError_Error(t *testing.T) {
|
|
err := errors.New("some error")
|
|
content := []byte("test content")
|
|
actual := NewUnmarshalError(err).WithContent(content).Error()
|
|
expected := "can not unmarshal content: test content; error: some error"
|
|
assert.Equal(t, expected, actual)
|
|
}
|
|
|
|
func TestUnmarshalError_Unwrap(t *testing.T) {
|
|
err := errors.New("some error")
|
|
actual := NewUnmarshalError(err).Unwrap()
|
|
expected := ErrUnmarshal
|
|
assert.Equal(t, expected, actual)
|
|
}
|
|
|
|
func TestUnmarshalError_WithContent(t *testing.T) {
|
|
err := errors.New("some error")
|
|
content := []byte("test content")
|
|
|
|
actual := NewUnmarshalError(err).WithContent(content)
|
|
expected := &UnmarshalError{Err: ErrUnmarshal, Content: content, ErrorText: err.Error()}
|
|
assert.Equal(t, expected, actual)
|
|
}
|
|
|
|
func TestUnmarshalError_WithReader(t *testing.T) {
|
|
err := errors.New("some error")
|
|
content := []byte("test content")
|
|
reader := bytes.NewReader(content)
|
|
|
|
actual := NewUnmarshalError(err).WithReader(reader)
|
|
expected := &UnmarshalError{Err: ErrUnmarshal, Content: content, ErrorText: err.Error()}
|
|
assert.Equal(t, expected, actual)
|
|
}
|
|
|
|
func TestUnmarshalError_WithErr(t *testing.T) {
|
|
someError := errors.New("some error")
|
|
otherError := errors.New("other error")
|
|
actual := NewUnmarshalError(someError).WithErr(otherError)
|
|
expected := &UnmarshalError{Err: otherError, ErrorText: someError.Error()}
|
|
assert.Equal(t, expected, actual)
|
|
}
|