72 lines
1.8 KiB
Go
72 lines
1.8 KiB
Go
// SPDX-License-Identifier: Apache-2.0
|
|
// Copyright Authors of K9s
|
|
|
|
package render
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/derailed/k9s/internal/model1"
|
|
"github.com/derailed/tcell/v2"
|
|
"github.com/derailed/tview"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestHorizontalPodAutoscalerColorer(t *testing.T) {
|
|
hpaHeader := model1.Header{
|
|
model1.HeaderColumn{Name: "NAMESPACE"},
|
|
model1.HeaderColumn{Name: "NAME"},
|
|
model1.HeaderColumn{Name: "REFERENCE"},
|
|
model1.HeaderColumn{Name: "TARGETS%"},
|
|
model1.HeaderColumn{Name: "MINPODS", Attrs: model1.Attrs{Align: tview.AlignRight}},
|
|
model1.HeaderColumn{Name: "MAXPODS", Attrs: model1.Attrs{Align: tview.AlignRight}},
|
|
model1.HeaderColumn{Name: "REPLICAS", Attrs: model1.Attrs{Align: tview.AlignRight}},
|
|
model1.HeaderColumn{Name: "AGE", Attrs: model1.Attrs{Time: true}},
|
|
}
|
|
|
|
uu := map[string]struct {
|
|
h model1.Header
|
|
re *model1.RowEvent
|
|
e tcell.Color
|
|
}{
|
|
"when replicas = maxpods": {
|
|
h: hpaHeader,
|
|
re: &model1.RowEvent{
|
|
Kind: model1.EventUnchanged,
|
|
Row: model1.Row{
|
|
Fields: model1.Fields{"blee", "fred", "fred", "100%", "1", "5", "5", "1d"},
|
|
},
|
|
},
|
|
e: model1.ErrColor,
|
|
},
|
|
"when replicas > maxpods, for some reason": {
|
|
h: hpaHeader,
|
|
re: &model1.RowEvent{
|
|
Kind: model1.EventUnchanged,
|
|
Row: model1.Row{
|
|
Fields: model1.Fields{"blee", "fred", "fred", "100%", "1", "5", "6", "1d"},
|
|
},
|
|
},
|
|
e: model1.ErrColor,
|
|
},
|
|
"when replicas < maxpods": {
|
|
h: hpaHeader,
|
|
re: &model1.RowEvent{
|
|
Kind: model1.EventUnchanged,
|
|
Row: model1.Row{
|
|
Fields: model1.Fields{"blee", "fred", "fred", "100%", "1", "5", "1", "1d"},
|
|
},
|
|
},
|
|
e: model1.StdColor,
|
|
},
|
|
}
|
|
|
|
var r HorizontalPodAutoscaler
|
|
for k := range uu {
|
|
u := uu[k]
|
|
t.Run(k, func(t *testing.T) {
|
|
assert.Equal(t, u.e, r.ColorerFunc()("", u.h, u.re))
|
|
})
|
|
}
|
|
}
|