Introduce comprehensive tests for core functionalities including error creation, metadata handling, wrapping, JSON conversion, and type validation. These tests ensure robustness and reliability of the stoneerror package.
54 lines
1.0 KiB
Go
54 lines
1.0 KiB
Go
package stoneerror
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
)
|
|
|
|
func Test_StoneErrorWithoutMetadata(t *testing.T) {
|
|
stoneError := New(1, "test")
|
|
|
|
t.Log(stoneError)
|
|
}
|
|
|
|
func Test_StoneErrorWithMetadata(t *testing.T) {
|
|
stoneError := New(1, "test").
|
|
WithMetadata("key", "value").
|
|
WithMetadata("key2", "value2")
|
|
|
|
t.Log(stoneError)
|
|
}
|
|
|
|
func Test_NormalWrap(t *testing.T) {
|
|
normalError := errors.New("test")
|
|
stoneError := Wrap(normalError, 1, "test")
|
|
t.Log(stoneError)
|
|
}
|
|
|
|
func Test_StoneWrap(t *testing.T) {
|
|
originalError := New(1, "test").
|
|
WithMetadata("key", "value").
|
|
WithMetadata("key2", "value2")
|
|
stoneError := Wrap(originalError, 1, "test")
|
|
t.Log(stoneError)
|
|
}
|
|
|
|
func Test_ToJSON(t *testing.T) {
|
|
stoneError := New(1, "test").
|
|
WithMetadata("key", "value").
|
|
WithMetadata("key2", "value2")
|
|
jsonData := stoneError.ToJSON()
|
|
t.Log(string(jsonData))
|
|
}
|
|
|
|
func Test_IsStoneError(t *testing.T) {
|
|
stoneError := New(1, "test").
|
|
WithMetadata("key", "value")
|
|
|
|
if IsStoneError(stoneError) {
|
|
t.Log("Is stone error")
|
|
} else {
|
|
t.Fail()
|
|
}
|
|
}
|