heroku-cc/main_test.go

28 lines
626 B
Go

package main
import (
"testing"
"github.com/kr/pretty"
)
func TestParseLogLine(t *testing.T) {
const line = `2016-05-07T09:07:00.001490+00:00 heroku[router]: at=info method=GET path="/blog" host="brs.org" request_id=fc693802-8851-484e-aab4-1d013714b68b fwd="10.29.10.29" dyno=web.3 connect=2ms service=994ms status=200 bytes=552`
ll, err := ParseLogLine([]byte(line))
if err != nil {
t.Fatal(err)
}
ms := (ll.TimeTook.Nanoseconds() / 1000000) // ns -> ms == div 1e6
if ms != 996 {
t.Fatalf("invalid time took for this line")
}
if ll.Host != "brs.org" {
pretty.Println(ll)
t.Fatal("invalid host")
}
}