6
"github.com/spf13/cobra"
8
kumactl_cmd "github.com/kumahq/kuma/app/kumactl/cmd"
9
kumactl_pkg_cmd "github.com/kumahq/kuma/app/kumactl/pkg/cmd"
10
kumactl_resources "github.com/kumahq/kuma/app/kumactl/pkg/resources"
11
"github.com/kumahq/kuma/pkg/api-server/types"
12
util_http "github.com/kumahq/kuma/pkg/util/http"
13
kuma_version "github.com/kumahq/kuma/pkg/version"
16
type MockAPIServerClient struct {
17
Version types.IndexResponse
20
func (m *MockAPIServerClient) GetVersion(ctx context.Context) (*types.IndexResponse, error) {
21
return &m.Version, nil
24
func GetMockNewAPIServerClient() func(util_http.Client) kumactl_resources.ApiServerClient {
25
return func(util_http.Client) kumactl_resources.ApiServerClient {
26
return &MockAPIServerClient{
27
Version: types.IndexResponse{
28
Hostname: "localhost",
29
Tagline: kuma_version.Product,
30
Version: kuma_version.Build.Version,
36
// DefaultTestingRootCmd returns the DefaultRootCmd with server API mocked to return
37
// current version. Useful for tests which don't actually require the server but need to
38
// avoid extraneous warnings.
39
func DefaultTestingRootCmd() *cobra.Command {
40
ctx := kumactl_pkg_cmd.DefaultRootContext()
41
ctx.Runtime.NewAPIServerClient = GetMockNewAPIServerClient()
42
return kumactl_cmd.NewRootCmd(ctx)