diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-19 08:40:55 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-19 08:40:55 +0300 |
| commit | 42013b111a3dadd603b423a0bcc4bcbd02da2add (patch) | |
| tree | fd1c3dbdccc0298ee11961f115a14fe18a1be9c5 /internal/hexaiaction/action_handler_test.go | |
| parent | 8dbec6969ceff32662c41bd267210c34b90d8810 (diff) | |
Harden action handler registration for nk0
Diffstat (limited to 'internal/hexaiaction/action_handler_test.go')
| -rw-r--r-- | internal/hexaiaction/action_handler_test.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/hexaiaction/action_handler_test.go b/internal/hexaiaction/action_handler_test.go index 1d811fe..92df3b1 100644 --- a/internal/hexaiaction/action_handler_test.go +++ b/internal/hexaiaction/action_handler_test.go @@ -55,6 +55,10 @@ func TestActionHandlerRegistryRejectsInvalidRegistrations(t *testing.T) { "nil handler": func(registry *actionHandlerRegistry) { registry.register(ActionKind("nil"), nil) }, + "typed nil handler": func(registry *actionHandlerRegistry) { + var handler actionHandlerFunc + registry.register(ActionKind("typed-nil"), handler) + }, "duplicate kind": func(registry *actionHandlerRegistry) { registry.register(ActionKind("dup"), actionHandlerFunc(handleSkipAction)) registry.register(ActionKind("dup"), actionHandlerFunc(handleSkipAction)) @@ -85,3 +89,14 @@ func TestActionHandlerRegistryNilPanicNamesKind(t *testing.T) { }() newActionHandlerRegistry().register(ActionCustom, nil) } + +func TestActionHandlerFuncNilExecuteReturnsError(t *testing.T) { + var handler actionHandlerFunc + _, err := handler.Execute(context.Background(), actionRequest{}) + if err == nil { + t.Fatal("expected error") + } + if !strings.Contains(err.Error(), "nil action handler") { + t.Fatalf("expected nil handler error, got %v", err) + } +} |
