From 4f816e313770401b79ce3cb03030b2c9f8b85c30 Mon Sep 17 00:00:00 2001 From: Anatoliy Date: Sun, 31 Mar 2019 12:02:31 +0100 Subject: [PATCH] Test timeline --- timeline_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 timeline_test.go diff --git a/timeline_test.go b/timeline_test.go new file mode 100644 index 0000000..91535e9 --- /dev/null +++ b/timeline_test.go @@ -0,0 +1,32 @@ +package witness + +import ( + "crypto/tls" + "net/http/httptrace" + "net/textproto" + "testing" + "time" +) + +func TestTimeline(t *testing.T) { + t.Run("event names", func(t *testing.T) { + tl := newTimeline(time.Now()) + tr := tl.tracer() + cases := map[string]func(){ + "Got100Continue": func() { tr.Got100Continue() }, + "Got1xxResponse": func() { tr.Got1xxResponse(0, textproto.MIMEHeader{}) }, + "DNSStart": func() { tr.DNSStart(httptrace.DNSStartInfo{}) }, + "DNSDone": func() { tr.DNSDone(httptrace.DNSDoneInfo{}) }, + "TLSHandshakeStart": func() { tr.TLSHandshakeStart() }, + "TLSHandshakeDone": func() { tr.TLSHandshakeDone(tls.ConnectionState{}, nil) }, + "Wait100Continue": func() { tr.Wait100Continue() }, + } + for name, fn := range cases { + tl.Events = make([]Event, 0, 1) + fn() + if tl.Events[0].Name != name { + t.Errorf("expected event with name %v, got %v", name, tl.Events[0].Name) + } + } + }) +}