cleanup: move scheduler tests to use PodWrapper
Move to use testing PodWrapper where applicable to reduce duplicating pod creation code and shorten number of lines. Adding additional wrapper functions in PodWrapper to ensure it covers all pod spec under tests. Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
This commit is contained in:
@@ -23,7 +23,6 @@ import (
|
||||
"time"
|
||||
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
@@ -352,56 +351,23 @@ func TestIsInterested(t *testing.T) {
|
||||
{
|
||||
label: "Managed memory, empty resources",
|
||||
extender: mem,
|
||||
pod: &v1.Pod{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "app",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: false,
|
||||
pod: st.MakePod().Container("app").Obj(),
|
||||
want: false,
|
||||
},
|
||||
{
|
||||
label: "Managed memory, container memory",
|
||||
extender: mem,
|
||||
pod: &v1.Pod{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "app",
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
Limits: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
pod: st.MakePod().Req(map[v1.ResourceName]string{
|
||||
"memory": "0",
|
||||
}).Obj(),
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
label: "Managed memory, init container memory",
|
||||
extender: mem,
|
||||
pod: &v1.Pod{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "app",
|
||||
},
|
||||
},
|
||||
InitContainers: []v1.Container{
|
||||
{
|
||||
Name: "init",
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
Limits: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
pod: st.MakePod().Container("app").InitReq(map[v1.ResourceName]string{
|
||||
"memory": "0",
|
||||
}).Obj(),
|
||||
want: true,
|
||||
},
|
||||
} {
|
||||
@@ -424,15 +390,15 @@ func TestConvertToMetaVictims(t *testing.T) {
|
||||
nodeNameToVictims: map[string]*extenderv1.Victims{
|
||||
"node1": {
|
||||
Pods: []*v1.Pod{
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod1", UID: "uid1"}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod3", UID: "uid3"}},
|
||||
st.MakePod().Name("pod1").UID("uid1").Obj(),
|
||||
st.MakePod().Name("pod3").UID("uid3").Obj(),
|
||||
},
|
||||
NumPDBViolations: 1,
|
||||
},
|
||||
"node2": {
|
||||
Pods: []*v1.Pod{
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod2", UID: "uid2"}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod4", UID: "uid4"}},
|
||||
st.MakePod().Name("pod2").UID("uid2").Obj(),
|
||||
st.MakePod().Name("pod4").UID("uid4").Obj(),
|
||||
},
|
||||
NumPDBViolations: 2,
|
||||
},
|
||||
@@ -496,24 +462,24 @@ func TestConvertToVictims(t *testing.T) {
|
||||
},
|
||||
nodeNames: []string{"node1", "node2"},
|
||||
podsInNodeList: []*v1.Pod{
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod1", UID: "uid1"}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod2", UID: "uid2"}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod3", UID: "uid3"}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod4", UID: "uid4"}},
|
||||
st.MakePod().Name("pod1").UID("uid1").Obj(),
|
||||
st.MakePod().Name("pod2").UID("uid2").Obj(),
|
||||
st.MakePod().Name("pod3").UID("uid3").Obj(),
|
||||
st.MakePod().Name("pod4").UID("uid4").Obj(),
|
||||
},
|
||||
nodeInfos: nil,
|
||||
want: map[string]*extenderv1.Victims{
|
||||
"node1": {
|
||||
Pods: []*v1.Pod{
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod1", UID: "uid1"}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod3", UID: "uid3"}},
|
||||
st.MakePod().Name("pod1").UID("uid1").Obj(),
|
||||
st.MakePod().Name("pod3").UID("uid3").Obj(),
|
||||
},
|
||||
NumPDBViolations: 1,
|
||||
},
|
||||
"node2": {
|
||||
Pods: []*v1.Pod{
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod2", UID: "uid2"}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: "pod4", UID: "uid4"}},
|
||||
st.MakePod().Name("pod2").UID("uid2").Obj(),
|
||||
st.MakePod().Name("pod4").UID("uid4").Obj(),
|
||||
},
|
||||
NumPDBViolations: 2,
|
||||
},
|
||||
|
Reference in New Issue
Block a user