github.com/jfrog/jfrog-client-go@v1.40.2/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 defer func(originTempPrefix string) { 12 tempPrefix = originTempPrefix 13 }(tempPrefix) 14 tempPrefix = "test." + tempPrefix 15 tempDir, err := CreateTempDir() 16 assert.NoError(t, err) 17 tempFile, err := CreateTempFile() 18 assert.NoError(t, tempFile.Close()) 19 assert.NoError(t, err) 20 21 // Check file exists. 22 AssertFileExists(t, tempDir) 23 AssertFileExists(t, tempFile.Name()) 24 25 // Don't delete valid files. 26 assert.NoError(t, CleanOldDirs()) 27 AssertFileExists(t, tempDir) 28 AssertFileExists(t, tempFile.Name()) 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 } 56 57 func AssertFileExists(t *testing.T, name string) { 58 _, err := os.Stat(name) 59 assert.NoError(t, err) 60 }