75 lines
1.3 KiB
Go
75 lines
1.3 KiB
Go
package watch
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/derailed/k9s/internal/k8s"
|
|
"gotest.tools/assert"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
|
|
// "github.com/stretchr/testify/assert"
|
|
v1 "k8s.io/api/core/v1"
|
|
)
|
|
|
|
func TestContainerGet(t *testing.T) {
|
|
cmo := NewMockConnection()
|
|
c := NewContainer(NewPod(cmo, ""))
|
|
o, err := c.Get("fred", metav1.GetOptions{})
|
|
|
|
assert.ErrorContains(t, err, "not found")
|
|
assert.Assert(t, o == nil)
|
|
}
|
|
|
|
func TestContainerList(t *testing.T) {
|
|
cmo := NewMockConnection()
|
|
c := NewContainer(NewPod(cmo, ""))
|
|
o := c.List("fred", metav1.ListOptions{})
|
|
|
|
assert.Assert(t, o == nil)
|
|
}
|
|
|
|
func TestToContainer(t *testing.T) {
|
|
c := make(k8s.Collection, 2)
|
|
toContainers(makeCoPod("p1"), c)
|
|
|
|
assert.Equal(t, 2, len(c))
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Helpers...
|
|
|
|
func makePod(n string) *v1.Pod {
|
|
po := &v1.Pod{
|
|
ObjectMeta: metav1.ObjectMeta{
|
|
Name: n,
|
|
Namespace: "default",
|
|
},
|
|
}
|
|
po.Status.Phase = v1.PodRunning
|
|
|
|
return po
|
|
}
|
|
|
|
func makeCoPod(n string) *v1.Pod {
|
|
po := makePod(n)
|
|
po.Spec = v1.PodSpec{
|
|
InitContainers: []v1.Container{
|
|
makeContainer("i1", "fred:0.0.1"),
|
|
},
|
|
Containers: []v1.Container{
|
|
makeContainer("c1", "blee:0.1.0"),
|
|
},
|
|
}
|
|
|
|
return po
|
|
}
|
|
|
|
func makeContainer(n, img string) v1.Container {
|
|
co := v1.Container{
|
|
Name: n,
|
|
Image: img,
|
|
}
|
|
|
|
return co
|
|
}
|