mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-01 19:36:32 +02:00
35 lines
893 B
Go
35 lines
893 B
Go
package protoutil
|
|
|
|
import (
|
|
"testing"
|
|
|
|
envoy_type_v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3"
|
|
"github.com/google/go-cmp/cmp"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"google.golang.org/protobuf/testing/protocmp"
|
|
"google.golang.org/protobuf/types/known/fieldmaskpb"
|
|
)
|
|
|
|
func TestMergeWithFieldMask(t *testing.T) {
|
|
m1 := NewAny(&envoy_type_v3.SemanticVersion{
|
|
MajorNumber: 1,
|
|
MinorNumber: 1,
|
|
Patch: 1,
|
|
})
|
|
m2 := NewAny(&envoy_type_v3.SemanticVersion{
|
|
MajorNumber: 2,
|
|
MinorNumber: 2,
|
|
Patch: 2,
|
|
})
|
|
expect := NewAny(&envoy_type_v3.SemanticVersion{
|
|
MajorNumber: 2,
|
|
MinorNumber: 1,
|
|
Patch: 2,
|
|
})
|
|
actual, err := MergeAnyWithFieldMask(m1, m2, &fieldmaskpb.FieldMask{
|
|
Paths: []string{"major_number", "patch"},
|
|
})
|
|
require.NoError(t, err)
|
|
assert.Empty(t, cmp.Diff(expect, actual, protocmp.Transform()))
|
|
}
|