1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-08 05:57:03 +09:00

Add exceed max size test

This commit is contained in:
mcrakhman 2024-08-28 15:40:10 +02:00
parent bdeab16a8d
commit ca5361cf76
No known key found for this signature in database
GPG key ID: DED12CFEF5B8396B

View file

@ -1423,6 +1423,49 @@ func TestObjectTree(t *testing.T) {
require.Equal(t, objTree.Heads(), otherTree.Heads()) require.Equal(t, objTree.Heads(), otherTree.Heads())
}) })
t.Run("gen changes test load iterator each change exceed max size", func(t *testing.T) {
ctx := prepareTreeContext(t, aclList)
changeCreator := ctx.changeCreator
objTree := ctx.objTree
result := genChanges(changeCreator, genParams{
prefix: "id",
aclId: aclList.Id(),
startIdx: 0,
levels: 100,
perLevel: 10,
snapshotId: objTree.Root().Id,
prevHeads: []string{objTree.Root().Id},
isSnapshot: func() bool {
return false
},
hasData: false,
})
_, err := objTree.AddRawChanges(context.Background(), RawChangesPayload{
NewHeads: result.heads,
RawChanges: result.changes,
})
require.NoError(t, err)
iter, err := objTree.ChangesAfterCommonSnapshotLoader([]string{objTree.Id()}, []string{objTree.Id()})
require.NoError(t, err)
otherTreeStorage := changeCreator.CreateNewTreeStorage("0", aclList.Head().Id, false)
otherTree, err := BuildTestableTree(otherTreeStorage, aclList)
require.NoError(t, err)
for {
batch, err := iter.NextBatch(1)
require.NoError(t, err)
if len(batch.Batch) == 0 {
break
}
res, err := otherTree.AddRawChanges(context.Background(), RawChangesPayload{
NewHeads: batch.Heads,
RawChanges: batch.Batch,
})
require.NoError(t, err)
require.Equal(t, len(batch.Batch), len(res.Added))
}
require.Equal(t, objTree.Heads(), otherTree.Heads())
})
t.Run("gen changes test load iterator snapshots", func(t *testing.T) { t.Run("gen changes test load iterator snapshots", func(t *testing.T) {
ctx := prepareTreeContext(t, aclList) ctx := prepareTreeContext(t, aclList)
changeCreator := ctx.changeCreator changeCreator := ctx.changeCreator