76 lines
2.4 KiB
Go
76 lines
2.4 KiB
Go
package csvparser
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestCorrectLines(t *testing.T) {
|
|
var csvParser CsvParser
|
|
csvParser.Initialize(" ", []string{"\"\"", "[]"}, "firstname lastname complete_name")
|
|
line := ""
|
|
fmt.Println("parsing:", line)
|
|
event, err := csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
fmt.Println("event is", event)
|
|
|
|
line = "John"
|
|
fmt.Println("parsing:", line)
|
|
event, err = csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
fmt.Println("event is", event)
|
|
|
|
line = "John Doe"
|
|
fmt.Println("parsing:", line)
|
|
event, err = csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
fmt.Println("event is", event)
|
|
|
|
line = "John \"John Doe\" Doe"
|
|
fmt.Println("parsing:", line)
|
|
event, err = csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
fmt.Println("event is", event)
|
|
|
|
line = "John Doe \"John Doe\""
|
|
fmt.Println("parsing:", line)
|
|
event, err = csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
fmt.Println("event is", event)
|
|
|
|
line = "John Doe \"John Doe\"\\\\"
|
|
fmt.Println("parsing:", line)
|
|
event, err = csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
fmt.Println("event is", event)
|
|
|
|
line = "John Doe I don't know him"
|
|
fmt.Println("parsing:", line)
|
|
event, err = csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
csvParser.Initialize(" \t", []string{"\"\"", "[]"}, "ignore ignore ignore proxy ignore domain clientip ignore ignore apache-date request status bytes duration referer user-agent")
|
|
fmt.Println("event is", event)
|
|
line = "Aug 7 00:00:00 proxy-4 haproxy[17429]: www.yvelines.gouv.fr 66.249.64.10 - - [06/Aug/2024:23:59:59 +0200] \"GET /content/download/19274/117923/file/SE_EAU_20190325_LesJardines_78201900027_LetNotifCompletude+recepisse.pdf HTTP/1.1\" 301 1414 240 \"\" \"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.182 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)\" \"-\" \"GB\" \"15169\""
|
|
fmt.Println("parsing:", line)
|
|
event, err = csvParser.Parse(line)
|
|
if err != nil {
|
|
t.Fatalf("Parsing of empty line failed %v %v", err, event)
|
|
}
|
|
fmt.Println("event is", event)
|
|
|
|
}
|