github.com/verrazzano/verrazzano-monitoring-operator@v0.0.30/verrazzano-backup-hook/utilities/vzk8sfake/clientset.go (about) 1 // Copyright (c) 2022, Oracle and/or its affiliates. 2 // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 3 4 package vzk8sfake 5 6 import ( 7 "k8s.io/apimachinery/pkg/runtime" 8 "k8s.io/client-go/kubernetes" 9 fakeclientset "k8s.io/client-go/kubernetes/fake" 10 corev1 "k8s.io/client-go/kubernetes/typed/core/v1" 11 fakecorev1 "k8s.io/client-go/kubernetes/typed/core/v1/fake" 12 restclient "k8s.io/client-go/rest" 13 fakeRESTClient "k8s.io/client-go/rest/fake" 14 ) 15 16 func NewClientsetConfig(objects ...runtime.Object) (*restclient.Config, kubernetes.Interface) { 17 cfg, _ := restclient.InClusterConfig() 18 client := fakeclientset.NewSimpleClientset(objects...) 19 wrappedClient := &WrappedClientset{Clientset: client} 20 return cfg, wrappedClient 21 } 22 23 type ( 24 WrappedClientset struct { 25 *fakeclientset.Clientset 26 } 27 WrappedCoreV1 struct { 28 fakecorev1.FakeCoreV1 29 RestClient restclient.Interface 30 } 31 ) 32 33 func (w *WrappedClientset) CoreV1() corev1.CoreV1Interface { 34 return &WrappedCoreV1{ 35 FakeCoreV1: fakecorev1.FakeCoreV1{ 36 Fake: &w.Fake, 37 }, 38 RestClient: &fakeRESTClient.RESTClient{}, 39 } 40 } 41 42 func (w *WrappedCoreV1) RESTClient() restclient.Interface { 43 return w.RestClient 44 }