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) {
|
}, 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
|
// set limit manually to 10 segments
|
||||||
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
||||||
@ -190,6 +191,7 @@ func TestProjectSegmentLimit(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// successful upload
|
// successful upload
|
||||||
|
data := testrand.Bytes(160 * memory.KiB)
|
||||||
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/0", data)
|
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/0", data)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
@ -203,14 +205,17 @@ func TestProjectSegmentLimit(t *testing.T) {
|
|||||||
|
|
||||||
func TestProjectSegmentLimitInline(t *testing.T) {
|
func TestProjectSegmentLimitInline(t *testing.T) {
|
||||||
testplanet.Run(t, testplanet.Config{
|
testplanet.Run(t, testplanet.Config{
|
||||||
SatelliteCount: 1, UplinkCount: 1}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
SatelliteCount: 1, UplinkCount: 1,
|
||||||
data := testrand.Bytes(1 * memory.KiB)
|
}, 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
|
// set limit manually to 10 segments
|
||||||
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
||||||
err := accountingDB.UpdateProjectSegmentLimit(ctx, planet.Uplinks[0].Projects[0].ID, 10)
|
err := accountingDB.UpdateProjectSegmentLimit(ctx, planet.Uplinks[0].Projects[0].ID, 10)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
data := testrand.Bytes(1 * memory.KiB)
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < 10; i++ {
|
||||||
// successful upload
|
// successful upload
|
||||||
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/"+strconv.Itoa(i), data)
|
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) {
|
func TestProjectSegmentLimitMultipartUpload(t *testing.T) {
|
||||||
testplanet.Run(t, testplanet.Config{
|
testplanet.Run(t, testplanet.Config{
|
||||||
SatelliteCount: 1, UplinkCount: 1}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
|
SatelliteCount: 1, UplinkCount: 1,
|
||||||
data := testrand.Bytes(1 * memory.KiB)
|
}, 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
|
// set limit manually to 10 segments
|
||||||
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
accountingDB := planet.Satellites[0].DB.ProjectAccounting()
|
||||||
err := accountingDB.UpdateProjectSegmentLimit(ctx, planet.Uplinks[0].Projects[0].ID, 4)
|
err := accountingDB.UpdateProjectSegmentLimit(ctx, planet.Uplinks[0].Projects[0].ID, 4)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
data := testrand.Bytes(1 * memory.KiB)
|
||||||
for i := 0; i < 4; i++ {
|
for i := 0; i < 4; i++ {
|
||||||
// successful upload
|
// successful upload
|
||||||
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/"+strconv.Itoa(i), data)
|
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path/"+strconv.Itoa(i), data)
|
||||||
|
Loading…
Reference in New Issue
Block a user