github.com/kyma-project/kyma-environment-broker@v0.0.1/common/gardener/dynamic_fake.go (about)

     1  package gardener
     2  
     3  import (
     4  	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
     5  	"k8s.io/apimachinery/pkg/runtime"
     6  	"k8s.io/apimachinery/pkg/runtime/schema"
     7  	"k8s.io/client-go/dynamic/fake"
     8  	"k8s.io/client-go/kubernetes/scheme"
     9  )
    10  
    11  func NewDynamicFakeClient(objects ...runtime.Object) *fake.FakeDynamicClient {
    12  	// dynamic fake client requirement https://github.com/kubernetes/client-go/issues/949#issuecomment-811192420
    13  	scheme.Scheme.AddKnownTypeWithName(schema.GroupVersionKind{Group: "core.gardener.cloud", Version: "v1beta1", Kind: "Shoot"}, &unstructured.Unstructured{})
    14  	scheme.Scheme.AddKnownTypeWithName(schema.GroupVersionKind{Group: "core.gardener.cloud", Version: "v1beta1", Kind: "ShootList"}, &unstructured.UnstructuredList{})
    15  	scheme.Scheme.AddKnownTypeWithName(schema.GroupVersionKind{Group: "core.gardener.cloud", Version: "v1beta1", Kind: "SecretBinding"}, &unstructured.Unstructured{})
    16  	scheme.Scheme.AddKnownTypeWithName(schema.GroupVersionKind{Group: "core.gardener.cloud", Version: "v1beta1", Kind: "SecretBindingList"}, &unstructured.UnstructuredList{})
    17  
    18  	return fake.NewSimpleDynamicClient(scheme.Scheme, objects...)
    19  }