/
fakeclient.go
40 lines (33 loc) · 1.03 KB
/
fakeclient.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package kclient
import (
fakeKubeClientset "k8s.io/client-go/kubernetes/fake"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// FakeClientset holds fake ClientSets
// this is returned by FakeNew to access methods of fake client sets
type FakeClientset struct {
Kubernetes *fakeKubeClientset.Clientset
}
// FakeNew creates new fake client for testing
// returns Client that is filled with fake clients and
// FakeClientSet that holds fake Clientsets to access Actions, Reactors etc... in fake client
func FakeNew() (*Client, *FakeClientset) {
var client Client
var fkclientset FakeClientset
fkclientset.Kubernetes = fakeKubeClientset.NewSimpleClientset()
client.KubeClient = fkclientset.Kubernetes
return &client, &fkclientset
}
//FakePodStatus returns a pod with the status
func FakePodStatus(status corev1.PodPhase, podName string) *corev1.Pod {
return &corev1.Pod{
ObjectMeta: metav1.ObjectMeta{
Name: podName,
Labels: map[string]string{},
},
Status: corev1.PodStatus{
Phase: status,
},
}
}