1
0
mirror of https://github.com/docker/docs.git synced 2026-11-05 00:14:17 +03:00
Files
docs/inmem/stack_test.go
Solomon Hykes 12b5459a1c inmem.StackSender: a dynamic beam forwarded with health checks
StackSender forwards beam messages to a dynamic list of backend receivers.
New backends are stacked on top. When a message is sent, each backend is
tried until one succeeds. Any failing backends encountered along the way
are removed from the queue.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-05-16 18:46:23 -07:00

34 lines
607 B
Go

package inmem
import (
"github.com/dotcloud/docker/pkg/testutils"
"strings"
"testing"
)
func TestSendStack(t *testing.T) {
r, w := Pipe()
defer r.Close()
defer w.Close()
s := NewStackSender()
s.Add(w)
testutils.Timeout(t, func() {
go func() {
msg, _, _, err := r.Receive(0)
if err != nil {
t.Fatal(err)
}
if msg.Name != "hello" {
t.Fatalf("%#v", msg)
}
if strings.Join(msg.Args, " ") != "wonderful world" {
t.Fatalf("%#v", msg)
}
}()
_, _, err := s.Send(&Message{"hello", []string{"wonderful", "world"}, nil}, 0)
if err != nil {
t.Fatal(err)
}
})
}