mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 18:54:06 +00:00
Fix tests using internal types for serialization
This commit is contained in:
parent
6676bab9c3
commit
cc7a44f545
@ -27,8 +27,9 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
apitesting "k8s.io/kubernetes/pkg/api/testing"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/apimachinery/registered"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
k8syaml "k8s.io/kubernetes/pkg/util/yaml"
|
||||
|
||||
@ -171,18 +172,18 @@ func TestValidateDifferentApiVersions(t *testing.T) {
|
||||
t.Fatalf("Failed to load: %v", err)
|
||||
}
|
||||
|
||||
pod := &api.Pod{}
|
||||
pod := &v1.Pod{}
|
||||
pod.APIVersion = "v1"
|
||||
pod.Kind = "Pod"
|
||||
|
||||
deployment := &extensions.Deployment{}
|
||||
deployment := &v1beta1.Deployment{}
|
||||
deployment.APIVersion = "extensions/v1beta1"
|
||||
deployment.Kind = "Deployment"
|
||||
|
||||
list := &api.List{}
|
||||
list := &v1.List{}
|
||||
list.APIVersion = "v1"
|
||||
list.Kind = "List"
|
||||
list.Items = []runtime.Object{pod, deployment}
|
||||
list.Items = []runtime.RawExtension{{Object: pod}, {Object: deployment}}
|
||||
bytes, err := json.Marshal(list)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
@ -295,7 +296,7 @@ func TestTypeAny(t *testing.T) {
|
||||
t.Errorf("could not read file: %s, err: %v", test, err)
|
||||
}
|
||||
// Verify that pod has at least one label (labels are type "any")
|
||||
var pod api.Pod
|
||||
var pod v1.Pod
|
||||
err = yaml.Unmarshal(podBytes, &pod)
|
||||
if err != nil {
|
||||
t.Errorf("error in unmarshalling pod: %v", err)
|
||||
|
@ -133,7 +133,7 @@ func addGrouplessTypes() {
|
||||
}
|
||||
api.Scheme.AddKnownTypes(grouplessGroupVersion,
|
||||
&apiservertesting.Simple{}, &apiservertesting.SimpleList{}, &ListOptions{}, &metav1.ExportOptions{},
|
||||
&api.DeleteOptions{}, &apiservertesting.SimpleGetOptions{}, &apiservertesting.SimpleRoot{})
|
||||
&v1.DeleteOptions{}, &apiservertesting.SimpleGetOptions{}, &apiservertesting.SimpleRoot{})
|
||||
api.Scheme.AddKnownTypes(grouplessInternalGroupVersion,
|
||||
&apiservertesting.Simple{}, &apiservertesting.SimpleList{}, &api.ListOptions{}, &metav1.ExportOptions{},
|
||||
&apiservertesting.SimpleGetOptions{}, &apiservertesting.SimpleRoot{})
|
||||
@ -151,7 +151,7 @@ func addTestTypes() {
|
||||
}
|
||||
api.Scheme.AddKnownTypes(testGroupVersion,
|
||||
&apiservertesting.Simple{}, &apiservertesting.SimpleList{}, &ListOptions{}, &metav1.ExportOptions{},
|
||||
&api.DeleteOptions{}, &apiservertesting.SimpleGetOptions{}, &apiservertesting.SimpleRoot{},
|
||||
&v1.DeleteOptions{}, &apiservertesting.SimpleGetOptions{}, &apiservertesting.SimpleRoot{},
|
||||
&SimpleXGSubresource{})
|
||||
api.Scheme.AddKnownTypes(testGroupVersion, &v1.Pod{})
|
||||
api.Scheme.AddKnownTypes(testInternalGroupVersion,
|
||||
|
@ -26,11 +26,13 @@ import (
|
||||
"time"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
|
||||
"k8s.io/kubernetes/pkg/client/restclient/fake"
|
||||
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/strategicpatch"
|
||||
)
|
||||
|
||||
func generateNodeAndTaintedNode(oldTaints []api.Taint, newTaints []api.Taint) (*api.Node, *api.Node) {
|
||||
@ -263,7 +265,33 @@ func TestTaint(t *testing.T) {
|
||||
switch {
|
||||
case m.isFor("GET", "/nodes/node-name"):
|
||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, oldNode)}, nil
|
||||
case m.isFor("PATCH", "/nodes/node-name"), m.isFor("PUT", "/nodes/node-name"):
|
||||
case m.isFor("PATCH", "/nodes/node-name"):
|
||||
tainted = true
|
||||
data, err := ioutil.ReadAll(req.Body)
|
||||
if err != nil {
|
||||
t.Fatalf("%s: unexpected error: %v", test.description, err)
|
||||
}
|
||||
defer req.Body.Close()
|
||||
|
||||
// apply the patch
|
||||
oldJSON, err := runtime.Encode(codec, oldNode)
|
||||
if err != nil {
|
||||
t.Fatalf("%s: unexpected error: %v", test.description, err)
|
||||
}
|
||||
appliedPatch, err := strategicpatch.StrategicMergePatch(oldJSON, data, &v1.Node{})
|
||||
if err != nil {
|
||||
t.Fatalf("%s: unexpected error: %v", test.description, err)
|
||||
}
|
||||
|
||||
// decode the patch
|
||||
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)
|
||||
}
|
||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, new_node)}, nil
|
||||
case m.isFor("PUT", "/nodes/node-name"):
|
||||
tainted = true
|
||||
data, err := ioutil.ReadAll(req.Body)
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user