snapshot of https://github.com/ThreeDotsLabs/watermill.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
master / ci (push) Failing after 0s

This commit is contained in:
upstream-mirror
2026-09-15 21:27:46 +05:00
commit ce933d1277
538 changed files with 46504 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
package middleware_test
import (
"errors"
"testing"
"github.com/stretchr/testify/assert"
"github.com/ThreeDotsLabs/watermill/message"
"github.com/ThreeDotsLabs/watermill/message/router/middleware"
)
var (
someMsg = message.NewMessage("1", nil)
)
func TestDuplicator(t *testing.T) {
var executionsCount int
producedMessages, err := middleware.Duplicator(func(msg *message.Message) ([]*message.Message, error) {
executionsCount++
return []*message.Message{msg}, nil
})(someMsg)
assert.NoError(t, err)
assert.Len(t, producedMessages, 2)
assert.Equal(t, "1", producedMessages[0].UUID)
assert.Equal(t, "1", producedMessages[1].UUID)
assert.Equal(t, 2, executionsCount)
}
func TestDuplicator_errors(t *testing.T) {
_, err := middleware.Duplicator(func(msg *message.Message) ([]*message.Message, error) {
return nil, errors.New("some error")
})(someMsg)
assert.Error(t, err, "some error")
var wasExecuted bool
_, err = middleware.Duplicator(func(msg *message.Message) ([]*message.Message, error) {
if wasExecuted {
return nil, errors.New("some other error")
}
wasExecuted = true
return []*message.Message{msg}, nil
})(someMsg)
assert.Error(t, err, "some other error")
}