github.com/cobalt77/jfrog-client-go@v0.14.5/utils/io/fileutils/temp_test.go (about) 1 package fileutils 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestCleanOldDirs(t *testing.T) { 11 tempDir, err := CreateTempDir() 12 assert.NoError(t, err) 13 tempFile, err := CreateTempFile() 14 tempFile.Close() 15 assert.NoError(t, err) 16 17 // Check file exists. 18 _, err = os.Stat(tempDir) 19 assert.NoError(t, err) 20 _, err = os.Stat(tempFile.Name()) 21 assert.NoError(t, err) 22 23 // Don't delete valid files. 24 assert.NoError(t, CleanOldDirs()) 25 _, err = os.Stat(tempDir) 26 assert.NoError(t, err) 27 _, err = os.Stat(tempFile.Name()) 28 assert.NoError(t, err) 29 30 // Delete expired files. 31 oldMaxFileAge := maxFileAge 32 maxFileAge = 0 33 defer func() { maxFileAge = oldMaxFileAge }() 34 assert.NoError(t, CleanOldDirs()) 35 36 // Check if the file got deleted. 37 _, err1 := os.Stat(tempDir) 38 assert.True(t, os.IsNotExist(err1)) 39 _, err2 := os.Stat(tempFile.Name()) 40 assert.True(t, os.IsNotExist(err2)) 41 } 42 43 func TestExtractTimestamp(t *testing.T) { 44 // Extract time from a file. 45 fileName := "jfrog.cli.temp.-008652489-1595147819.json" 46 timeStamp, err := extractTimestamp(fileName) 47 assert.NoError(t, err) 48 assert.Equal(t, int64(8652489), timeStamp.Unix()) 49 50 // Extract time from a dir. 51 fileName = "asd-asjfrog.cli.temp.-008652489-1595147444" 52 timeStamp, err = extractTimestamp(fileName) 53 assert.NoError(t, err) 54 assert.Equal(t, int64(8652489), timeStamp.Unix()) 55 }