f61230a670
A chore responsible for purging data from the console DB has been implemented. Currently, it removes old records for unverified user accounts. We plan to extend this functionality to include expired project member invitations in the future. Resolves #5790 References #5816 Change-Id: I1f3ef62fc96c10a42a383804b3b1d2846d7813f7
79 lines
2.1 KiB
Go
79 lines
2.1 KiB
Go
// Copyright (C) 2022 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package main_test
|
|
|
|
import (
|
|
"os"
|
|
"strconv"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"storj.io/common/memory"
|
|
"storj.io/common/testcontext"
|
|
"storj.io/common/testrand"
|
|
"storj.io/common/uuid"
|
|
segmentverify "storj.io/storj/cmd/tools/segment-verify"
|
|
"storj.io/storj/private/testplanet"
|
|
)
|
|
|
|
func TestProcess(t *testing.T) {
|
|
testplanet.Run(t, testplanet.Config{
|
|
SatelliteCount: 1, StorageNodeCount: 4, UplinkCount: 1,
|
|
}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
|
satellite := planet.Satellites[0]
|
|
|
|
verifier := segmentverify.NewVerifier(
|
|
planet.Log().Named("verifier"),
|
|
satellite.Dialer,
|
|
satellite.Orders.Service,
|
|
segmentverify.VerifierConfig{
|
|
PerPieceTimeout: time.Second,
|
|
OrderRetryThrottle: 500 * time.Millisecond,
|
|
RequestThrottle: 500 * time.Millisecond,
|
|
})
|
|
|
|
config := segmentverify.ServiceConfig{
|
|
NotFoundPath: ctx.File("not-found.csv"),
|
|
RetryPath: ctx.File("retry.csv"),
|
|
ProblemPiecesPath: ctx.File("problem-pieces.csv"),
|
|
Check: 2,
|
|
BatchSize: 4,
|
|
Concurrency: 2,
|
|
MaxOffline: 3,
|
|
}
|
|
|
|
service, err := segmentverify.NewService(
|
|
planet.Log().Named("process"),
|
|
satellite.Metabase.DB,
|
|
verifier,
|
|
satellite.Overlay.Service,
|
|
config)
|
|
require.NoError(t, err)
|
|
|
|
// upload some data
|
|
data := testrand.Bytes(8 * memory.KiB)
|
|
for _, up := range planet.Uplinks {
|
|
for i := 0; i < 10; i++ {
|
|
err := up.Upload(ctx, satellite, "bucket1", strconv.Itoa(i), data)
|
|
require.NoError(t, err)
|
|
}
|
|
}
|
|
|
|
err = service.ProcessRange(ctx, uuid.UUID{}, uuid.Max())
|
|
require.NoError(t, err)
|
|
|
|
require.NoError(t, service.Close())
|
|
|
|
retryCSV, err := os.ReadFile(config.RetryPath)
|
|
require.NoError(t, err)
|
|
require.Equal(t, "stream id,position,found,not found,retry\n", string(retryCSV))
|
|
|
|
notFoundCSV, err := os.ReadFile(config.NotFoundPath)
|
|
require.NoError(t, err)
|
|
require.Equal(t, "stream id,position,found,not found,retry\n", string(notFoundCSV))
|
|
})
|
|
}
|