kuma

Форк
0
/
google_proto_test.go 
45 строк · 1.6 Кб
1
package proto_test
2

3
import (
4
	"time"
5

6
	envoy_cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
7
	envoy_config_core_v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
8
	. "github.com/onsi/ginkgo/v2"
9
	. "github.com/onsi/gomega"
10
	"google.golang.org/protobuf/types/known/durationpb"
11

12
	util_proto "github.com/kumahq/kuma/pkg/util/proto"
13
)
14

15
var _ = Describe("MergeKuma", func() {
16
	It("should merge durations by replacing them", func() {
17
		dest := &envoy_cluster.Cluster{
18
			Name:           "old",
19
			ConnectTimeout: durationpb.New(time.Second * 10),
20
			EdsClusterConfig: &envoy_cluster.Cluster_EdsClusterConfig{
21
				ServiceName: "srv",
22
				EdsConfig: &envoy_config_core_v3.ConfigSource{
23
					InitialFetchTimeout: durationpb.New(time.Millisecond * 100),
24
				},
25
			},
26
		}
27
		src := &envoy_cluster.Cluster{
28
			Name:           "new",
29
			ConnectTimeout: durationpb.New(time.Millisecond * 500),
30
			EdsClusterConfig: &envoy_cluster.Cluster_EdsClusterConfig{
31
				EdsConfig: &envoy_config_core_v3.ConfigSource{
32
					InitialFetchTimeout: durationpb.New(time.Second),
33
					ResourceApiVersion:  envoy_config_core_v3.ApiVersion_V3,
34
				},
35
			},
36
		}
37
		util_proto.Merge(dest, src)
38
		Expect(dest.ConnectTimeout.AsDuration()).To(Equal(time.Millisecond * 500))
39
		Expect(dest.Name).To(Equal("new"))
40
		Expect(dest.EdsClusterConfig.ServiceName).To(Equal("srv"))
41
		Expect(dest.EdsClusterConfig.EdsConfig.InitialFetchTimeout.AsDuration()).To(Equal(time.Second))
42
		Expect(dest.EdsClusterConfig.EdsConfig.InitialFetchTimeout.AsDuration()).To(Equal(time.Second))
43
		Expect(dest.EdsClusterConfig.EdsConfig.ResourceApiVersion).To(Equal(envoy_config_core_v3.ApiVersion_V3))
44
	})
45
})
46

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

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

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

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