fs: Make tests create a new bucket rather than purging the old one

This enables QingStor to pass the tests as it has a 2 minute lockout
on deleting the old bucket then creating it again.
This commit is contained in:
Nick Craig-Wood 2017-08-04 17:08:16 +01:00
parent 7d34caac83
commit f682002b84

View file

@ -687,7 +687,11 @@ func TestSyncWithTrackRenames(t *testing.T) {
} }
// Test a server side move if possible, or the backup path if not // Test a server side move if possible, or the backup path if not
func testServerSideMove(t *testing.T, r *Run, fremoteMove fs.Fs, withFilter bool) { func testServerSideMove(t *testing.T, r *Run, withFilter bool) {
fremoteMove, _, finaliseMove, err := fstest.RandomRemote(*fstest.RemoteName, *fstest.SubDir)
require.NoError(t, err)
defer finaliseMove()
file1 := r.WriteBoth("potato2", "------------------------------------------------------------", t1) file1 := r.WriteBoth("potato2", "------------------------------------------------------------", t1)
file2 := r.WriteBoth("empty space", "", t2) file2 := r.WriteBoth("empty space", "", t2)
file3u := r.WriteBoth("potato3", "------------------------------------------------------------ UPDATED", t2) file3u := r.WriteBoth("potato3", "------------------------------------------------------------ UPDATED", t2)
@ -703,7 +707,7 @@ func testServerSideMove(t *testing.T, r *Run, fremoteMove fs.Fs, withFilter bool
// Do server side move // Do server side move
fs.Stats.ResetCounters() fs.Stats.ResetCounters()
err := fs.MoveDir(fremoteMove, r.fremote) err = fs.MoveDir(fremoteMove, r.fremote)
require.NoError(t, err) require.NoError(t, err)
if withFilter { if withFilter {
@ -713,20 +717,21 @@ func testServerSideMove(t *testing.T, r *Run, fremoteMove fs.Fs, withFilter bool
} }
fstest.CheckItems(t, fremoteMove, file2, file1, file3u) fstest.CheckItems(t, fremoteMove, file2, file1, file3u)
// Purge the original before moving // Create a new empty remote for stuff to be moved into
require.NoError(t, fs.Purge(r.fremote)) fremoteMove2, _, finaliseMove2, err := fstest.RandomRemote(*fstest.RemoteName, *fstest.SubDir)
fstest.CheckItems(t, r.fremote) require.NoError(t, err)
defer finaliseMove2()
// Move it back again, dst does not exist this time // Move it back to a new empty remote, dst does not exist this time
fs.Stats.ResetCounters() fs.Stats.ResetCounters()
err = fs.MoveDir(r.fremote, fremoteMove) err = fs.MoveDir(fremoteMove2, fremoteMove)
require.NoError(t, err) require.NoError(t, err)
if withFilter { if withFilter {
fstest.CheckItems(t, r.fremote, file1, file3u) fstest.CheckItems(t, fremoteMove2, file1, file3u)
fstest.CheckItems(t, fremoteMove, file2) fstest.CheckItems(t, fremoteMove, file2)
} else { } else {
fstest.CheckItems(t, r.fremote, file2, file1, file3u) fstest.CheckItems(t, fremoteMove2, file2, file1, file3u)
fstest.CheckItems(t, fremoteMove) fstest.CheckItems(t, fremoteMove)
} }
} }
@ -735,10 +740,7 @@ func testServerSideMove(t *testing.T, r *Run, fremoteMove fs.Fs, withFilter bool
func TestServerSideMove(t *testing.T) { func TestServerSideMove(t *testing.T) {
r := NewRun(t) r := NewRun(t)
defer r.Finalise() defer r.Finalise()
fremoteMove, _, finaliseMove, err := fstest.RandomRemote(*fstest.RemoteName, *fstest.SubDir) testServerSideMove(t, r, false)
require.NoError(t, err)
defer finaliseMove()
testServerSideMove(t, r, fremoteMove, false)
} }
// Test a server side move if possible, or the backup path if not // Test a server side move if possible, or the backup path if not
@ -751,10 +753,7 @@ func TestServerSideMoveWithFilter(t *testing.T) {
fs.Config.Filter.MinSize = -1 fs.Config.Filter.MinSize = -1
}() }()
fremoteMove, _, finaliseMove, err := fstest.RandomRemote(*fstest.RemoteName, *fstest.SubDir) testServerSideMove(t, r, true)
require.NoError(t, err)
defer finaliseMove()
testServerSideMove(t, r, fremoteMove, true)
} }
// Test a server side move with overlap // Test a server side move with overlap