...
1
16
17 package scheme
18
19 import (
20 "testing"
21
22 "github.com/google/go-cmp/cmp"
23 v1 "k8s.io/api/batch/v1"
24 "k8s.io/apimachinery/pkg/api/equality"
25 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26 "k8s.io/apimachinery/pkg/runtime"
27 )
28
29 func TestCronJob(t *testing.T) {
30 src := &v1.CronJob{ObjectMeta: metav1.ObjectMeta{Name: "foo"}}
31
32 encoder := Codecs.LegacyCodec(v1.SchemeGroupVersion)
33 cronjobBytes, err := runtime.Encode(encoder, src)
34 if err != nil {
35 t.Fatal(err)
36 }
37 t.Log(string(cronjobBytes))
38 t.Log(Scheme.PrioritizedVersionsAllGroups())
39
40 decoder := Codecs.UniversalDecoder(Scheme.PrioritizedVersionsAllGroups()...)
41
42 uncastDst, err := runtime.Decode(decoder, cronjobBytes)
43 if err != nil {
44 t.Fatal(err)
45 }
46
47
48 uncastDst.(*v1.CronJob).TypeMeta = metav1.TypeMeta{}
49
50 if !equality.Semantic.DeepEqual(src, uncastDst) {
51 t.Fatal(cmp.Diff(src, uncastDst))
52 }
53 }
54
View as plain text