mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-10 17:32:15 +01:00
feat: add metrics system, move webhook feature to dedicated module (#372)
This commit is contained in:
89
pkg/modules/webhook/webhook_test.go
Normal file
89
pkg/modules/webhook/webhook_test.go
Normal file
@@ -0,0 +1,89 @@
|
||||
package webhook
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/gotenberg/gotenberg/v7/pkg/gotenberg"
|
||||
)
|
||||
|
||||
func TestWebhook_Descriptor(t *testing.T) {
|
||||
descriptor := Webhook{}.Descriptor()
|
||||
|
||||
actual := reflect.TypeOf(descriptor.New())
|
||||
expect := reflect.TypeOf(new(Webhook))
|
||||
|
||||
if actual != expect {
|
||||
t.Errorf("expected '%s' but got '%s'", expect, actual)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWebhook_Provision(t *testing.T) {
|
||||
mod := new(Webhook)
|
||||
ctx := gotenberg.NewContext(
|
||||
gotenberg.ParsedFlags{
|
||||
FlagSet: new(Webhook).Descriptor().FlagSet,
|
||||
},
|
||||
nil,
|
||||
)
|
||||
|
||||
err := mod.Provision(ctx)
|
||||
if err != nil {
|
||||
t.Errorf("expected no error but got: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWebhook_Middlewares(t *testing.T) {
|
||||
for i, tc := range []struct {
|
||||
expectMiddlewares int
|
||||
disable bool
|
||||
}{
|
||||
{
|
||||
expectMiddlewares: 1,
|
||||
},
|
||||
{
|
||||
disable: true,
|
||||
},
|
||||
} {
|
||||
mod := new(Webhook)
|
||||
mod.disable = tc.disable
|
||||
|
||||
middlewares, err := mod.Middlewares()
|
||||
if err != nil {
|
||||
t.Fatalf("test %d: expected no error but got: %v", i, err)
|
||||
}
|
||||
|
||||
if tc.expectMiddlewares != len(middlewares) {
|
||||
t.Errorf("test %d: expected %d middlewares but got %d", i, tc.expectMiddlewares, len(middlewares))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestWebhook_AddGraceDuration(t *testing.T) {
|
||||
for i, tc := range []struct {
|
||||
maxRetry int
|
||||
retryMaxWait time.Duration
|
||||
expectDuration time.Duration
|
||||
disable bool
|
||||
}{
|
||||
{
|
||||
maxRetry: 3,
|
||||
retryMaxWait: time.Duration(1) * time.Second,
|
||||
expectDuration: time.Duration(3) * time.Second,
|
||||
},
|
||||
{
|
||||
disable: true,
|
||||
},
|
||||
} {
|
||||
mod := new(Webhook)
|
||||
mod.maxRetry = tc.maxRetry
|
||||
mod.retryMaxWait = tc.retryMaxWait
|
||||
mod.disable = tc.disable
|
||||
|
||||
actual := mod.AddGraceDuration()
|
||||
if actual != tc.expectDuration {
|
||||
t.Errorf("test %d: expected '%s' but got '%s'", i, tc.expectDuration, actual)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user