github.com/kubeshop/testkube@v1.17.23/pkg/executor/output/writer_test.go (about) 1 package output 2 3 import ( 4 "bytes" 5 "encoding/json" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 10 "github.com/kubeshop/testkube/pkg/executor/env" 11 ) 12 13 func TestJSONWrapWritter(t *testing.T) { 14 15 t.Run("test if output is wrapped correctly", func(t *testing.T) { 16 17 buff := bytes.NewBuffer([]byte("")) 18 19 writer := NewJSONWrapWriter(buff, env.NewManager()) 20 line1 := "some log line" 21 _, err := writer.Write([]byte(line1)) 22 assert.NoError(t, err) 23 line2 := "second log line" 24 _, err = writer.Write([]byte(line2)) 25 assert.NoError(t, err) 26 line3 := "second log line" 27 _, err = writer.Write([]byte(line3)) 28 assert.NoError(t, err) 29 lines := bytes.Split(buff.Bytes(), []byte("\n")) 30 31 var output Output 32 err = json.Unmarshal(lines[0], &output) 33 assert.NoError(t, err) 34 assert.Equal(t, line1, output.Content) 35 assert.Equal(t, TypeLogLine, output.Type_) 36 37 err = json.Unmarshal(lines[1], &output) 38 assert.NoError(t, err) 39 assert.Equal(t, line2, output.Content) 40 assert.Equal(t, TypeLogLine, output.Type_) 41 42 err = json.Unmarshal(lines[2], &output) 43 assert.NoError(t, err) 44 assert.Equal(t, line3, output.Content) 45 assert.Equal(t, TypeLogLine, output.Type_) 46 47 }) 48 49 }