Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d990952

Browse files
mniewrzalStorj Robot
authored andcommitted
satellite/metabase: speed up TestDeleteExpiredObjects
Change-Id: I3e08fc0c93bc2aa3379e9db819956512f1dfcf32
1 parent ad4daa7 commit d990952

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

satellite/metabase/delete_expired_test.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"testing"
88
"time"
99

10+
"github.com/stretchr/testify/require"
11+
1012
"storj.io/common/storj"
1113
"storj.io/common/testcontext"
1214
"storj.io/storj/satellite/metabase"
@@ -172,10 +174,32 @@ func TestDeleteExpiredObjects(t *testing.T) {
172174
now := time.Now()
173175
pastTime := now.Add(-1 * time.Hour)
174176

175-
for _, batchSize := range []int{0, 1, 2, 3, 8, 100} {
176-
for i := 0; i < 13; i++ {
177-
_ = metabasetest.CreateExpiredObject(ctx, t, db, metabasetest.RandObjectStream(), 3, pastTime)
178-
}
177+
// make objects/segments snapshot to use it later in a loop
178+
for range 13 {
179+
_ = metabasetest.CreateExpiredObject(ctx, t, db, metabasetest.RandObjectStream(), 3, pastTime)
180+
}
181+
182+
objects, err := db.TestingAllObjects(ctx)
183+
require.NoError(t, err)
184+
185+
segments, err := db.TestingAllSegments(ctx)
186+
require.NoError(t, err)
187+
188+
metabasetest.DeleteExpiredObjects{
189+
Opts: metabase.DeleteExpiredObjects{
190+
ExpiredBefore: time.Now(),
191+
DeleteConcurrency: 0,
192+
},
193+
}.Check(ctx, t, db)
194+
195+
metabasetest.Verify{}.Check(ctx, t, db)
196+
197+
for _, batchSize := range []int{1, 2, 3, 8, 100} {
198+
err = db.TestingBatchInsertObjects(ctx, metabasetest.ObjectsToRaw(objects...))
199+
require.NoError(t, err)
200+
201+
err = db.TestingBatchInsertSegments(ctx, metabasetest.SegmentsToRaw(segments))
202+
require.NoError(t, err)
179203

180204
metabasetest.DeleteExpiredObjects{
181205
Opts: metabase.DeleteExpiredObjects{

0 commit comments

Comments
 (0)