...
1
16
17 package fake_test
18
19 import (
20 "errors"
21 "testing"
22
23 "k8s.io/apimachinery/pkg/runtime"
24 "k8s.io/apimachinery/pkg/version"
25 fakediscovery "k8s.io/client-go/discovery/fake"
26 fakeclientset "k8s.io/client-go/kubernetes/fake"
27 kubetesting "k8s.io/client-go/testing"
28 )
29
30 func TestFakingServerVersion(t *testing.T) {
31 client := fakeclientset.NewSimpleClientset()
32 fakeDiscovery, ok := client.Discovery().(*fakediscovery.FakeDiscovery)
33 if !ok {
34 t.Fatalf("couldn't convert Discovery() to *FakeDiscovery")
35 }
36
37 testGitCommit := "v1.0.0"
38 fakeDiscovery.FakedServerVersion = &version.Info{
39 GitCommit: testGitCommit,
40 }
41
42 sv, err := client.Discovery().ServerVersion()
43 if err != nil {
44 t.Fatalf("unexpected error: %v", err)
45 }
46 if sv.GitCommit != testGitCommit {
47 t.Fatalf("unexpected faked discovery return value: %q", sv.GitCommit)
48 }
49 }
50
51 func TestFakingServerVersionWithError(t *testing.T) {
52 expectedError := errors.New("an error occurred")
53 fakeClient := fakeclientset.NewSimpleClientset()
54 fakeClient.Discovery().(*fakediscovery.FakeDiscovery).PrependReactor("*", "*", func(action kubetesting.Action) (handled bool, ret runtime.Object, err error) {
55 return true, nil, expectedError
56 })
57
58 _, err := fakeClient.Discovery().ServerVersion()
59 if err == nil {
60 t.Fatal("ServerVersion should return error, returned nil instead")
61 }
62 if err != expectedError {
63 t.Fatal("ServerVersion should return expected error, returned different error instead")
64 }
65 }
66
View as plain text