func (f *FakePodRunner) CopyToPod(ctx context.Context, podName types.NamespacedName,
	contName string, sourceFile string, destFile string) (stdout, stderr string, err error) {
	command := []string{"sh", "-c", fmt.Sprintf("cat > %s", destFile)}
	return f.ExecInPod(ctx, podName, contName, command...)
}
CopyToPod will mimic a real copy file into a pod
package cmds
import (
	"context"
	"fmt"
	"strings"
	"k8s.io/apimachinery/pkg/types"
)
type FakePodRunner struct {
	Results CmdResults
	Histories []CmdHistory
	SUPassword string
}
type CmdResults map[types.NamespacedName][]CmdResult
type CmdResult struct {
	Stdout string
	Stderr string
	Err    error
}
type CmdHistory struct {
	Pod     types.NamespacedName
	Command []string
}
func (f *FakePodRunner) ExecInPod(ctx context.Context, podName types.NamespacedName,
	contName string, command ...string) (stdout, stderr string, err error) {
	f.Histories = append(f.Histories, CmdHistory{Pod: podName, Command: command})
	res, ok := f.Results[podName]
	if !ok || len(res) == 0 {
		return "", "", nil
	}
	execReturn := res[0]
	res = res[1:]
	f.Results[podName] = res
	return execReturn.Stdout, execReturn.Stderr, execReturn.Err
}
func (f *FakePodRunner) ExecAdmintools(ctx context.Context, podName types.NamespacedName,
	contName string, command ...string) (stdout, stderr string, err error) {
	command = UpdateAdmintoolsCmd(f.SUPassword, command...)
	return f.ExecInPod(ctx, podName, contName, command...)
}
func (f *FakePodRunner) ExecVSQL(ctx context.Context, podName types.NamespacedName,
	contName string, command ...string) (stdout, stderr string, err error) {
	command = UpdateVsqlCmd(f.SUPassword, command...)
	return f.ExecInPod(ctx, podName, contName, command...)
}