From 8104b14a8df12db9691f502560e21f0ef7b17c9a Mon Sep 17 00:00:00 2001 From: Solomon Hykes Date: Mon, 31 Mar 2014 12:54:50 -0700 Subject: [PATCH] beam: more unit tests This adds testing to SendConn. Docker-DCO-1.1-Signed-off-by: Solomon Hykes (github: shykes) --- beam/beam_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 beam/beam_test.go diff --git a/beam/beam_test.go b/beam/beam_test.go new file mode 100644 index 0000000..3c938d9 --- /dev/null +++ b/beam/beam_test.go @@ -0,0 +1,39 @@ +package beam + +import ( + "testing" + "github.com/dotcloud/docker/pkg/beam/data" +) + +func TestSendConn(t *testing.T) { + a, b, err := USocketPair() + if err != nil { + t.Fatal(err) + } + defer a.Close() + defer b.Close() + go func() { + conn, err := SendConn(a, data.Empty().Set("type", "connection").Bytes()) + if err != nil { + t.Fatal(err) + } + if err := conn.Send(data.Empty().Set("foo", "bar").Bytes(), nil); err != nil { + t.Fatal(err) + } + conn.CloseWrite() + }() + payload, conn, err := ReceiveConn(b) + if err != nil { + t.Fatal(err) + } + if val := data.Message(string(payload)).Get("type"); val == nil || val[0] != "connection" { + t.Fatalf("%v != %v\n", val, "connection") + } + msg, _, err := conn.Receive() + if err != nil { + t.Fatal(err) + } + if val := data.Message(string(msg)).Get("foo"); val == nil || val[0] != "bar" { + t.Fatalf("%v != %v\n", val, "bar") + } +}