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  }