|
7 | 7 | "testing" |
8 | 8 | "time" |
9 | 9 |
|
| 10 | + "github.com/stretchr/testify/require" |
| 11 | + |
10 | 12 | "storj.io/common/storj" |
11 | 13 | "storj.io/common/testcontext" |
12 | 14 | "storj.io/storj/satellite/metabase" |
@@ -172,10 +174,32 @@ func TestDeleteExpiredObjects(t *testing.T) { |
172 | 174 | now := time.Now() |
173 | 175 | pastTime := now.Add(-1 * time.Hour) |
174 | 176 |
|
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) |
179 | 203 |
|
180 | 204 | metabasetest.DeleteExpiredObjects{ |
181 | 205 | Opts: metabase.DeleteExpiredObjects{ |
|
0 commit comments