gitea源码

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