mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 23:47:50 +00:00
Update tests.
This commit is contained in:
@@ -18,7 +18,6 @@ package cmd
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"reflect"
|
||||
@@ -35,46 +34,31 @@ import (
|
||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||
)
|
||||
|
||||
func generateNodeAndTaintedNode(oldTaints []v1.Taint, newTaints []v1.Taint) (*api.Node, *api.Node) {
|
||||
var taintedNode *api.Node
|
||||
func generateNodeAndTaintedNode(oldTaints []v1.Taint, newTaints []v1.Taint) (*v1.Node, *v1.Node) {
|
||||
var taintedNode *v1.Node
|
||||
|
||||
oldTaintsData, _ := json.Marshal(oldTaints)
|
||||
// Create a node.
|
||||
node := &api.Node{
|
||||
node := &v1.Node{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "node-name",
|
||||
CreationTimestamp: metav1.Time{Time: time.Now()},
|
||||
Annotations: map[string]string{
|
||||
v1.TaintsAnnotationKey: string(oldTaintsData),
|
||||
},
|
||||
},
|
||||
Spec: api.NodeSpec{
|
||||
Spec: v1.NodeSpec{
|
||||
ExternalID: "node-name",
|
||||
Taints: oldTaints,
|
||||
},
|
||||
Status: api.NodeStatus{},
|
||||
Status: v1.NodeStatus{},
|
||||
}
|
||||
clone, _ := api.Scheme.DeepCopy(node)
|
||||
|
||||
newTaintsData, _ := json.Marshal(newTaints)
|
||||
// A copy of the same node, but tainted.
|
||||
taintedNode = clone.(*api.Node)
|
||||
taintedNode.Annotations = map[string]string{
|
||||
v1.TaintsAnnotationKey: string(newTaintsData),
|
||||
}
|
||||
taintedNode = clone.(*v1.Node)
|
||||
taintedNode.Spec.Taints = newTaints
|
||||
|
||||
return node, taintedNode
|
||||
}
|
||||
|
||||
func AnnotationsHaveEqualTaints(annotationA map[string]string, annotationB map[string]string) bool {
|
||||
taintsA, err := v1.GetTaintsFromNodeAnnotations(annotationA)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
taintsB, err := v1.GetTaintsFromNodeAnnotations(annotationB)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
func equalTaints(taintsA, taintsB []v1.Taint) bool {
|
||||
if len(taintsA) != len(taintsB) {
|
||||
return false
|
||||
}
|
||||
@@ -254,7 +238,7 @@ func TestTaint(t *testing.T) {
|
||||
for _, test := range tests {
|
||||
oldNode, expectNewNode := generateNodeAndTaintedNode(test.oldTaints, test.newTaints)
|
||||
|
||||
new_node := &api.Node{}
|
||||
new_node := &v1.Node{}
|
||||
tainted := false
|
||||
f, tf, codec, ns := cmdtesting.NewAPIFactory()
|
||||
|
||||
@@ -288,8 +272,8 @@ func TestTaint(t *testing.T) {
|
||||
if err := runtime.DecodeInto(codec, appliedPatch, new_node); err != nil {
|
||||
t.Fatalf("%s: unexpected error: %v", test.description, err)
|
||||
}
|
||||
if !AnnotationsHaveEqualTaints(expectNewNode.Annotations, new_node.Annotations) {
|
||||
t.Fatalf("%s: expected:\n%v\nsaw:\n%v\n", test.description, expectNewNode.Annotations, new_node.Annotations)
|
||||
if !equalTaints(expectNewNode.Spec.Taints, new_node.Spec.Taints) {
|
||||
t.Fatalf("%s: expected:\n%v\nsaw:\n%v\n", test.description, expectNewNode.Spec.Taints, new_node.Spec.Taints)
|
||||
}
|
||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, new_node)}, nil
|
||||
case m.isFor("PUT", "/nodes/node-name"):
|
||||
@@ -302,8 +286,8 @@ func TestTaint(t *testing.T) {
|
||||
if err := runtime.DecodeInto(codec, data, new_node); err != nil {
|
||||
t.Fatalf("%s: unexpected error: %v", test.description, err)
|
||||
}
|
||||
if !AnnotationsHaveEqualTaints(expectNewNode.Annotations, new_node.Annotations) {
|
||||
t.Fatalf("%s: expected:\n%v\nsaw:\n%v\n", test.description, expectNewNode.Annotations, new_node.Annotations)
|
||||
if !equalTaints(expectNewNode.Spec.Taints, new_node.Spec.Taints) {
|
||||
t.Fatalf("%s: expected:\n%v\nsaw:\n%v\n", test.description, expectNewNode.Spec.Taints, new_node.Spec.Taints)
|
||||
}
|
||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, new_node)}, nil
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user