From 2d2eb41f279fffb5bf1830a6c08a33cb0c7d7833 Mon Sep 17 00:00:00 2001 From: Andrew Martinez Date: Mon, 22 Jul 2024 10:00:14 -0400 Subject: [PATCH 1/3] fixes #2209 anon access to list ext jwt signers on client API --- .../routes/external_jwt_signer_router.go | 3 +- tests/context.go | 5 +++ tests/external_jwt_signer_test.go | 45 ++++++++++++++++++- 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/controller/internal/routes/external_jwt_signer_router.go b/controller/internal/routes/external_jwt_signer_router.go index 35785aa9a..5f8f31874 100644 --- a/controller/internal/routes/external_jwt_signer_router.go +++ b/controller/internal/routes/external_jwt_signer_router.go @@ -19,6 +19,7 @@ package routes import ( "github.com/go-openapi/runtime/middleware" "github.com/michaelquigley/pfxlog" + external_jwt_signer_client "github.com/openziti/edge-api/rest_client_api_server/operations/external_jwt_signer" "github.com/openziti/edge-api/rest_management_api_server/operations/external_jwt_signer" "github.com/openziti/ziti/controller/db" "github.com/openziti/ziti/controller/env" @@ -45,7 +46,7 @@ func NewExternalJwtSignerRouter() *ExternalJwtSignerRouter { func (r *ExternalJwtSignerRouter) Register(ae *env.AppEnv) { // client - ae.ManagementApi.ExternalJWTSignerListExternalJWTSignersHandler = external_jwt_signer.ListExternalJWTSignersHandlerFunc(func(params external_jwt_signer.ListExternalJWTSignersParams, _ interface{}) middleware.Responder { + ae.ClientApi.ExternalJWTSignerListExternalJWTSignersHandler = external_jwt_signer_client.ListExternalJWTSignersHandlerFunc(func(params external_jwt_signer_client.ListExternalJWTSignersParams) middleware.Responder { return ae.IsAllowed(r.ListClient, params.HTTPRequest, "", "", permissions.Always()) }) diff --git a/tests/context.go b/tests/context.go index 88a1dfa31..9ec203d38 100644 --- a/tests/context.go +++ b/tests/context.go @@ -594,6 +594,11 @@ func (ctx *TestContext) newAnonymousClientApiRequest() *resty.Request { SetHeader("content-type", "application/json") } +func (ctx *TestContext) newAnonymousManagementApiRequest() *resty.Request { + return ctx.DefaultManagementApiClient().R(). + SetHeader("content-type", "application/json") +} + func (ctx *TestContext) newRequestWithClientCert(cert *x509.Certificate, privateKey crypto.PrivateKey) *resty.Request { client, _, _ := ctx.NewClientComponentsWithClientCert(cert, privateKey) diff --git a/tests/external_jwt_signer_test.go b/tests/external_jwt_signer_test.go index 8e5c75940..ceb888547 100644 --- a/tests/external_jwt_signer_test.go +++ b/tests/external_jwt_signer_test.go @@ -63,7 +63,50 @@ func Test_ExternalJWTSigner(t *testing.T) { ctx.Req.NoError(err) ctx.Req.Equal(http.StatusCreated, resp.StatusCode()) - t.Run("get after create returns 200 Ok", func(t *testing.T) { + t.Run("list after create returns 200 OK and a list as an admin on the management api", func(t *testing.T) { + ctx.testContextChanged(t) + jwtSignerListEnv := &rest_model.ListExternalJWTSignersEnvelope{} + + resp, err := ctx.AdminManagementSession.newAuthenticatedRequest().SetResult(jwtSignerListEnv).Get("/external-jwt-signers/") + ctx.Req.NoError(err) + ctx.Req.Equal(http.StatusOK, resp.StatusCode()) + + t.Run("list response has 1 entry", func(t *testing.T) { + ctx.testContextChanged(t) + + ctx.Req.NotNil(jwtSignerListEnv) + ctx.Req.NotNil(jwtSignerListEnv.Data) + ctx.Req.Len(jwtSignerListEnv.Data, 1) + }) + }) + + t.Run("list after create returns 401 as anonymous on the management api", func(t *testing.T) { + ctx.testContextChanged(t) + jwtSignerListEnv := &rest_model.ListExternalJWTSignersEnvelope{} + + resp, err := ctx.newAnonymousClientApiRequest().SetResult(jwtSignerListEnv).Get("/external-jwt-signers/") + ctx.Req.NoError(err) + ctx.Req.Equal(http.StatusUnauthorized, resp.StatusCode()) + }) + + t.Run("list after create returns 200 OK and a list as anonymous on the client api", func(t *testing.T) { + ctx.testContextChanged(t) + jwtSignerListEnv := &rest_model.ListExternalJWTSignersEnvelope{} + + resp, err := ctx.newAnonymousClientApiRequest().SetResult(jwtSignerListEnv).Get("/external-jwt-signers/") + ctx.Req.NoError(err) + ctx.Req.Equal(http.StatusOK, resp.StatusCode()) + + t.Run("list response has 1 entry", func(t *testing.T) { + ctx.testContextChanged(t) + + ctx.Req.NotNil(jwtSignerListEnv) + ctx.Req.NotNil(jwtSignerListEnv.Data) + ctx.Req.Len(jwtSignerListEnv.Data, 1) + }) + }) + + t.Run("detail after create returns 200 Ok", func(t *testing.T) { ctx.testContextChanged(t) jwtSignerDetailEnv := &rest_model.DetailExternalJWTSignerEnvelope{} From 503a53fab913a66f8b57fc627accf010a3483558 Mon Sep 17 00:00:00 2001 From: Andrew Martinez Date: Tue, 23 Jul 2024 10:25:59 -0400 Subject: [PATCH 2/3] fix tests --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- tests/context.go | 2 +- tests/external_jwt_signer_test.go | 3 +-- zititest/go.mod | 10 +++++----- zititest/go.sum | 20 ++++++++++---------- 6 files changed, 32 insertions(+), 33 deletions(-) diff --git a/go.mod b/go.mod index e3de773ef..f70ed7c3a 100644 --- a/go.mod +++ b/go.mod @@ -49,7 +49,7 @@ require ( github.com/natefinch/lumberjack v2.0.0+incompatible github.com/openziti/agent v1.0.16 github.com/openziti/channel/v2 v2.0.136 - github.com/openziti/edge-api v0.26.20 + github.com/openziti/edge-api v0.26.22 github.com/openziti/foundation/v2 v2.0.47 github.com/openziti/identity v1.0.81 github.com/openziti/jwks v1.0.3 @@ -175,11 +175,11 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.mongodb.org/mongo-driver v1.15.0 // indirect + go.mongodb.org/mongo-driver v1.16.0 // indirect go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 // indirect - go.opentelemetry.io/otel v1.27.0 // indirect - go.opentelemetry.io/otel/metric v1.27.0 // indirect - go.opentelemetry.io/otel/trace v1.27.0 // indirect + go.opentelemetry.io/otel v1.28.0 // indirect + go.opentelemetry.io/otel/metric v1.28.0 // indirect + go.opentelemetry.io/otel/trace v1.28.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect diff --git a/go.sum b/go.sum index 23aab80b7..9f332afba 100644 --- a/go.sum +++ b/go.sum @@ -570,8 +570,8 @@ github.com/openziti/channel/v2 v2.0.136 h1:XWjcNrPhto2XiD5HLhsh7GhmqfHEweQIJ/eUj github.com/openziti/channel/v2 v2.0.136/go.mod h1:7jhk6JtJPP1O8aWYx+w2IuwCunFJ88Ot4AQcrKiX5og= github.com/openziti/dilithium v0.3.3 h1:PLgQ6PMNLSTzCFbX/h98cmudgz/cU6TmjdSv5NAPD8k= github.com/openziti/dilithium v0.3.3/go.mod h1:vsCjI2AU/hon9e+dLhUFbCNGesJDj2ASgkySOcpmvjo= -github.com/openziti/edge-api v0.26.20 h1:r/61qDzU475mTXjZV/t3oGNN5szndzAR4OyhKjXb2jk= -github.com/openziti/edge-api v0.26.20/go.mod h1:BQryKiWKvoVn4sZEjVToSW/2tL+M1ylSWsNzRKUfl9Q= +github.com/openziti/edge-api v0.26.22 h1:kpd+SxdO4UO4/SO3DFWyndseY90J5zWtO5EsAqHJHvM= +github.com/openziti/edge-api v0.26.22/go.mod h1:t0qfgV5u2+HItpvgDIShA69v6m7RZ+PrbQuLQaDDdx8= github.com/openziti/foundation/v2 v2.0.47 h1:f2LM6FQOhHXJ9QMTpr4GAKq8qXspNG3EGczMjjyz7uc= github.com/openziti/foundation/v2 v2.0.47/go.mod h1:pj5nPmVtAdF1QX+aRtALw69hxcsAzrWDpBUe+Zrc73Q= github.com/openziti/identity v1.0.81 h1:zeS+sCxsfIbNAvlLHqM+74BcCPitW4Vpmarlrcun6hw= @@ -804,8 +804,8 @@ go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.mongodb.org/mongo-driver v1.15.0 h1:rJCKC8eEliewXjZGf0ddURtl7tTVy1TK3bfl0gkUSLc= -go.mongodb.org/mongo-driver v1.15.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= +go.mongodb.org/mongo-driver v1.16.0 h1:tpRsfBJMROVHKpdGyc1BBEzzjDUWjItxbVSZ8Ls4BQ4= +go.mongodb.org/mongo-driver v1.16.0/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw= go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 h1:CCriYyAfq1Br1aIYettdHZTy8mBTIPo7We18TuO/bak= go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= @@ -816,14 +816,14 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= -go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= -go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= -go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= +go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= +go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= +go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= +go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= -go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= +go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= +go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= diff --git a/tests/context.go b/tests/context.go index 9ec203d38..40b9b58d7 100644 --- a/tests/context.go +++ b/tests/context.go @@ -262,7 +262,7 @@ func (ctx *TestContext) DefaultManagementApiClient() *resty.Client { ctx.managementApiClient, _, _ = ctx.NewClientComponents(EdgeManagementApiPath) ctx.managementApiClient.AllowGetMethodPayload = true } - return ctx.clientApiClient + return ctx.managementApiClient } func (ctx *TestContext) NewClientComponents(apiPath string) (*resty.Client, *http.Client, *http.Transport) { diff --git a/tests/external_jwt_signer_test.go b/tests/external_jwt_signer_test.go index ceb888547..fd48c11d8 100644 --- a/tests/external_jwt_signer_test.go +++ b/tests/external_jwt_signer_test.go @@ -82,9 +82,8 @@ func Test_ExternalJWTSigner(t *testing.T) { t.Run("list after create returns 401 as anonymous on the management api", func(t *testing.T) { ctx.testContextChanged(t) - jwtSignerListEnv := &rest_model.ListExternalJWTSignersEnvelope{} - resp, err := ctx.newAnonymousClientApiRequest().SetResult(jwtSignerListEnv).Get("/external-jwt-signers/") + resp, err := ctx.newAnonymousManagementApiRequest().Get("/external-jwt-signers") ctx.Req.NoError(err) ctx.Req.Equal(http.StatusUnauthorized, resp.StatusCode()) }) diff --git a/zititest/go.mod b/zititest/go.mod index 652a223da..23080d6e7 100644 --- a/zititest/go.mod +++ b/zititest/go.mod @@ -12,7 +12,7 @@ require ( github.com/michaelquigley/pfxlog v0.6.10 github.com/openziti/agent v1.0.16 github.com/openziti/channel/v2 v2.0.136 - github.com/openziti/edge-api v0.26.20 + github.com/openziti/edge-api v0.26.22 github.com/openziti/fablab v0.5.60 github.com/openziti/foundation/v2 v2.0.47 github.com/openziti/identity v1.0.81 @@ -177,11 +177,11 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/zitadel/oidc/v2 v2.12.0 // indirect - go.mongodb.org/mongo-driver v1.15.0 // indirect + go.mongodb.org/mongo-driver v1.16.0 // indirect go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 // indirect - go.opentelemetry.io/otel v1.27.0 // indirect - go.opentelemetry.io/otel/metric v1.27.0 // indirect - go.opentelemetry.io/otel/trace v1.27.0 // indirect + go.opentelemetry.io/otel v1.28.0 // indirect + go.opentelemetry.io/otel/metric v1.28.0 // indirect + go.opentelemetry.io/otel/trace v1.28.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect go4.org v0.0.0-20180809161055-417644f6feb5 // indirect diff --git a/zititest/go.sum b/zititest/go.sum index 3c85893c7..031c5d1a0 100644 --- a/zititest/go.sum +++ b/zititest/go.sum @@ -592,8 +592,8 @@ github.com/openziti/channel/v2 v2.0.136 h1:XWjcNrPhto2XiD5HLhsh7GhmqfHEweQIJ/eUj github.com/openziti/channel/v2 v2.0.136/go.mod h1:7jhk6JtJPP1O8aWYx+w2IuwCunFJ88Ot4AQcrKiX5og= github.com/openziti/dilithium v0.3.3 h1:PLgQ6PMNLSTzCFbX/h98cmudgz/cU6TmjdSv5NAPD8k= github.com/openziti/dilithium v0.3.3/go.mod h1:vsCjI2AU/hon9e+dLhUFbCNGesJDj2ASgkySOcpmvjo= -github.com/openziti/edge-api v0.26.20 h1:r/61qDzU475mTXjZV/t3oGNN5szndzAR4OyhKjXb2jk= -github.com/openziti/edge-api v0.26.20/go.mod h1:BQryKiWKvoVn4sZEjVToSW/2tL+M1ylSWsNzRKUfl9Q= +github.com/openziti/edge-api v0.26.22 h1:kpd+SxdO4UO4/SO3DFWyndseY90J5zWtO5EsAqHJHvM= +github.com/openziti/edge-api v0.26.22/go.mod h1:t0qfgV5u2+HItpvgDIShA69v6m7RZ+PrbQuLQaDDdx8= github.com/openziti/fablab v0.5.60 h1:RsqrEb3LV6asK5N97uZKyNSDhcNOeDcAuT4OAD/hY9Y= github.com/openziti/fablab v0.5.60/go.mod h1:B/ib+GOtozEIytv2aXSFl9+dL7AiGfbpGS/VjnNduU8= github.com/openziti/foundation/v2 v2.0.47 h1:f2LM6FQOhHXJ9QMTpr4GAKq8qXspNG3EGczMjjyz7uc= @@ -831,8 +831,8 @@ go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.mongodb.org/mongo-driver v1.15.0 h1:rJCKC8eEliewXjZGf0ddURtl7tTVy1TK3bfl0gkUSLc= -go.mongodb.org/mongo-driver v1.15.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= +go.mongodb.org/mongo-driver v1.16.0 h1:tpRsfBJMROVHKpdGyc1BBEzzjDUWjItxbVSZ8Ls4BQ4= +go.mongodb.org/mongo-driver v1.16.0/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw= go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 h1:CCriYyAfq1Br1aIYettdHZTy8mBTIPo7We18TuO/bak= go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= @@ -843,14 +843,14 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= -go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= -go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= -go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= +go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= +go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= +go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= +go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= -go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= +go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= +go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= From 8b30ffc8a8efe93522204273132e113083cf3388 Mon Sep 17 00:00:00 2001 From: Andrew Martinez Date: Tue, 23 Jul 2024 11:05:09 -0400 Subject: [PATCH 3/3] add property checks in test --- tests/external_jwt_signer_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/external_jwt_signer_test.go b/tests/external_jwt_signer_test.go index fd48c11d8..4132a1a45 100644 --- a/tests/external_jwt_signer_test.go +++ b/tests/external_jwt_signer_test.go @@ -102,6 +102,8 @@ func Test_ExternalJWTSigner(t *testing.T) { ctx.Req.NotNil(jwtSignerListEnv) ctx.Req.NotNil(jwtSignerListEnv.Data) ctx.Req.Len(jwtSignerListEnv.Data, 1) + ctx.Req.Equal(*jwtSigner.Name, *jwtSignerListEnv.Data[0].Name) + ctx.Req.Equal(*jwtSigner.ExternalAuthURL, *jwtSignerListEnv.Data[0].ExternalAuthURL) }) })