Files
actions-runner-controller/controllers/actions.github.com/options_test.go
T

44 lines
1.6 KiB
Go

package actionsgithubcom
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestOptionsResolve(t *testing.T) {
t.Parallel()
t.Run("unset per-controller values fall back to the default", func(t *testing.T) {
got := OptionsWithDefault().Resolve()
assert.Equal(t, 1, got.DefaultMaxConcurrentReconciles)
assert.Equal(t, 1, got.AutoscalingRunnerSetMaxConcurrentReconciles)
assert.Equal(t, 1, got.AutoscalingListenerMaxConcurrentReconciles)
assert.Equal(t, 1, got.EphemeralRunnerSetMaxConcurrentReconciles)
assert.Equal(t, 1, got.EphemeralRunnerMaxConcurrentReconciles)
})
t.Run("a default of zero or less is replaced by 1", func(t *testing.T) {
for _, n := range []int{0, -1} {
opts := Options{DefaultMaxConcurrentReconciles: n}
got := opts.Resolve()
assert.Equal(t, 1, got.DefaultMaxConcurrentReconciles)
assert.Equal(t, 1, got.AutoscalingRunnerSetMaxConcurrentReconciles)
assert.Equal(t, 1, got.AutoscalingListenerMaxConcurrentReconciles)
assert.Equal(t, 1, got.EphemeralRunnerSetMaxConcurrentReconciles)
assert.Equal(t, 1, got.EphemeralRunnerMaxConcurrentReconciles)
}
})
t.Run("a changed default applies to every unset controller", func(t *testing.T) {
opts := OptionsWithDefault()
opts.DefaultMaxConcurrentReconciles = 4
opts.EphemeralRunnerMaxConcurrentReconciles = 20
got := opts.Resolve()
assert.Equal(t, 4, got.AutoscalingRunnerSetMaxConcurrentReconciles)
assert.Equal(t, 4, got.AutoscalingListenerMaxConcurrentReconciles)
assert.Equal(t, 4, got.EphemeralRunnerSetMaxConcurrentReconciles)
assert.Equal(t, 20, got.EphemeralRunnerMaxConcurrentReconciles)
})
}