From 3551362d5cb2d4a1cfa6acaf2e19cd78a55e6be1 Mon Sep 17 00:00:00 2001 From: xtaci Date: Thu, 1 Sep 2016 17:31:53 +0800 Subject: [PATCH] add more tests --- session_test.go | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/session_test.go b/session_test.go index 620860f..d36d20c 100644 --- a/session_test.go +++ b/session_test.go @@ -140,6 +140,55 @@ func TestParallel(t *testing.T) { session.Close() } +func TestCloseThenOpen(t *testing.T) { + cli, err := net.Dial("tcp", "127.0.0.1:19999") + if err != nil { + t.Fatal(err) + } + session, _ := Client(cli, nil) + session.Close() + if _, err := session.OpenStream(); err == nil { + t.Fatal("opened after close") + } +} + +func TestIsClose(t *testing.T) { + cli, err := net.Dial("tcp", "127.0.0.1:19999") + if err != nil { + t.Fatal(err) + } + session, _ := Client(cli, nil) + session.Close() + if session.IsClosed() != true { + t.Fatal("still open after close") + } +} + +func TestKeepAliveTimeout(t *testing.T) { + ln, err := net.Listen("tcp", "127.0.0.1:29999") + if err != nil { + // handle error + panic(err) + } + go func() { + ln.Accept() + }() + + cli, err := net.Dial("tcp", "127.0.0.1:29999") + if err != nil { + t.Fatal(err) + } + + config := DefaultConfig() + config.KeepAliveInterval = 1 + config.KeepAliveTimeout = 2 + session, _ := Client(cli, config) + <-time.After(3 * time.Second) + if session.IsClosed() != true { + t.Fatal("keepalive-timeout failed") + } +} + func BenchmarkAcceptClose(b *testing.B) { cli, err := net.Dial("tcp", "127.0.0.1:19999") if err != nil {