k9s/internal/render/cm_test.go

46 lines
925 B
Go

package render_test
import (
"encoding/json"
"fmt"
"io/ioutil"
"testing"
"github.com/derailed/k9s/internal/render"
"github.com/stretchr/testify/assert"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
func TestCmRender(t *testing.T) {
c := render.ConfigMap{}
r := render.NewRow(4)
assert.Nil(t, c.Render(load(t, "cm"), "", &r))
assert.Equal(t, "default/blee", r.ID)
assert.Equal(t, render.Fields{"default", "blee", "2"}, r.Fields[:3])
}
func BenchmarkCmRender(b *testing.B) {
c := render.ConfigMap{}
r := render.NewRow(4)
o := load(b, "cm")
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
_ = c.Render(o, "", &r)
}
}
// Helpers...
func load(t assert.TestingT, n string) *unstructured.Unstructured {
raw, err := ioutil.ReadFile(fmt.Sprintf("assets/%s.json", n))
assert.Nil(t, err)
var o unstructured.Unstructured
err = json.Unmarshal(raw, &o)
assert.Nil(t, err)
return &o
}