From c7a8875a3b673c818344341068328625093aa19d Mon Sep 17 00:00:00 2001 From: Christian Kruse Date: Thu, 29 Sep 2022 10:31:43 -0700 Subject: [PATCH] Fix merge Redact entity configuration metadata Original work (#4862) adapted for 7.x track Signed-off-by: Christian Kruse go mod tidy Signed-off-by: Christian Kruse --- api/core/v3/go.mod | 4 ++++ api/core/v3/go.sum | 1 + backend/api/generic.go | 10 ++++++---- backend/api/generic_test.go | 26 +++++++++++++------------- go.mod | 6 +++--- go.sum | 8 ++++---- 6 files changed, 31 insertions(+), 24 deletions(-) diff --git a/api/core/v3/go.mod b/api/core/v3/go.mod index 46c60c1ec6..b421e831bb 100644 --- a/api/core/v3/go.mod +++ b/api/core/v3/go.mod @@ -7,15 +7,18 @@ require ( github.com/golang/protobuf v1.5.2 github.com/sensu/sensu-go/api/core/v2 v2.15.0 github.com/sensu/sensu-go/types v0.11.0 + github.com/stretchr/testify v1.6.0 ) require ( github.com/blang/semver/v4 v4.0.0 // indirect github.com/coreos/go-semver v0.3.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect github.com/echlebek/timeproxy v1.0.0 // indirect github.com/golang-jwt/jwt/v4 v4.0.0 // indirect github.com/google/uuid v1.1.2 // indirect github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/robertkrimen/otto v0.0.0-20191219234010-c382bd3c16ff // indirect github.com/robfig/cron/v3 v3.0.1 // indirect github.com/sirupsen/logrus v1.6.0 // indirect @@ -27,4 +30,5 @@ require ( google.golang.org/grpc v1.38.0 // indirect google.golang.org/protobuf v1.26.0 // indirect gopkg.in/sourcemap.v1 v1.0.5 // indirect + gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect ) diff --git a/api/core/v3/go.sum b/api/core/v3/go.sum index 53cd5c2f67..49bc59a840 100644 --- a/api/core/v3/go.sum +++ b/api/core/v3/go.sum @@ -174,6 +174,7 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/sourcemap.v1 v1.0.5 h1:inv58fC9f9J3TK2Y2R1NPntXEn3/wjWHkonhIUODNTI= gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78= diff --git a/backend/api/generic.go b/backend/api/generic.go index be9ca4129f..25cc0c9522 100644 --- a/backend/api/generic.go +++ b/backend/api/generic.go @@ -159,7 +159,7 @@ func (g *GenericClient) getResource(ctx context.Context, name string, value core return err } if redacter, ok := value.(corev3.Redacter); ok { - value = redacter.ProduceRedacted() + redacter.ProduceRedacted() } return err } @@ -194,9 +194,11 @@ func (g *GenericClient) list(ctx context.Context, resources interface{}, pred *s if err := list.UnwrapInto(resources); err != nil { return err } - if redacters, ok := resources.([]corev3.Redacter); ok { - for i, redacter := range redacters { - redacters[i] = redacter.ProduceRedacted() + if v3Resources, ok := resources.(*[]corev3.Resource); ok { + for i, resource := range *v3Resources { + if redacter, ok := resource.(corev3.Redacter); ok { + (*v3Resources)[i] = redacter.ProduceRedacted() + } } } return nil diff --git a/backend/api/generic_test.go b/backend/api/generic_test.go index 7db5f0b14a..63e56a6248 100644 --- a/backend/api/generic_test.go +++ b/backend/api/generic_test.go @@ -576,8 +576,8 @@ func TestGenericClientStoreV2_sensu_enterprise_go_GH2484(t *testing.T) { if err != nil { panic(err) } - store.On("Get", mock.Anything).Return(wrappedResource, nil) - store.On("List", mock.Anything, mock.Anything).Return(wrap.List{wrappedResource.(*wrap.Wrapper)}, nil) + store.On("Get", mock.Anything, mock.Anything).Return(wrappedResource, nil) + store.On("List", mock.Anything, mock.Anything, mock.Anything).Return(wrap.List{wrappedResource.(*wrap.Wrapper)}, nil) return store } v3AllAccess := func() authorization.Authorizer { @@ -633,27 +633,27 @@ func TestGenericClientStoreV2_sensu_enterprise_go_GH2484(t *testing.T) { ctx := contextWithUser(defaultContext(), "tom", nil) client := defaultV2TestClient(makeStore(nil), v3AllAccess()) - listVal := []corev2.Resource{} + listVal := []corev3.Resource{} if err := client.List(ctx, &listVal, &store.SelectionPredicate{}); err != nil { t.Fatal(err) } - if listVal[0].GetObjectMeta().Labels["password"] != corev2.Redacted { - t.Errorf("Labels['password'] = %s, got: %s", corev2.Redacted, listVal[0].GetObjectMeta().Labels["password"]) + if listVal[0].GetMetadata().Labels["password"] != corev2.Redacted { + t.Errorf("Labels['password'] = %s, got: %s", corev2.Redacted, listVal[0].GetMetadata().Labels["password"]) } - if listVal[0].GetObjectMeta().Labels["my_label"] != "test" { - t.Errorf("Labels['my_label'] = %s, got: %s", "test", listVal[0].GetObjectMeta().Labels["my_label"]) + if listVal[0].GetMetadata().Labels["my_label"] != "test" { + t.Errorf("Labels['my_label'] = %s, got: %s", "test", listVal[0].GetMetadata().Labels["my_label"]) } client = defaultV2TestClient(makeStore(nil), v3AllAccess()) - getVal := corev3.V2ResourceProxy{Resource: &corev3.EntityConfig{}} - if err := client.Get(ctx, "default", &getVal); err != nil { + getVal := &corev3.EntityConfig{} + if err := client.Get(ctx, "default", getVal); err != nil { t.Fatal(err) } - if getVal.GetObjectMeta().Labels["password"] != corev2.Redacted { - t.Errorf("Labels['password'] = %s, got: %s", corev2.Redacted, getVal.GetObjectMeta().Labels["password"]) + if getVal.GetMetadata().Labels["password"] != corev2.Redacted { + t.Errorf("Labels['password'] = %s, got: %s", corev2.Redacted, getVal.GetMetadata().Labels["password"]) } - if getVal.GetObjectMeta().Labels["my_label"] != "test" { - t.Errorf("Labels['my_label'] = %s, got: %s", "test", getVal.GetObjectMeta().Labels["my_label"]) + if getVal.GetMetadata().Labels["my_label"] != "test" { + t.Errorf("Labels['my_label'] = %s, got: %s", "test", getVal.GetMetadata().Labels["my_label"]) } } diff --git a/go.mod b/go.mod index 666bbe6c5c..1f33d1aee1 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,6 @@ require ( github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 github.com/jackc/pgconn v1.12.1 github.com/jackc/pgx/v4 v4.16.1 - github.com/json-iterator/go v1.1.12 github.com/lib/pq v1.10.5 github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b github.com/mholt/archiver/v3 v3.3.1-0.20191129193105-44285f7ed244 @@ -47,8 +46,8 @@ require ( github.com/robertkrimen/otto v0.0.0-20191219234010-c382bd3c16ff github.com/robfig/cron/v3 v3.0.1 github.com/sensu/lasr v1.2.1 - github.com/sensu/sensu-go/api/core/v2 v2.15.0 - github.com/sensu/sensu-go/api/core/v3 v3.7.0 + github.com/sensu/sensu-go/api/core/v2 v2.15.1-alpha2 + github.com/sensu/sensu-go/api/core/v3 v3.7.1-alpha1 github.com/sensu/sensu-go/types v0.11.0 github.com/shirou/gopsutil/v3 v3.21.12 github.com/sirupsen/logrus v1.7.0 @@ -107,6 +106,7 @@ require ( github.com/jackc/puddle v1.2.1 // indirect github.com/jbenet/go-reuseport v0.0.0-20180416043609-15a1cd37f050 // indirect github.com/jonboulle/clockwork v0.2.2 // indirect + github.com/json-iterator/go v1.1.12 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/klauspost/compress v1.9.2 // indirect github.com/klauspost/pgzip v1.2.1 // indirect diff --git a/go.sum b/go.sum index a2cc294e97..eaff9fe0d0 100644 --- a/go.sum +++ b/go.sum @@ -483,12 +483,12 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg github.com/sensu/lasr v1.2.1 h1:4H1QfOrPkwYHMFE5qAI6GwKEFkcI1YRyjjWidz1MihQ= github.com/sensu/lasr v1.2.1/go.mod h1:VIMtIK67Bcef6dTfctRCBg8EY9M9TtCY9NEFT6Zw5xQ= github.com/sensu/sensu-go/api/core/v2 v2.14.0/go.mod h1:XCgUjY78ApTahizBz/pkc5KU17L/E5BexeZHkGDdTls= -github.com/sensu/sensu-go/api/core/v2 v2.15.0 h1:TdH4Iq2OfpVqoY3yVXpUVe2lMmC0Ksp9Dq3wpIELXRM= -github.com/sensu/sensu-go/api/core/v2 v2.15.0/go.mod h1:QxGKxqQv4rpweFrR4Jkp1tas3amGzAy0wO0fUwq0suU= +github.com/sensu/sensu-go/api/core/v2 v2.15.1-alpha2 h1:6hUVaCWZkzUPevOXjrSJoGdW4iF3CxdCrahv4m7bPB0= +github.com/sensu/sensu-go/api/core/v2 v2.15.1-alpha2/go.mod h1:MjM7+MCGEyTAgaZ589SiGHwYiaYF7N/58dU0J070u/0= github.com/sensu/sensu-go/api/core/v3 v3.6.1/go.mod h1:aqNOkJxkrwRq+rPW47XtVWeb5Rk1K5adlCZGBW9nsvM= github.com/sensu/sensu-go/api/core/v3 v3.6.2/go.mod h1:aqNOkJxkrwRq+rPW47XtVWeb5Rk1K5adlCZGBW9nsvM= -github.com/sensu/sensu-go/api/core/v3 v3.7.0 h1:SgLar+4h3e7B8FveOHGshosmDxJhrP1ovh/1eNS11eM= -github.com/sensu/sensu-go/api/core/v3 v3.7.0/go.mod h1:X0mcDXOt2LCjuu0sCzXNdeeYbLq9QLtxKSpnsDybclg= +github.com/sensu/sensu-go/api/core/v3 v3.7.1-alpha1 h1:nd6ib+RMRI/e7q++kmtcFt5HrJCBtmz6UGUMH132XhY= +github.com/sensu/sensu-go/api/core/v3 v3.7.1-alpha1/go.mod h1:8io5TBGBcuR9B5MiWUi3bqr2+sGe+qcH5p6NjhAlzy4= github.com/sensu/sensu-go/types v0.10.0/go.mod h1:vFZJ9TYBAjSPYtYt+82PpS9P6m73Vzr4O23lmJonzrA= github.com/sensu/sensu-go/types v0.11.0 h1:jsVa/apRaJJEdk0Jl7ZUksiBkuEAjCZd/gSBWlrptJA= github.com/sensu/sensu-go/types v0.11.0/go.mod h1:fhgW3xlvkPFMZiT0IppHySeyN61ZTIKevgSPFSoaQEk=