type DryRun … // NewDryRun creates a new DryRun object that only has a fake client. func NewDryRun() *DryRun { … } // WithKubeConfigFile takes a file path and creates real clientset and dynamic clients. func (d *DryRun) WithKubeConfigFile(file string) error { … } // WithKubeConfig takes a Config (kubeconfig) and creates real clientset and dynamic client. func (d *DryRun) WithKubeConfig(config *clientcmdapi.Config) error { … } // WithRestConfig takes a rest Config and creates real clientset and dynamic clients. func (d *DryRun) WithRestConfig(config *rest.Config) error { … } // WithWriter sets the io.Writer used for printing by the DryRun. func (d *DryRun) WithWriter(w io.Writer) *DryRun { … } // WithMarshalFunction sets the DryRun marshal function. func (d *DryRun) WithMarshalFunction(f func(runtime.Object, schema.GroupVersion) ([]byte, error)) *DryRun { … } // WithDefaultMarshalFunction sets the DryRun marshal function to the default one. func (d *DryRun) WithDefaultMarshalFunction() *DryRun { … } // PrependReactor prepends a new reactor in the fake client ReactorChain at position 1. // Keeps position 0 for the log reactor: // [ log, r, ... rest of the chain, default fake client reactor ] func (d *DryRun) PrependReactor(r *testing.SimpleReactor) *DryRun { … } // AppendReactor appends a new reactor in the fake client ReactorChain at position len-2. // Keeps position len-1 for the default fake client reactor. // [ log, rest of the chain... , r, default fake client reactor ] func (d *DryRun) AppendReactor(r *testing.SimpleReactor) *DryRun { … } // Client returns the clientset for this DryRun. func (d *DryRun) Client() clientset.Interface { … } // DynamicClient returns the dynamic client for this DryRun. func (d *DryRun) DynamicClient() dynamic.Interface { … } // FakeClient returns the fake client for this DryRun. func (d *DryRun) FakeClient() clientset.Interface { … } // addRectors is by default called by NewDryRun after creating the fake client. // It prepends a set of reactors before the default fake client reactor. func (d *DryRun) addReactors() { … } // handleGetAction tries to handle all GET actions with the dynamic client. func (d *DryRun) handleGetAction(action testing.GetAction) (bool, runtime.Object, error) { … } // handleListAction tries to handle all LIST actions with the dynamic client. func (d *DryRun) handleListAction(action testing.ListAction) (bool, runtime.Object, error) { … } // decodeUnstructuredIntoAPIObject decodes an unstructured object into an API object. func (d *DryRun) decodeUnstructuredIntoAPIObject(action testing.Action, obj runtime.Unstructured) (runtime.Object, error) { … } // LogAction logs details about an action, such as name, object and resource. func (d *DryRun) LogAction(action testing.Action) { … } // LogObject marshals the object and then prints it to the io.Writer of this DryRun. func (d *DryRun) LogObject(obj runtime.Object, gv schema.GroupVersion) { … } // HealthCheckJobReactor returns a reactor that handles the GET action for the Job // object used for the "CreateJob" upgrade preflight check. func (d *DryRun) HealthCheckJobReactor() *testing.SimpleReactor { … } // PatchNodeReactor returns a reactor that handles the generic PATCH action on Node objects. func (d *DryRun) PatchNodeReactor() *testing.SimpleReactor { … } // GetNodeReactor returns a reactor that handles the generic GET action of Node objects. func (d *DryRun) GetNodeReactor() *testing.SimpleReactor { … } // GetClusterInfoReactor returns a reactor that handles the GET action of the "cluster-info" // ConfigMap used during node bootstrap. func (d *DryRun) GetClusterInfoReactor() *testing.SimpleReactor { … } // GetKubeadmConfigReactor returns a reactor that handles the GET action of the "kubeadm-config" // ConfigMap. func (d *DryRun) GetKubeadmConfigReactor() *testing.SimpleReactor { … } // GetKubeadmCertsReactor returns a reactor that handles the GET action of the "kubeadm-certs" Secret. func (d *DryRun) GetKubeadmCertsReactor() *testing.SimpleReactor { … } // GetKubeletConfigReactor returns a reactor that handles the GET action of the "kubelet-config" // ConfigMap. func (d *DryRun) GetKubeletConfigReactor() *testing.SimpleReactor { … } // GetKubeProxyConfigReactor returns a reactor that handles the GET action of the "kube-proxy" // ConfigMap. func (d *DryRun) GetKubeProxyConfigReactor() *testing.SimpleReactor { … } // DeleteBootstrapTokenReactor returns a reactor that handles the DELETE action // of bootstrap token Secret. func (d *DryRun) DeleteBootstrapTokenReactor() *testing.SimpleReactor { … } // getJob returns a fake Job object. func getJob(namespace, name string) *batchv1.Job { … } // getNode returns a fake Node object. func getNode(name string) *corev1.Node { … } // getConfigMap returns a fake ConfigMap object. func getConfigMap(namespace, name string, data map[string]string) *corev1.ConfigMap { … } // getSecret returns a fake Secret object. func getSecret(namespace, name string, data map[string][]byte) *corev1.Secret { … } // getClusterInfoConfigMap returns a fake "cluster-info" ConfigMap. func getClusterInfoConfigMap() *corev1.ConfigMap { … } // getKubeadmConfigMap returns a fake "kubeadm-config" ConfigMap. func getKubeadmConfigMap() *corev1.ConfigMap { … } // getKubeadmCertsSecret returns a fake "kubeadm-certs" Secret. func getKubeadmCertsSecret() *corev1.Secret { … } // getKubeletConfigMap returns a fake "kubelet-config" ConfigMap. func getKubeletConfigMap() *corev1.ConfigMap { … } // getKubeProxyConfigMap returns a fake "kube-proxy" ConfigMap. func getKubeProxyConfigMap() *corev1.ConfigMap { … }