53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package model_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/derailed/k9s/internal/model"
|
|
"github.com/derailed/k9s/internal/render"
|
|
"github.com/stretchr/testify/assert"
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
)
|
|
|
|
func TestPodHydrate(t *testing.T) {
|
|
f := makeFactory()
|
|
var po model.Pod
|
|
po.Init("", "v1/pods", f)
|
|
|
|
o := render.PodWithMetrics{Raw: load(t, "p1")}
|
|
rr := make(render.Rows, 1)
|
|
assert.Nil(t, po.Hydrate([]runtime.Object{&o}, rr, render.Pod{}))
|
|
assert.Equal(t, 1, len(rr))
|
|
assert.Equal(t, "default/nginx-7fb78fb6d8-2w75j", rr[0].ID)
|
|
assert.Equal(t, render.Fields{
|
|
"default",
|
|
"nginx-7fb78fb6d8-2w75j",
|
|
"1/1",
|
|
"Running",
|
|
"0",
|
|
"n/a",
|
|
"n/a",
|
|
"n/a",
|
|
"n/a",
|
|
"10.44.0.229",
|
|
"gke-k9s-default-pool-0fa2fb89-lbtf",
|
|
"GA",
|
|
}, rr[0].Fields[:len(rr[0].Fields)-1])
|
|
}
|
|
|
|
func BenchmarkPodHydrate(b *testing.B) {
|
|
f := makeFactory()
|
|
var po model.Pod
|
|
po.Init("", "v1/pods", f)
|
|
o := load(b, "p1")
|
|
rr := make(render.Rows, 1)
|
|
|
|
oo := []runtime.Object{&render.PodWithMetrics{Raw: o}}
|
|
re := render.Pod{}
|
|
b.ResetTimer()
|
|
b.ReportAllocs()
|
|
for i := 0; i < b.N; i++ {
|
|
po.Hydrate(oo, rr, re)
|
|
}
|
|
}
|