diff --git a/stats/dumper_test.go b/stats/dumper_test.go index 62ac10f..18a32a1 100644 --- a/stats/dumper_test.go +++ b/stats/dumper_test.go @@ -4,41 +4,50 @@ import ( "bytes" "testing" - "github.com/stretchr/testify/assert" + godiff "github.com/kylelemons/godebug/diff" ) func TestDumpStats(t *testing.T) { - outw := new(bytes.Buffer) - po := NewPrintOptions() - stats := NewHTTPStats(true, false, false, po) + got := new(bytes.Buffer) + stats := NewHTTPStats(true, false, false) stats.Set("/foo/bar", "POST", 200, 0.057, 12, 0) - err := stats.DumpStats(outw) - assert.Nil(t, err) + err := stats.DumpStats(got) + if err != nil { + t.Fatal(err) + } - data := bytes.NewBufferString(`- uri: /foo/bar - cnt: 1 + want := bytes.NewBufferString(`- uri: /foo/bar + count: 1 status1xx: 0 status2xx: 1 status3xx: 0 status4xx: 0 status5xx: 0 method: POST - responsetime: + response_time: max: 0.057 min: 0.057 sum: 0.057 + usepercentile: true percentiles: - 0.057 - requestbodysize: + request_body_bytes: max: 12 min: 12 sum: 12 - responsebodysize: + usepercentile: false + percentiles: [] + response_body_bytes: max: 0 min: 0 sum: 0 + usepercentile: false + percentiles: [] + time: "" `) - assert.Equal(t, data, outw) + if diff := godiff.Diff(got.String(), want.String()); diff != "" { + t.Errorf("diff\n%s", diff) + } } diff --git a/stats/loader_test.go b/stats/loader_test.go index a1fd93a..bb63369 100644 --- a/stats/loader_test.go +++ b/stats/loader_test.go @@ -3,49 +3,95 @@ package stats import ( "bytes" "testing" - - "github.com/stretchr/testify/assert" ) func TestLoadStats(t *testing.T) { data := bytes.NewBufferString(`- uri: /foo/bar - cnt: 1 + count: 1 status1xx: 0 status2xx: 1 status3xx: 0 status4xx: 0 status5xx: 0 method: POST - responsetime: + response_time: max: 0.057 min: 0.057 sum: 0.057 + usepercentile: true percentiles: - 0.057 - requestbodysize: + request_body_bytes: max: 12 min: 12 sum: 12 - responsebodysize: + usepercentile: false + percentiles: [] + response_body_bytes: max: 0 min: 0 - sum: 0`) + sum: 0 + usepercentile: false + percentiles: [] + time: "" +`) stats := NewHTTPStats(true, false, false) err := stats.LoadStats(data) - assert.Nil(t, err) + if err != nil { + t.Fatal(err) + } s := stats.Stats() - assert.Equal(t, 1, s[0].Cnt) - assert.Equal(t, "POST", s[0].Method) - assert.Equal(t, "/foo/bar", s[0].Uri) - assert.Equal(t, float64(12), s[0].RequestBodyBytes.Max) - assert.Equal(t, 0.057, s[0].ResponseTime.Max) - assert.Equal(t, 0, s[0].Status1xx) - assert.Equal(t, 1, s[0].Status2xx) - assert.Equal(t, 0, s[0].Status3xx) - assert.Equal(t, 0, s[0].Status4xx) - assert.Equal(t, 0, s[0].Status5xx) + count := 1 + if count != s[0].Cnt { + t.Errorf(`count want: %d, got: %d`, count, s[0].Cnt) + } + + method := "POST" + if method != s[0].Method { + t.Errorf(`method want: %s, got: %s`, method, s[0].Method) + } + + uri := "/foo/bar" + if uri != s[0].Uri { + t.Errorf(`uri want: %s, got: %s`, uri, s[0].Uri) + } + + bodyMax := float64(12) + if bodyMax != s[0].RequestBodyBytes.Max { + t.Errorf(`request body bytes max want: %f, got: %f`, bodyMax, s[0].RequestBodyBytes.Max) + } + + restimeMax := float64(0.057) + if restimeMax != s[0].ResponseTime.Max { + t.Errorf(`response time max want: %f, got: %f`, restimeMax, s[0].ResponseTime.Max) + } + + status1xx := 0 + if status1xx != s[0].Status1xx { + t.Errorf(`status1xx want: %d, got: %d`, status1xx, s[0].Status1xx) + } + + status2xx := 1 + if status2xx != s[0].Status2xx { + t.Errorf(`status2xx want: %d, got: %d`, status2xx, s[0].Status2xx) + } + + status3xx := 0 + if status3xx != s[0].Status3xx { + t.Errorf(`status3xx want: %d, got: %d`, status3xx, s[0].Status3xx) + } + + status4xx := 0 + if status4xx != s[0].Status4xx { + t.Errorf(`status4xx want: %d, got: %d`, status4xx, s[0].Status4xx) + } + + status5xx := 0 + if status5xx != s[0].Status5xx { + t.Errorf(`status5xx want: %d, got: %d`, status5xx, s[0].Status5xx) + } }