any-sync/common/commonspace/diffservice/periodicsync_test.go
2022-09-30 16:55:34 +02:00

39 lines
929 B
Go

package diffservice
import (
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/diffservice/mock_diffservice"
"github.com/golang/mock/gomock"
"testing"
"time"
)
func TestPeriodicSync_Run(t *testing.T) {
// setup
ctrl := gomock.NewController(t)
defer ctrl.Finish()
l := logger.NewNamed("sync")
diffSyncer := mock_diffservice.NewMockDiffSyncer(ctrl)
t.Run("diff syncer 1 time", func(t *testing.T) {
secs := 0
pSync := newPeriodicSync(secs, diffSyncer, l)
diffSyncer.EXPECT().Sync(gomock.Any()).Times(1).Return(nil)
pSync.Run()
pSync.Close()
})
t.Run("diff syncer 2 times", func(t *testing.T) {
secs := 1
pSync := newPeriodicSync(secs, diffSyncer, l)
diffSyncer.EXPECT().Sync(gomock.Any()).Times(2).Return(nil)
pSync.Run()
time.Sleep(time.Second * time.Duration(secs))
pSync.Close()
})
}