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  }