code.gitea.io/gitea@v1.22.3/models/repo/pushmirror_test.go (about) 1 // Copyright 2021 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package repo_test 5 6 import ( 7 "testing" 8 "time" 9 10 "code.gitea.io/gitea/models/db" 11 repo_model "code.gitea.io/gitea/models/repo" 12 "code.gitea.io/gitea/models/unittest" 13 "code.gitea.io/gitea/modules/timeutil" 14 15 "github.com/stretchr/testify/assert" 16 ) 17 18 func TestPushMirrorsIterate(t *testing.T) { 19 assert.NoError(t, unittest.PrepareTestDatabase()) 20 21 now := timeutil.TimeStampNow() 22 23 db.Insert(db.DefaultContext, &repo_model.PushMirror{ 24 RemoteName: "test-1", 25 LastUpdateUnix: now, 26 Interval: 1, 27 }) 28 29 long, _ := time.ParseDuration("24h") 30 db.Insert(db.DefaultContext, &repo_model.PushMirror{ 31 RemoteName: "test-2", 32 LastUpdateUnix: now, 33 Interval: long, 34 }) 35 36 db.Insert(db.DefaultContext, &repo_model.PushMirror{ 37 RemoteName: "test-3", 38 LastUpdateUnix: now, 39 Interval: 0, 40 }) 41 42 time.Sleep(1 * time.Millisecond) 43 44 repo_model.PushMirrorsIterate(db.DefaultContext, 1, func(idx int, bean any) error { 45 m, ok := bean.(*repo_model.PushMirror) 46 assert.True(t, ok) 47 assert.Equal(t, "test-1", m.RemoteName) 48 assert.Equal(t, m.RemoteName, m.GetRemoteName()) 49 return nil 50 }) 51 }