open-nomad/helper/cluster_test.go

33 lines
594 B
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package helper
import (
"testing"
"time"
"github.com/shoenig/test/must"
)
func TestCluster_RandomStagger(t *testing.T) {
cases := []struct {
name string
input time.Duration
}{
{name: "positive", input: 1 * time.Second},
{name: "negative", input: -1 * time.Second},
{name: "zero", input: 0},
}
abs := func(d time.Duration) time.Duration {
return max(d, -d)
}
for _, tc := range cases {
result := RandomStagger(tc.input)
must.GreaterEq(t, 0, result)
must.LessEq(t, abs(tc.input), result)
}
}