gitea源码

tasks_extended_test.go 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Copyright 2025 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package cron
  4. import (
  5. "testing"
  6. "time"
  7. "code.gitea.io/gitea/modules/setting"
  8. "code.gitea.io/gitea/modules/test"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func Test_GCLFSConfig(t *testing.T) {
  12. cfg, err := setting.NewConfigProviderFromData(`
  13. [cron.gc_lfs]
  14. ENABLED = true
  15. RUN_AT_START = true
  16. SCHEDULE = "@every 2h"
  17. OLDER_THAN = "1h"
  18. LAST_UPDATED_MORE_THAN_AGO = "7h"
  19. NUMBER_TO_CHECK_PER_REPO = 10
  20. PROPORTION_TO_CHECK_PER_REPO = 0.1
  21. `)
  22. assert.NoError(t, err)
  23. defer test.MockVariableValue(&setting.CfgProvider, cfg)()
  24. config := &GCLFSConfig{
  25. BaseConfig: BaseConfig{
  26. Enabled: false,
  27. RunAtStart: false,
  28. Schedule: "@every 24h",
  29. },
  30. OlderThan: 24 * time.Hour * 7,
  31. LastUpdatedMoreThanAgo: 24 * time.Hour * 3,
  32. NumberToCheckPerRepo: 100,
  33. ProportionToCheckPerRepo: 0.6,
  34. }
  35. _, err = setting.GetCronSettings("gc_lfs", config)
  36. assert.NoError(t, err)
  37. assert.True(t, config.Enabled)
  38. assert.True(t, config.RunAtStart)
  39. assert.Equal(t, "@every 2h", config.Schedule)
  40. assert.Equal(t, 1*time.Hour, config.OlderThan)
  41. assert.Equal(t, 7*time.Hour, config.LastUpdatedMoreThanAgo)
  42. assert.Equal(t, int64(10), config.NumberToCheckPerRepo)
  43. assert.InDelta(t, 0.1, config.ProportionToCheckPerRepo, 0.001)
  44. }