github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/transferfiles/state/testutils.go (about) 1 package state 2 3 import ( 4 "github.com/jfrog/build-info-go/utils" 5 "github.com/jfrog/jfrog-cli-core/v2/utils/coreutils" 6 "github.com/jfrog/jfrog-cli-core/v2/utils/tests" 7 "github.com/stretchr/testify/assert" 8 "testing" 9 ) 10 11 func InitStateTest(t *testing.T) (stateManager *TransferStateManager, cleanUp func()) { 12 cleanUpJfrogHome, err := tests.SetJfrogHome() 13 assert.NoError(t, err) 14 15 // Create transfer directory 16 transferDir, err := coreutils.GetJfrogTransferDir() 17 assert.NoError(t, err) 18 err = utils.CreateDirIfNotExist(transferDir) 19 assert.NoError(t, err) 20 21 stateManager, err = NewTransferStateManager(true) 22 assert.NoError(t, err) 23 24 undoSaveInterval := SetAutoSaveState() 25 return stateManager, func() { 26 undoSaveInterval() 27 cleanUpJfrogHome() 28 } 29 } 30 31 // Set the state's save-interval to 0 so every action will be persisted and data can be asserted. 32 func SetAutoSaveState() (cleanUp func()) { 33 previousSaveInterval := stateAndStatusSaveIntervalSecs 34 stateAndStatusSaveIntervalSecs = 0 35 return func() { 36 stateAndStatusSaveIntervalSecs = previousSaveInterval 37 } 38 }