noxarion-x/enforcer/application_error_test.go
Rene Nochebuena 06c778db51
All checks were successful
Go CI/CD / go-ci (push) Successful in 1m47s
Add initial enforcer module with structured error handling and CI
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.
2025-04-27 00:07:04 -06:00

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")
}
}