code.gitea.io/gitea@v1.19.3/modules/log/buffer_test.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package log 5 6 import ( 7 "fmt" 8 "strings" 9 "testing" 10 "time" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestBufferLogger(t *testing.T) { 16 logger := NewBufferLogger() 17 bufferLogger := logger.(*BufferLogger) 18 assert.NotNil(t, bufferLogger) 19 20 err := logger.Init("") 21 assert.NoError(t, err) 22 23 location, _ := time.LoadLocation("EST") 24 date := time.Date(2019, time.January, 13, 22, 3, 30, 15, location) 25 26 msg := "TEST MSG" 27 event := Event{ 28 level: INFO, 29 msg: msg, 30 caller: "CALLER", 31 filename: "FULL/FILENAME", 32 line: 1, 33 time: date, 34 } 35 logger.LogEvent(&event) 36 content, err := bufferLogger.Content() 37 assert.NoError(t, err) 38 assert.Contains(t, content, msg) 39 logger.Close() 40 } 41 42 func TestBufferLoggerContent(t *testing.T) { 43 level := INFO 44 logger := NewLogger(0, "console", "console", fmt.Sprintf(`{"level":"%s"}`, level.String())) 45 46 logger.SetLogger("buffer", "buffer", "{}") 47 defer logger.DelLogger("buffer") 48 49 msg := "A UNIQUE MESSAGE" 50 Error(msg) 51 52 found := false 53 for i := 0; i < 30000; i++ { 54 content, err := logger.GetLoggerProviderContent("buffer") 55 assert.NoError(t, err) 56 if strings.Contains(content, msg) { 57 found = true 58 break 59 } 60 time.Sleep(1 * time.Millisecond) 61 } 62 assert.True(t, found) 63 }