111 lines
2.1 KiB
Go
111 lines
2.1 KiB
Go
package resource
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
v1 "k8s.io/api/core/v1"
|
|
"k8s.io/apimachinery/pkg/api/resource"
|
|
)
|
|
|
|
func TestProbe(t *testing.T) {
|
|
uu := map[string]struct {
|
|
probe *v1.Probe
|
|
e string
|
|
}{
|
|
"defined": {&v1.Probe{}, "on"},
|
|
"undefined": {nil, "off"},
|
|
}
|
|
|
|
for k, u := range uu {
|
|
t.Run(k, func(t *testing.T) {
|
|
assert.Equal(t, u.e, probe(u.probe))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestAsMi(t *testing.T) {
|
|
uu := map[string]struct {
|
|
mem int64
|
|
e float64
|
|
}{
|
|
"zero": {0, 0},
|
|
"1Mb": {1024 * 1024, 1.048576e+06},
|
|
"10Mb": {10 * 1024 * 1024, 1.048576e+07},
|
|
}
|
|
|
|
for k, u := range uu {
|
|
t.Run(k, func(t *testing.T) {
|
|
assert.Equal(t, u.e, asMi(u.mem))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestToRes(t *testing.T) {
|
|
uu := map[string]struct {
|
|
res v1.ResourceList
|
|
ecpu, emem string
|
|
}{
|
|
"cool": {v1.ResourceList{
|
|
v1.ResourceCPU: toQty("10m"),
|
|
v1.ResourceMemory: toQty("20Mi"),
|
|
},
|
|
"10", "20"},
|
|
"noRes": {v1.ResourceList{},
|
|
"0", "0"},
|
|
}
|
|
|
|
for k, u := range uu {
|
|
t.Run(k, func(t *testing.T) {
|
|
cpu, mem := toRes(u.res)
|
|
assert.Equal(t, u.ecpu, cpu)
|
|
assert.Equal(t, u.emem, mem)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestToState(t *testing.T) {
|
|
uu := map[string]struct {
|
|
state v1.ContainerState
|
|
e string
|
|
}{
|
|
"empty": {v1.ContainerState{},
|
|
MissingValue},
|
|
"running": {
|
|
v1.ContainerState{Running: &v1.ContainerStateRunning{}},
|
|
"Running",
|
|
},
|
|
"waiting": {
|
|
v1.ContainerState{Waiting: &v1.ContainerStateWaiting{}},
|
|
"Waiting",
|
|
},
|
|
"waitingReason": {
|
|
v1.ContainerState{Waiting: &v1.ContainerStateWaiting{Reason: "blee"}},
|
|
"blee",
|
|
},
|
|
"terminated": {
|
|
v1.ContainerState{Terminated: &v1.ContainerStateTerminated{}},
|
|
"Terminated",
|
|
},
|
|
"terminatedReason": {
|
|
v1.ContainerState{Terminated: &v1.ContainerStateTerminated{Reason: "blee"}},
|
|
"blee",
|
|
},
|
|
}
|
|
|
|
for k, u := range uu {
|
|
t.Run(k, func(t *testing.T) {
|
|
assert.Equal(t, u.e, toState(u.state))
|
|
})
|
|
}
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Helpers...
|
|
|
|
func toQty(s string) resource.Quantity {
|
|
q, _ := resource.ParseQuantity(s)
|
|
|
|
return q
|
|
}
|