50 lines
1.0 KiB
Go
50 lines
1.0 KiB
Go
package controllers
|
|
|
|
import (
|
|
"github.com/google/go-cmp/cmp"
|
|
actionsv1alpha1 "github.com/summerwind/actions-runner-controller/api/v1alpha1"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestGetValidCacheEntries(t *testing.T) {
|
|
now := time.Now()
|
|
|
|
hra := &actionsv1alpha1.HorizontalRunnerAutoscaler{
|
|
Status: actionsv1alpha1.HorizontalRunnerAutoscalerStatus{
|
|
CacheEntries: []actionsv1alpha1.CacheEntry{
|
|
{
|
|
Key: "foo",
|
|
Value: 1,
|
|
ExpirationTime: metav1.Time{Time: now.Add(-time.Second)},
|
|
},
|
|
{
|
|
Key: "foo",
|
|
Value: 2,
|
|
ExpirationTime: metav1.Time{Time: now},
|
|
},
|
|
{
|
|
Key: "foo",
|
|
Value: 3,
|
|
ExpirationTime: metav1.Time{Time: now.Add(time.Second)},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
revs := getValidCacheEntries(hra, now)
|
|
|
|
counts := map[string]int{}
|
|
|
|
for _, r := range revs {
|
|
counts[r.Key] += r.Value
|
|
}
|
|
|
|
want := map[string]int{"foo": 3}
|
|
|
|
if d := cmp.Diff(want, counts); d != "" {
|
|
t.Errorf("%s", d)
|
|
}
|
|
}
|