github.com/mondo192/jfrog-client-go@v1.0.0/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  }