diff --git a/commonspace/spacerpc_test.go b/commonspace/spacerpc_test.go index 6e87a36a..b4d04306 100644 --- a/commonspace/spacerpc_test.go +++ b/commonspace/spacerpc_test.go @@ -229,7 +229,7 @@ func (s *spaceProcess) Init(a *app.App) (err error) { s.manager = a.MustComponent(treemanager.CName).(*mockTreeManager) s.spaceServer = a.MustComponent(RpcName).(*RpcServer) s.accountService = a.MustComponent(accountservice.CName).(accountservice.Service) - s.periodicCall = periodicsync.NewPeriodicSyncDuration(5*time.Second, 0, s.update, log) + s.periodicCall = periodicsync.NewPeriodicSyncDuration(50*time.Millisecond, 0, s.update, log) return } @@ -253,7 +253,7 @@ func (s *spaceProcess) update(ctx context.Context) error { return err } var tr objecttree.ObjectTree - newDoc := rand.Int()%10 == 0 + newDoc := rand.Int()%20 == 0 snapshot := rand.Int()%10 == 0 allTrees := sp.StoredIds() if newDoc || len(allTrees) == 0 { diff --git a/commonspace/spaceutils_test.go b/commonspace/spaceutils_test.go index 8fe27108..4dd7b9e5 100644 --- a/commonspace/spaceutils_test.go +++ b/commonspace/spaceutils_test.go @@ -272,7 +272,7 @@ func (m *mockConfig) Name() (name string) { func (m *mockConfig) GetSpace() config.Config { return config.Config{ GCTTL: 60, - SyncPeriod: 20, + SyncPeriod: 5, KeepTreeDataInMemory: true, } } @@ -584,6 +584,7 @@ type spaceFixture struct { treeManager *mockTreeManager pool *mockPool spaceService SpaceService + process *spaceProcess cancelFunc context.CancelFunc } @@ -634,6 +635,7 @@ func newFixtureWithData(t *testing.T, spaceId string, keys *accountdata.AccountK treeManager: newMockTreeManager(spaceId), pool: &mockPool{}, spaceService: New(), + process: newSpaceProcess(spaceId), } fx.app.Register(fx.account). Register(fx.config). @@ -650,7 +652,7 @@ func newFixtureWithData(t *testing.T, spaceId string, keys *accountdata.AccountK Register(fx.treeManager). Register(fx.spaceService). Register(NewRpcServer()). - Register(newSpaceProcess(spaceId)) + Register(fx.process) err := fx.app.Start(ctx) if err != nil { fx.cancelFunc() @@ -737,8 +739,24 @@ func newMultiPeerFixture(t *testing.T, peerNum int) *multiPeerFixture { return &multiPeerFixture{peerFixtures: peerFixtures} } -func Test(t *testing.T) { +func Test_Sync(t *testing.T) { mpFixture := newMultiPeerFixture(t, 3) - time.Sleep(100 * time.Second) + time.Sleep(5 * time.Second) + for _, fx := range mpFixture.peerFixtures { + err := fx.process.Close(context.Background()) + require.NoError(t, err) + } + time.Sleep(5 * time.Second) + var hashes []string + for _, fx := range mpFixture.peerFixtures { + sp, err := fx.app.MustComponent(RpcName).(*RpcServer).GetSpace(context.Background(), fx.process.spaceId) + require.NoError(t, err) + spaceHash, err := sp.Storage().ReadSpaceHash() + require.NoError(t, err) + hashes = append(hashes, spaceHash) + } + for i := 1; i < len(hashes); i++ { + require.Equal(t, hashes[0], hashes[i]) + } mpFixture.Close() }