Files
hanko/backend/webhooks/config_hook_test.go
Stefan Jacobi 3cafb66754 feat(webhooks): add tests and fix review issues
* add tests for webhooks
* improve error handling when context does not contain webhook manager
* add logging to worker and fix nesting error overwrite
* remove enable and disable methods in favor for update method
* move data in jwt from subject claim to custom `data` claim
* add event in jwt to custom `evt` claim
* change webhook trigger to only fire once per hook (was once per subscribed event in hook before)

Closes #692
2024-01-17 14:19:10 +01:00

66 lines
1.4 KiB
Go

package webhooks
import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/teamhanko/hanko/backend/config"
"github.com/teamhanko/hanko/backend/webhooks/events"
"testing"
"time"
)
func TestNewConfigHook(t *testing.T) {
hook := config.Webhook{
Callback: "http://lorem.ipsum",
Events: events.Events{events.User},
}
cfgHook := NewConfigHook(hook, nil)
require.NotEmpty(t, cfgHook)
}
func TestConfigHook_DisableOnExpiryDate(t *testing.T) {
now := time.Now()
hook := config.Webhook{
Callback: "http://lorem.ipsum",
Events: events.Events{events.User},
}
dbHook := NewConfigHook(hook, nil)
err := dbHook.DisableOnExpiryDate(now)
assert.NoError(t, err)
}
func TestConfigHook_DisableOnFailure(t *testing.T) {
hook := config.Webhook{
Callback: "http://lorem.ipsum",
Events: events.Events{events.User},
}
dbHook := NewConfigHook(hook, nil)
err := dbHook.DisableOnFailure()
assert.NoError(t, err)
}
func TestConfigHook_Reset(t *testing.T) {
hook := config.Webhook{
Callback: "http://lorem.ipsum",
Events: events.Events{events.User},
}
dbHook := NewConfigHook(hook, nil)
err := dbHook.Reset()
assert.NoError(t, err)
}
func TestConfigHook_IsEnabled(t *testing.T) {
hook := config.Webhook{
Callback: "http://lorem.ipsum",
Events: events.Events{events.User},
}
dbHook := NewConfigHook(hook, nil)
isEnabled := dbHook.IsEnabled()
require.True(t, isEnabled)
}