kuma

Форк
0
/
mock_api_client.go 
43 строки · 1.3 Кб
1
package test
2

3
import (
4
	"context"
5

6
	"github.com/spf13/cobra"
7

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"
14
)
15

16
type MockAPIServerClient struct {
17
	Version types.IndexResponse
18
}
19

20
func (m *MockAPIServerClient) GetVersion(ctx context.Context) (*types.IndexResponse, error) {
21
	return &m.Version, nil
22
}
23

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,
31
			},
32
		}
33
	}
34
}
35

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)
43
}
44

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.