...
1
16
17 package polymorphichelpers
18
19 import (
20 "bytes"
21 "testing"
22
23 extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
24 "k8s.io/apimachinery/pkg/runtime"
25 )
26
27 func TestDefaultObjectPauser(t *testing.T) {
28 tests := []struct {
29 object runtime.Object
30 expect []byte
31 expectErr bool
32 }{
33 {
34 object: &extensionsv1beta1.Deployment{
35 Spec: extensionsv1beta1.DeploymentSpec{
36 Paused: false,
37 },
38 },
39 expect: []byte(`paused":true`),
40 expectErr: false,
41 },
42 {
43 object: &extensionsv1beta1.Deployment{
44 Spec: extensionsv1beta1.DeploymentSpec{
45 Paused: true,
46 },
47 },
48 expectErr: true,
49 },
50 {
51 object: &extensionsv1beta1.ReplicaSet{},
52 expectErr: true,
53 },
54 }
55
56 for _, test := range tests {
57 actual, err := defaultObjectPauser(test.object)
58 if test.expectErr {
59 if err == nil {
60 t.Error("unexpected non-error")
61 }
62 continue
63 }
64 if !test.expectErr && err != nil {
65 t.Errorf("unexpected error: %v", err)
66 continue
67 }
68 if !bytes.Contains(actual, test.expect) {
69 t.Errorf("expected %s, but got %s", test.expect, actual)
70 }
71 }
72 }
73
View as plain text