satellite/accounting: fix TestProjectSegmentLimit*
Tally ensures that live accounting has the latest information, however, when there are concurrent updates to live-accounting it may by off by a few segments. Disable tally for those tests. Change-Id: I6fa8a1794334bba093e18f29cb76e7b8d1244979
This commit is contained in:
parent
b1e7d70a86
commit
23631dc8bb
@ -182,7 +182,8 @@ func TestProjectSegmentLimit(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
||||
data := testrand.Bytes(160 * memory.KiB)
|
||||
// tally self-corrects live accounting, however, it may cause things to be temporarily off by a few segments.
|
||||
planet.Satellites[0].Accounting.Tally.Loop.Pause()
|
||||
|
||||
// set limit manually to 10 segments
|
||||
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
||||
@ -190,6 +191,7 @@ func TestProjectSegmentLimit(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// successful upload
|
||||
data := testrand.Bytes(160 * memory.KiB)
|
||||
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/0", data)
|
||||
require.NoError(t, err)
|
||||
|
||||
@ -203,14 +205,17 @@ func TestProjectSegmentLimit(t *testing.T) {
|
||||
|
||||
func TestProjectSegmentLimitInline(t *testing.T) {
|
||||
testplanet.Run(t, testplanet.Config{
|
||||
SatelliteCount: 1, UplinkCount: 1}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
||||
data := testrand.Bytes(1 * memory.KiB)
|
||||
SatelliteCount: 1, UplinkCount: 1,
|
||||
}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
||||
// tally self-corrects live accounting, however, it may cause things to be temporarily off by a few segments.
|
||||
planet.Satellites[0].Accounting.Tally.Loop.Pause()
|
||||
|
||||
// set limit manually to 10 segments
|
||||
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
||||
err := accountingDB.UpdateProjectSegmentLimit(ctx, planet.Uplinks[0].Projects[0].ID, 10)
|
||||
require.NoError(t, err)
|
||||
|
||||
data := testrand.Bytes(1 * memory.KiB)
|
||||
for i := 0; i < 10; i++ {
|
||||
// successful upload
|
||||
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/"+strconv.Itoa(i), data)
|
||||
@ -260,14 +265,17 @@ func TestProjectBandwidthLimitWithoutCache(t *testing.T) {
|
||||
|
||||
func TestProjectSegmentLimitMultipartUpload(t *testing.T) {
|
||||
testplanet.Run(t, testplanet.Config{
|
||||
SatelliteCount: 1, UplinkCount: 1}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
||||
data := testrand.Bytes(1 * memory.KiB)
|
||||
SatelliteCount: 1, UplinkCount: 1,
|
||||
}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
||||
// tally self-corrects live accounting, however, it may cause things to be temporarily off by a few segments.
|
||||
planet.Satellites[0].Accounting.Tally.Loop.Pause()
|
||||
|
||||
// set limit manually to 10 segments
|
||||
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
||||
err := accountingDB.UpdateProjectSegmentLimit(ctx, planet.Uplinks[0].Projects[0].ID, 4)
|
||||
require.NoError(t, err)
|
||||
|
||||
data := testrand.Bytes(1 * memory.KiB)
|
||||
for i := 0; i < 4; i++ {
|
||||
// successful upload
|
||||
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/"+strconv.Itoa(i), data)
|
||||
|
Loading…
Reference in New Issue
Block a user