mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-08 05:57:03 +09:00
WIP sync integration test
This commit is contained in:
parent
d1986a4115
commit
ee53e956a8
2 changed files with 24 additions and 6 deletions
|
@ -229,7 +229,7 @@ func (s *spaceProcess) Init(a *app.App) (err error) {
|
||||||
s.manager = a.MustComponent(treemanager.CName).(*mockTreeManager)
|
s.manager = a.MustComponent(treemanager.CName).(*mockTreeManager)
|
||||||
s.spaceServer = a.MustComponent(RpcName).(*RpcServer)
|
s.spaceServer = a.MustComponent(RpcName).(*RpcServer)
|
||||||
s.accountService = a.MustComponent(accountservice.CName).(accountservice.Service)
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ func (s *spaceProcess) update(ctx context.Context) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
var tr objecttree.ObjectTree
|
var tr objecttree.ObjectTree
|
||||||
newDoc := rand.Int()%10 == 0
|
newDoc := rand.Int()%20 == 0
|
||||||
snapshot := rand.Int()%10 == 0
|
snapshot := rand.Int()%10 == 0
|
||||||
allTrees := sp.StoredIds()
|
allTrees := sp.StoredIds()
|
||||||
if newDoc || len(allTrees) == 0 {
|
if newDoc || len(allTrees) == 0 {
|
||||||
|
|
|
@ -272,7 +272,7 @@ func (m *mockConfig) Name() (name string) {
|
||||||
func (m *mockConfig) GetSpace() config.Config {
|
func (m *mockConfig) GetSpace() config.Config {
|
||||||
return config.Config{
|
return config.Config{
|
||||||
GCTTL: 60,
|
GCTTL: 60,
|
||||||
SyncPeriod: 20,
|
SyncPeriod: 5,
|
||||||
KeepTreeDataInMemory: true,
|
KeepTreeDataInMemory: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -584,6 +584,7 @@ type spaceFixture struct {
|
||||||
treeManager *mockTreeManager
|
treeManager *mockTreeManager
|
||||||
pool *mockPool
|
pool *mockPool
|
||||||
spaceService SpaceService
|
spaceService SpaceService
|
||||||
|
process *spaceProcess
|
||||||
cancelFunc context.CancelFunc
|
cancelFunc context.CancelFunc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -634,6 +635,7 @@ func newFixtureWithData(t *testing.T, spaceId string, keys *accountdata.AccountK
|
||||||
treeManager: newMockTreeManager(spaceId),
|
treeManager: newMockTreeManager(spaceId),
|
||||||
pool: &mockPool{},
|
pool: &mockPool{},
|
||||||
spaceService: New(),
|
spaceService: New(),
|
||||||
|
process: newSpaceProcess(spaceId),
|
||||||
}
|
}
|
||||||
fx.app.Register(fx.account).
|
fx.app.Register(fx.account).
|
||||||
Register(fx.config).
|
Register(fx.config).
|
||||||
|
@ -650,7 +652,7 @@ func newFixtureWithData(t *testing.T, spaceId string, keys *accountdata.AccountK
|
||||||
Register(fx.treeManager).
|
Register(fx.treeManager).
|
||||||
Register(fx.spaceService).
|
Register(fx.spaceService).
|
||||||
Register(NewRpcServer()).
|
Register(NewRpcServer()).
|
||||||
Register(newSpaceProcess(spaceId))
|
Register(fx.process)
|
||||||
err := fx.app.Start(ctx)
|
err := fx.app.Start(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fx.cancelFunc()
|
fx.cancelFunc()
|
||||||
|
@ -737,8 +739,24 @@ func newMultiPeerFixture(t *testing.T, peerNum int) *multiPeerFixture {
|
||||||
return &multiPeerFixture{peerFixtures: peerFixtures}
|
return &multiPeerFixture{peerFixtures: peerFixtures}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test(t *testing.T) {
|
func Test_Sync(t *testing.T) {
|
||||||
mpFixture := newMultiPeerFixture(t, 3)
|
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()
|
mpFixture.Close()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue