db2213254d
Increase the fetch interval to at least 30 seconds if the runner is configured to be used with Codeberg. This avoids it being rate limited when they do actual work and reduces load on Codeberg.
37 lines
939 B
Go
37 lines
939 B
Go
// Copyright 2024 The Forgejo Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package config
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestConfigTune(t *testing.T) {
|
|
c := &Config{
|
|
Runner: Runner{},
|
|
}
|
|
|
|
t.Run("Public instance tuning", func(t *testing.T) {
|
|
c.Runner.FetchInterval = 60 * time.Second
|
|
c.Tune("https://codeberg.org")
|
|
assert.EqualValues(t, 60*time.Second, c.Runner.FetchInterval)
|
|
|
|
c.Runner.FetchInterval = 2 * time.Second
|
|
c.Tune("https://codeberg.org")
|
|
assert.EqualValues(t, 30*time.Second, c.Runner.FetchInterval)
|
|
})
|
|
|
|
t.Run("Non-public instance tuning", func(t *testing.T) {
|
|
c.Runner.FetchInterval = 60 * time.Second
|
|
c.Tune("https://example.com")
|
|
assert.EqualValues(t, 60*time.Second, c.Runner.FetchInterval)
|
|
|
|
c.Runner.FetchInterval = 2 * time.Second
|
|
c.Tune("https://codeberg.com")
|
|
assert.EqualValues(t, 2*time.Second, c.Runner.FetchInterval)
|
|
})
|
|
}
|