From b6b8032a1759905adbb68355e994b0405054bcc0 Mon Sep 17 00:00:00 2001 From: Simon Eskildsen Date: Wed, 25 Mar 2015 03:09:45 +0000 Subject: [PATCH] listenbuffer: add test Signed-off-by: Simon Eskildsen --- pkg/listenbuffer/listen_buffer_test.go | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 pkg/listenbuffer/listen_buffer_test.go diff --git a/pkg/listenbuffer/listen_buffer_test.go b/pkg/listenbuffer/listen_buffer_test.go new file mode 100644 index 0000000000..6ffd2f7984 --- /dev/null +++ b/pkg/listenbuffer/listen_buffer_test.go @@ -0,0 +1,41 @@ +package listenbuffer + +import ( + "io/ioutil" + "net" + "testing" +) + +func TestListenBufferAllowsAcceptingWhenActivated(t *testing.T) { + lock := make(chan struct{}) + buffer, err := NewListenBuffer("tcp", "", lock) + if err != nil { + t.Fatal("Unable to create listen buffer: ", err) + } + + go func() { + conn, err := net.Dial("tcp", buffer.Addr().String()) + if err != nil { + t.Fatal("Client failed to establish connection to server: ", err) + } + + conn.Write([]byte("ping")) + conn.Close() + }() + + close(lock) + + client, err := buffer.Accept() + if err != nil { + t.Fatal("Failed to accept client: ", err) + } + + response, err := ioutil.ReadAll(client) + if err != nil { + t.Fatal("Failed to read from client: ", err) + } + + if string(response) != "ping" { + t.Fatal("Expected to receive ping from client, received: ", string(response)) + } +}