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"
12
util_proto "github.com/kumahq/kuma/pkg/util/proto"
15
var _ = Describe("MergeKuma", func() {
16
It("should merge durations by replacing them", func() {
17
dest := &envoy_cluster.Cluster{
19
ConnectTimeout: durationpb.New(time.Second * 10),
20
EdsClusterConfig: &envoy_cluster.Cluster_EdsClusterConfig{
22
EdsConfig: &envoy_config_core_v3.ConfigSource{
23
InitialFetchTimeout: durationpb.New(time.Millisecond * 100),
27
src := &envoy_cluster.Cluster{
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,
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))