github.com/secure-build/gitlab-runner@v12.5.0+incompatible/helpers/trace/buffer_test.go (about) 1 package trace 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestVariablesMasking(t *testing.T) { 11 traceMessage := "This is the secret message cont@ining :secret duplicateValues" 12 maskedValues := []string{ 13 "is", 14 "duplicateValue", 15 "duplicateValue", 16 ":secret", 17 "cont@ining", 18 } 19 20 buffer, err := New() 21 require.NoError(t, err) 22 defer buffer.Close() 23 24 buffer.SetMasked(maskedValues) 25 26 _, err = buffer.Write([]byte(traceMessage)) 27 require.NoError(t, err) 28 29 buffer.Finish() 30 31 content, err := buffer.Bytes(0, 1000) 32 require.NoError(t, err) 33 34 assert.Equal(t, "Th[MASKED] [MASKED] the secret message [MASKED] [MASKED] [MASKED]s", string(content)) 35 } 36 37 func TestTraceLimit(t *testing.T) { 38 traceMessage := "This is the long message" 39 40 buffer, err := New() 41 require.NoError(t, err) 42 defer buffer.Close() 43 44 buffer.SetLimit(10) 45 46 for i := 0; i < 100; i++ { 47 _, err = buffer.Write([]byte(traceMessage)) 48 require.NoError(t, err) 49 } 50 51 buffer.Finish() 52 53 content, err := buffer.Bytes(0, 1000) 54 require.NoError(t, err) 55 56 assert.Equal(t, "This is the\n\x1b[31;1mJob's log exceeded limit of 10 bytes.\x1b[0;m\n", 57 string(content)) 58 }