All checks were successful
Go CI/CD / go-ci (push) Successful in 1m47s
Introduce 'enforcer' package with `Sentinel` for rich error context and `ApplicationError` for custom error codes. Include tests, documentation updates, CI workflows, and foundational files like `GO.mod` for project setup.
50 lines
1.2 KiB
Go
50 lines
1.2 KiB
Go
package enforcer_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"gitstormr.dev/code-raider/noxarion-x/enforcer"
|
|
)
|
|
|
|
func TestRegisterError(t *testing.T) {
|
|
tests := []struct {
|
|
Error enforcer.ApplicationError
|
|
Message string
|
|
}{
|
|
{enforcer.ApplicationError(400_00_01_01), "Test error 1"},
|
|
{enforcer.ApplicationError(400_00_01_02), "Test error 2"},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
enforcer.RegisterError(test.Error, test.Message)
|
|
}
|
|
|
|
err := enforcer.ApplicationError(400_00_01_01)
|
|
if err.GetMessage() != "Test error 1" {
|
|
t.Errorf("expected message to be Test error 1")
|
|
}
|
|
err = enforcer.ApplicationError(400_00_01_02)
|
|
if err.GetMessage() != "Test error 2" {
|
|
t.Errorf("expected message to be Test error 2")
|
|
}
|
|
|
|
}
|
|
|
|
func TestRegisterErrorMap(t *testing.T) {
|
|
errorMap := map[enforcer.ApplicationError]string{
|
|
enforcer.ApplicationError(400_00_01_01): "Test error 1",
|
|
enforcer.ApplicationError(400_00_01_02): "Test error 2",
|
|
}
|
|
|
|
enforcer.RegisterErrorMap(errorMap)
|
|
|
|
err := enforcer.ApplicationError(400_00_01_01)
|
|
if err.GetMessage() != "Test error 1" {
|
|
t.Errorf("expected message to be Test error 1")
|
|
}
|
|
err = enforcer.ApplicationError(400_00_01_02)
|
|
if err.GetMessage() != "Test error 2" {
|
|
t.Errorf("expected message to be Test error 2")
|
|
}
|
|
}
|