mirror of
https://github.com/teamhanko/hanko.git
synced 2025-10-29 15:49:41 +08:00
* 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
66 lines
1.4 KiB
Go
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)
|
|
}
|