Added example for fake client.
This commit is contained in:
parent
1e10549e43
commit
085d0da6a9
|
|
@ -0,0 +1,58 @@
|
|||
package cluster
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"context"
|
||||
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
|
||||
"k8s.io/client-go/kubernetes/fake"
|
||||
|
||||
"github.com/zalando/postgres-operator/pkg/util/k8sutil"
|
||||
)
|
||||
|
||||
func NewFakeKubernetesClient() k8sutil.KubernetesClient {
|
||||
clientSet := fake.NewSimpleClientset()
|
||||
|
||||
return k8sutil.KubernetesClient{
|
||||
SecretsGetter: clientSet.CoreV1(),
|
||||
ConfigMapsGetter: clientSet.CoreV1(),
|
||||
DeploymentsGetter: clientSet.AppsV1(),
|
||||
ServicesGetter: clientSet.CoreV1(),
|
||||
}
|
||||
}
|
||||
|
||||
func TestFakeClient(t *testing.T) {
|
||||
clientSet := fake.NewSimpleClientset()
|
||||
namespace := "default"
|
||||
|
||||
l := labels.Set(map[string]string{
|
||||
"application": "spilo",
|
||||
})
|
||||
|
||||
deployment := &appsv1.Deployment{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "my-deployment1",
|
||||
Namespace: namespace,
|
||||
Labels: l,
|
||||
},
|
||||
}
|
||||
|
||||
clientSet.AppsV1().Deployments(namespace).Create(context.TODO(), deployment, metav1.CreateOptions{})
|
||||
|
||||
deployment2, _ := clientSet.AppsV1().Deployments(namespace).Get(context.TODO(), "my-deployment1", metav1.GetOptions{})
|
||||
|
||||
if deployment.ObjectMeta.Name != deployment2.ObjectMeta.Name {
|
||||
t.Errorf("Deployments are not equal")
|
||||
}
|
||||
|
||||
deployments, _ := clientSet.AppsV1().Deployments(namespace).List(context.TODO(), metav1.ListOptions{LabelSelector: "application=spilo"})
|
||||
|
||||
if len(deployments.Items) != 1 {
|
||||
t.Errorf("Label search does not work")
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue