mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 10:41:03 +01:00
4845b77177
relative to: #1601 and #1624
55 lines
941 B
Go
55 lines
941 B
Go
package accesslog
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/kataras/iris/v12/core/memstore"
|
|
)
|
|
|
|
func TestCSV(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
ac := New(buf)
|
|
ac.RequestBody = false
|
|
staticNow, _ := time.Parse(defaultTimeFormat, "1993-01-01 05:00:00")
|
|
ac.Clock = TClock(staticNow)
|
|
ac.SetFormatter(&CSV{
|
|
Header: true,
|
|
})
|
|
|
|
lat, _ := time.ParseDuration("1s")
|
|
|
|
print := func() {
|
|
ac.Print(
|
|
nil,
|
|
lat,
|
|
"",
|
|
200,
|
|
"GET",
|
|
"/",
|
|
"::1",
|
|
"",
|
|
"Index",
|
|
573,
|
|
81,
|
|
nil,
|
|
[]memstore.StringEntry{{Key: "sleep", Value: "1s"}},
|
|
nil)
|
|
}
|
|
|
|
// print twice, the header should only be written once.
|
|
print()
|
|
print()
|
|
|
|
expected := `Timestamp,Latency,Code,Method,Path,IP,Req Values,In,Out
|
|
725864400000,1s,200,GET,/,::1,sleep=1s,573,81
|
|
725864400000,1s,200,GET,/,::1,sleep=1s,573,81
|
|
`
|
|
|
|
ac.Close()
|
|
if got := buf.String(); expected != got {
|
|
t.Fatalf("expected:\n%s\n\nbut got:\n%s", expected, got)
|
|
}
|
|
}
|