hub.fastgit.org/hashicorp/consul.git@v1.4.5/logger/logfile_test.go (about) 1 package logger 2 3 import ( 4 "io/ioutil" 5 "os" 6 "testing" 7 "time" 8 9 "github.com/hashicorp/consul/testutil" 10 ) 11 12 const ( 13 testFileName = "Consul.log" 14 testDuration = 2 * time.Second 15 testBytes = 10 16 ) 17 18 func TestLogFile_timeRotation(t *testing.T) { 19 t.Parallel() 20 tempDir := testutil.TempDir(t, "LogWriterTime") 21 defer os.Remove(tempDir) 22 logFile := LogFile{fileName: testFileName, logPath: tempDir, duration: testDuration} 23 logFile.Write([]byte("Hello World")) 24 time.Sleep(2 * time.Second) 25 logFile.Write([]byte("Second File")) 26 want := 2 27 if got, _ := ioutil.ReadDir(tempDir); len(got) != want { 28 t.Errorf("Expected %d files, got %v file(s)", want, len(got)) 29 } 30 } 31 32 func TestLogFile_openNew(t *testing.T) { 33 t.Parallel() 34 tempDir := testutil.TempDir(t, "LogWriterOpen") 35 defer os.Remove(tempDir) 36 logFile := LogFile{fileName: testFileName, logPath: tempDir, duration: testDuration} 37 38 if err := logFile.openNew(); err != nil { 39 t.Errorf("Expected open file %s, got an error (%s)", testFileName, err) 40 } 41 42 if _, err := ioutil.ReadFile(logFile.FileInfo.Name()); err != nil { 43 t.Errorf("Expected readable file %s, got an error (%s)", logFile.FileInfo.Name(), err) 44 } 45 } 46 47 func TestLogFile_byteRotation(t *testing.T) { 48 t.Parallel() 49 tempDir := testutil.TempDir(t, "LogWriterBytes") 50 defer os.Remove(tempDir) 51 logFile := LogFile{fileName: testFileName, logPath: tempDir, MaxBytes: testBytes, duration: 24 * time.Hour} 52 logFile.Write([]byte("Hello World")) 53 logFile.Write([]byte("Second File")) 54 want := 2 55 tempFiles, _ := ioutil.ReadDir(tempDir) 56 if got := tempFiles; len(got) != want { 57 t.Errorf("Expected %d files, got %v file(s)", want, len(got)) 58 } 59 }