@ -117,12 +117,7 @@ func TestEncodeAndUploadMessages(t *testing.T) {
io . WriteString ( l , tt . log )
io . WriteString ( l , tt . log )
body := <- ts . uploaded
body := <- ts . uploaded
data := make ( map [ string ] interface { } )
data := unmarshalOne ( t , body )
err := json . Unmarshal ( body , & data )
if err != nil {
t . Error ( err )
}
got := data [ "text" ]
got := data [ "text" ]
if got != tt . want {
if got != tt . want {
t . Errorf ( "%s: got %q; want %q" , tt . name , got . ( string ) , tt . want )
t . Errorf ( "%s: got %q; want %q" , tt . name , got . ( string ) , tt . want )
@ -154,11 +149,7 @@ func TestEncodeSpecialCases(t *testing.T) {
// JSON log message already contains a logtail field.
// JSON log message already contains a logtail field.
io . WriteString ( l , ` { "logtail": "LOGTAIL", "text": "text"} ` )
io . WriteString ( l , ` { "logtail": "LOGTAIL", "text": "text"} ` )
body := <- ts . uploaded
body := <- ts . uploaded
data := make ( map [ string ] interface { } )
data := unmarshalOne ( t , body )
err := json . Unmarshal ( body , & data )
if err != nil {
t . Error ( err )
}
errorHasLogtail , ok := data [ "error_has_logtail" ]
errorHasLogtail , ok := data [ "error_has_logtail" ]
if ok {
if ok {
if errorHasLogtail != "LOGTAIL" {
if errorHasLogtail != "LOGTAIL" {
@ -186,11 +177,7 @@ func TestEncodeSpecialCases(t *testing.T) {
l . skipClientTime = true
l . skipClientTime = true
io . WriteString ( l , "text" )
io . WriteString ( l , "text" )
body = <- ts . uploaded
body = <- ts . uploaded
data = make ( map [ string ] interface { } )
data = unmarshalOne ( t , body )
err = json . Unmarshal ( body , & data )
if err != nil {
t . Error ( err )
}
_ , ok = data [ "logtail" ]
_ , ok = data [ "logtail" ]
if ok {
if ok {
t . Errorf ( "skipClientTime: unexpected logtail map present: %v" , data )
t . Errorf ( "skipClientTime: unexpected logtail map present: %v" , data )
@ -204,11 +191,7 @@ func TestEncodeSpecialCases(t *testing.T) {
longStr := strings . Repeat ( "0" , 512 )
longStr := strings . Repeat ( "0" , 512 )
io . WriteString ( l , longStr )
io . WriteString ( l , longStr )
body = <- ts . uploaded
body = <- ts . uploaded
data = make ( map [ string ] interface { } )
data = unmarshalOne ( t , body )
err = json . Unmarshal ( body , & data )
if err != nil {
t . Error ( err )
}
text , ok := data [ "text" ]
text , ok := data [ "text" ]
if ! ok {
if ! ok {
t . Errorf ( "lowMem: no text %v" , data )
t . Errorf ( "lowMem: no text %v" , data )
@ -219,7 +202,7 @@ func TestEncodeSpecialCases(t *testing.T) {
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
err = l . Shutdown ( context . Background ( ) )
err : = l . Shutdown ( context . Background ( ) )
if err != nil {
if err != nil {
t . Error ( err )
t . Error ( err )
}
}
@ -326,3 +309,16 @@ func TestPublicIDUnmarshalText(t *testing.T) {
t . Errorf ( "allocs = %v; want 0" , n )
t . Errorf ( "allocs = %v; want 0" , n )
}
}
}
}
func unmarshalOne ( t * testing . T , body [ ] byte ) map [ string ] interface { } {
t . Helper ( )
var entries [ ] map [ string ] interface { }
err := json . Unmarshal ( body , & entries )
if err != nil {
t . Error ( err )
}
if len ( entries ) != 1 {
t . Fatalf ( "expected one entry, got %d" , len ( entries ) )
}
return entries [ 0 ]
}