From 44d18568b4570fac368d8a16aaa1dd01088d0613 Mon Sep 17 00:00:00 2001 From: JM Huibonhoa Date: Mon, 18 Nov 2024 13:17:01 -0500 Subject: [PATCH 1/3] pin mock package version, update openapi yaml and tests --- Makefile | 2 +- api/v1/openapi.yaml | 11 ++ go.mod | 17 +-- go.sum | 42 +++---- internal/cognito/server/handler_test.go | 10 +- .../cognito/server/mock/cognito_client.go | 103 ++++++++++-------- pkg/api/v1/server.gen.go | 61 +++++++++-- pkg/api/v1/spec.gen.go | 36 +++--- pkg/api/v1/types.gen.go | 12 ++ test/e2e/e2e_test.go | 3 +- 10 files changed, 189 insertions(+), 108 deletions(-) diff --git a/Makefile b/Makefile index 0b5f7e8..018bf43 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ mod-download: .PHONY: install-go-tools install-go-tools: mod-download mkdir -p $(DEPSGOBIN) - go install go.uber.org/mock/mockgen@latest + go install go.uber.org/mock/mockgen@v0.5.0 go install github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION) # Run go-generate on all sub-packages. This generates mocks and primitives used in the portal API implementation. diff --git a/api/v1/openapi.yaml b/api/v1/openapi.yaml index 6595928..d8321f7 100644 --- a/api/v1/openapi.yaml +++ b/api/v1/openapi.yaml @@ -10,6 +10,12 @@ paths: post: description: Creates an application of type oauth2. This is intended to be integrated with an Open Id Connect Provider that the IDP Connect implementation integrates with. Note that the `clientSecret` is never stored in the database and is shown to the user only once. Keep this secret to make future requests to the API products in the Portal. operationId: CreateOAuthApplication + parameters: + - in: header + name: "token" + description: Token of origin user invoking the request. + schema: + type: string requestBody: description: (Required) Unique identifier for creating client. required: true @@ -56,6 +62,11 @@ paths: description: (Required) ID for application to delete. schema: type: string + - in: header + name: "token" + description: Token of origin user invoking the request. + schema: + type: string responses: '204': description: Successfully deleted application. diff --git a/go.mod b/go.mod index 5075716..c2620eb 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/solo-io/gloo-portal-idp-connect -go 1.21.1 +go 1.22 + +toolchain go1.22.9 require ( github.com/aws/aws-sdk-go-v2 v1.21.2 @@ -18,6 +20,7 @@ require ( github.com/rotisserie/eris v0.5.4 github.com/spf13/cobra v1.8.0 github.com/spf13/pflag v1.0.5 + go.uber.org/mock v0.5.0 k8s.io/api v0.28.3 k8s.io/apimachinery v0.28.3 k8s.io/client-go v0.28.3 @@ -70,14 +73,14 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/net v0.22.0 // indirect + golang.org/x/crypto v0.24.0 // indirect + golang.org/x/net v0.26.0 // indirect golang.org/x/oauth2 v0.12.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/term v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.16.1 // indirect + golang.org/x/tools v0.22.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index e9c962a..b757d31 100644 --- a/go.sum +++ b/go.sum @@ -64,7 +64,6 @@ github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-resty/resty/v2 v2.11.0/go.mod h1:iiP/OpA0CkcL3IGt1O0+/SIItFUbkkyw5BGXiVdTu+A= github.com/go-resty/resty/v2 v2.12.0 h1:rsVL8P90LFvkUYq/V5BTVe203WfRIU4gvcf+yfzJzGA= github.com/go-resty/resty/v2 v2.12.0/go.mod h1:o0yGPrkS3lOe1+eFajk6kBW8ScXzwU3hD69/gt2yB/0= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= @@ -139,6 +138,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/maxatome/go-testdeep v1.12.0 h1:Ql7Go8Tg0C1D/uMMX59LAoYK7LffeJQ6X2T04nTH68g= +github.com/maxatome/go-testdeep v1.12.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwUBUAfUNvrclaNM= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -188,8 +189,8 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= @@ -203,6 +204,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= @@ -211,12 +214,10 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -234,12 +235,10 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -262,32 +261,27 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -297,8 +291,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= -golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/internal/cognito/server/handler_test.go b/internal/cognito/server/handler_test.go index e23dfee..e972c2d 100644 --- a/internal/cognito/server/handler_test.go +++ b/internal/cognito/server/handler_test.go @@ -8,10 +8,10 @@ import ( cognito "github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider" "github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider/types" smithyhttp "github.com/aws/smithy-go/transport/http" - "github.com/golang/mock/gomock" _ "github.com/golang/mock/mockgen/model" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" + "go.uber.org/mock/gomock" "github.com/solo-io/gloo-portal-idp-connect/internal/cognito/server" "github.com/solo-io/gloo-portal-idp-connect/internal/cognito/server/mock" @@ -101,7 +101,11 @@ var _ = Describe("Server", func() { }) It("returns an error code on empty client id", func() { + token := "test" resp, err := s.CreateOAuthApplication(ctx, portalv1.CreateOAuthApplicationRequestObject{ + Params: portalv1.CreateOAuthApplicationParams{ + Token: &token, + }, Body: &portalv1.CreateOAuthApplicationJSONRequestBody{ Id: "", }, @@ -152,8 +156,12 @@ var _ = Describe("Server", func() { }) It("can delete the client", func() { + token := "test" resp, err := s.DeleteOAuthApplication(ctx, portalv1.DeleteOAuthApplicationRequestObject{ Id: clientId, + Params: portalv1.DeleteOAuthApplicationParams{ + Token: &token, + }, }) Expect(err).NotTo(HaveOccurred()) Expect(resp).To(BeAssignableToTypeOf(portalv1.DeleteOAuthApplication204Response{})) diff --git a/internal/cognito/server/mock/cognito_client.go b/internal/cognito/server/mock/cognito_client.go index 2fd2db8..c93b899 100644 --- a/internal/cognito/server/mock/cognito_client.go +++ b/internal/cognito/server/mock/cognito_client.go @@ -1,44 +1,51 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/solo-io/gloo-portal-idp-connect/internal/cognito/server (interfaces: CognitoClient) +// +// Generated by this command: +// +// mockgen -destination=mock/cognito_client.go . CognitoClient +// // Package mock_server is a generated GoMock package. package mock_server import ( context "context" - cognitoidentityprovider "github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider" - gomock "github.com/golang/mock/gomock" reflect "reflect" + + cognitoidentityprovider "github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider" + gomock "go.uber.org/mock/gomock" ) -// MockCognitoClient is a mock of CognitoClient interface +// MockCognitoClient is a mock of CognitoClient interface. type MockCognitoClient struct { ctrl *gomock.Controller recorder *MockCognitoClientMockRecorder + isgomock struct{} } -// MockCognitoClientMockRecorder is the mock recorder for MockCognitoClient +// MockCognitoClientMockRecorder is the mock recorder for MockCognitoClient. type MockCognitoClientMockRecorder struct { mock *MockCognitoClient } -// NewMockCognitoClient creates a new mock instance +// NewMockCognitoClient creates a new mock instance. func NewMockCognitoClient(ctrl *gomock.Controller) *MockCognitoClient { mock := &MockCognitoClient{ctrl: ctrl} mock.recorder = &MockCognitoClientMockRecorder{mock} return mock } -// EXPECT returns an object that allows the caller to indicate expected use +// EXPECT returns an object that allows the caller to indicate expected use. func (m *MockCognitoClient) EXPECT() *MockCognitoClientMockRecorder { return m.recorder } -// CreateResourceServer mocks base method -func (m *MockCognitoClient) CreateResourceServer(arg0 context.Context, arg1 *cognitoidentityprovider.CreateResourceServerInput, arg2 ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.CreateResourceServerOutput, error) { +// CreateResourceServer mocks base method. +func (m *MockCognitoClient) CreateResourceServer(ctx context.Context, params *cognitoidentityprovider.CreateResourceServerInput, optFns ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.CreateResourceServerOutput, error) { m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, params} + for _, a := range optFns { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "CreateResourceServer", varargs...) @@ -47,18 +54,18 @@ func (m *MockCognitoClient) CreateResourceServer(arg0 context.Context, arg1 *cog return ret0, ret1 } -// CreateResourceServer indicates an expected call of CreateResourceServer -func (mr *MockCognitoClientMockRecorder) CreateResourceServer(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { +// CreateResourceServer indicates an expected call of CreateResourceServer. +func (mr *MockCognitoClientMockRecorder) CreateResourceServer(ctx, params any, optFns ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1}, arg2...) + varargs := append([]any{ctx, params}, optFns...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateResourceServer", reflect.TypeOf((*MockCognitoClient)(nil).CreateResourceServer), varargs...) } -// CreateUserPoolClient mocks base method -func (m *MockCognitoClient) CreateUserPoolClient(arg0 context.Context, arg1 *cognitoidentityprovider.CreateUserPoolClientInput, arg2 ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.CreateUserPoolClientOutput, error) { +// CreateUserPoolClient mocks base method. +func (m *MockCognitoClient) CreateUserPoolClient(ctx context.Context, params *cognitoidentityprovider.CreateUserPoolClientInput, optFns ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.CreateUserPoolClientOutput, error) { m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, params} + for _, a := range optFns { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "CreateUserPoolClient", varargs...) @@ -67,18 +74,18 @@ func (m *MockCognitoClient) CreateUserPoolClient(arg0 context.Context, arg1 *cog return ret0, ret1 } -// CreateUserPoolClient indicates an expected call of CreateUserPoolClient -func (mr *MockCognitoClientMockRecorder) CreateUserPoolClient(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { +// CreateUserPoolClient indicates an expected call of CreateUserPoolClient. +func (mr *MockCognitoClientMockRecorder) CreateUserPoolClient(ctx, params any, optFns ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1}, arg2...) + varargs := append([]any{ctx, params}, optFns...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateUserPoolClient", reflect.TypeOf((*MockCognitoClient)(nil).CreateUserPoolClient), varargs...) } -// DeleteUserPoolClient mocks base method -func (m *MockCognitoClient) DeleteUserPoolClient(arg0 context.Context, arg1 *cognitoidentityprovider.DeleteUserPoolClientInput, arg2 ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.DeleteUserPoolClientOutput, error) { +// DeleteUserPoolClient mocks base method. +func (m *MockCognitoClient) DeleteUserPoolClient(ctx context.Context, params *cognitoidentityprovider.DeleteUserPoolClientInput, optFns ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.DeleteUserPoolClientOutput, error) { m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, params} + for _, a := range optFns { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "DeleteUserPoolClient", varargs...) @@ -87,18 +94,18 @@ func (m *MockCognitoClient) DeleteUserPoolClient(arg0 context.Context, arg1 *cog return ret0, ret1 } -// DeleteUserPoolClient indicates an expected call of DeleteUserPoolClient -func (mr *MockCognitoClientMockRecorder) DeleteUserPoolClient(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { +// DeleteUserPoolClient indicates an expected call of DeleteUserPoolClient. +func (mr *MockCognitoClientMockRecorder) DeleteUserPoolClient(ctx, params any, optFns ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1}, arg2...) + varargs := append([]any{ctx, params}, optFns...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUserPoolClient", reflect.TypeOf((*MockCognitoClient)(nil).DeleteUserPoolClient), varargs...) } -// DescribeResourceServer mocks base method -func (m *MockCognitoClient) DescribeResourceServer(arg0 context.Context, arg1 *cognitoidentityprovider.DescribeResourceServerInput, arg2 ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.DescribeResourceServerOutput, error) { +// DescribeResourceServer mocks base method. +func (m *MockCognitoClient) DescribeResourceServer(ctx context.Context, params *cognitoidentityprovider.DescribeResourceServerInput, optFns ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.DescribeResourceServerOutput, error) { m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, params} + for _, a := range optFns { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "DescribeResourceServer", varargs...) @@ -107,18 +114,18 @@ func (m *MockCognitoClient) DescribeResourceServer(arg0 context.Context, arg1 *c return ret0, ret1 } -// DescribeResourceServer indicates an expected call of DescribeResourceServer -func (mr *MockCognitoClientMockRecorder) DescribeResourceServer(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { +// DescribeResourceServer indicates an expected call of DescribeResourceServer. +func (mr *MockCognitoClientMockRecorder) DescribeResourceServer(ctx, params any, optFns ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1}, arg2...) + varargs := append([]any{ctx, params}, optFns...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeResourceServer", reflect.TypeOf((*MockCognitoClient)(nil).DescribeResourceServer), varargs...) } -// UpdateResourceServer mocks base method -func (m *MockCognitoClient) UpdateResourceServer(arg0 context.Context, arg1 *cognitoidentityprovider.UpdateResourceServerInput, arg2 ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.UpdateResourceServerOutput, error) { +// UpdateResourceServer mocks base method. +func (m *MockCognitoClient) UpdateResourceServer(ctx context.Context, params *cognitoidentityprovider.UpdateResourceServerInput, optFns ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.UpdateResourceServerOutput, error) { m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, params} + for _, a := range optFns { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UpdateResourceServer", varargs...) @@ -127,18 +134,18 @@ func (m *MockCognitoClient) UpdateResourceServer(arg0 context.Context, arg1 *cog return ret0, ret1 } -// UpdateResourceServer indicates an expected call of UpdateResourceServer -func (mr *MockCognitoClientMockRecorder) UpdateResourceServer(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { +// UpdateResourceServer indicates an expected call of UpdateResourceServer. +func (mr *MockCognitoClientMockRecorder) UpdateResourceServer(ctx, params any, optFns ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1}, arg2...) + varargs := append([]any{ctx, params}, optFns...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateResourceServer", reflect.TypeOf((*MockCognitoClient)(nil).UpdateResourceServer), varargs...) } -// UpdateUserPoolClient mocks base method -func (m *MockCognitoClient) UpdateUserPoolClient(arg0 context.Context, arg1 *cognitoidentityprovider.UpdateUserPoolClientInput, arg2 ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.UpdateUserPoolClientOutput, error) { +// UpdateUserPoolClient mocks base method. +func (m *MockCognitoClient) UpdateUserPoolClient(ctx context.Context, params *cognitoidentityprovider.UpdateUserPoolClientInput, optFns ...func(*cognitoidentityprovider.Options)) (*cognitoidentityprovider.UpdateUserPoolClientOutput, error) { m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, params} + for _, a := range optFns { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UpdateUserPoolClient", varargs...) @@ -147,9 +154,9 @@ func (m *MockCognitoClient) UpdateUserPoolClient(arg0 context.Context, arg1 *cog return ret0, ret1 } -// UpdateUserPoolClient indicates an expected call of UpdateUserPoolClient -func (mr *MockCognitoClientMockRecorder) UpdateUserPoolClient(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { +// UpdateUserPoolClient indicates an expected call of UpdateUserPoolClient. +func (mr *MockCognitoClientMockRecorder) UpdateUserPoolClient(ctx, params any, optFns ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1}, arg2...) + varargs := append([]any{ctx, params}, optFns...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUserPoolClient", reflect.TypeOf((*MockCognitoClient)(nil).UpdateUserPoolClient), varargs...) } diff --git a/pkg/api/v1/server.gen.go b/pkg/api/v1/server.gen.go index e472f64..9409a0e 100644 --- a/pkg/api/v1/server.gen.go +++ b/pkg/api/v1/server.gen.go @@ -18,10 +18,10 @@ import ( type ServerInterface interface { // Creates an application of type oauth2. // (POST /applications) - CreateOAuthApplication(ctx echo.Context) error + CreateOAuthApplication(ctx echo.Context, params CreateOAuthApplicationParams) error // Deletes an application in the OpenID Connect Provider. // (DELETE /applications/{id}) - DeleteOAuthApplication(ctx echo.Context, id string) error + DeleteOAuthApplication(ctx echo.Context, id string, params DeleteOAuthApplicationParams) error } // ServerInterfaceWrapper converts echo contexts to parameters. @@ -33,8 +33,28 @@ type ServerInterfaceWrapper struct { func (w *ServerInterfaceWrapper) CreateOAuthApplication(ctx echo.Context) error { var err error + // Parameter object where we will unmarshal all parameters from the context + var params CreateOAuthApplicationParams + + headers := ctx.Request().Header + // ------------- Optional header parameter "token" ------------- + if valueList, found := headers[http.CanonicalHeaderKey("token")]; found { + var Token string + n := len(valueList) + if n != 1 { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Expected one value for token, got %d", n)) + } + + err = runtime.BindStyledParameterWithOptions("simple", "token", valueList[0], &Token, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter token: %s", err)) + } + + params.Token = &Token + } + // Invoke the callback with all the unmarshaled arguments - err = w.Handler.CreateOAuthApplication(ctx) + err = w.Handler.CreateOAuthApplication(ctx, params) return err } @@ -49,8 +69,28 @@ func (w *ServerInterfaceWrapper) DeleteOAuthApplication(ctx echo.Context) error return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err)) } + // Parameter object where we will unmarshal all parameters from the context + var params DeleteOAuthApplicationParams + + headers := ctx.Request().Header + // ------------- Optional header parameter "token" ------------- + if valueList, found := headers[http.CanonicalHeaderKey("token")]; found { + var Token string + n := len(valueList) + if n != 1 { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Expected one value for token, got %d", n)) + } + + err = runtime.BindStyledParameterWithOptions("simple", "token", valueList[0], &Token, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter token: %s", err)) + } + + params.Token = &Token + } + // Invoke the callback with all the unmarshaled arguments - err = w.Handler.DeleteOAuthApplication(ctx, id) + err = w.Handler.DeleteOAuthApplication(ctx, id, params) return err } @@ -88,7 +128,8 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL } type CreateOAuthApplicationRequestObject struct { - Body *CreateOAuthApplicationJSONRequestBody + Params CreateOAuthApplicationParams + Body *CreateOAuthApplicationJSONRequestBody } type CreateOAuthApplicationResponseObject interface { @@ -123,7 +164,8 @@ func (response CreateOAuthApplication500JSONResponse) VisitCreateOAuthApplicatio } type DeleteOAuthApplicationRequestObject struct { - Id string `json:"id"` + Id string `json:"id"` + Params DeleteOAuthApplicationParams } type DeleteOAuthApplicationResponseObject interface { @@ -179,9 +221,11 @@ type strictHandler struct { } // CreateOAuthApplication operation middleware -func (sh *strictHandler) CreateOAuthApplication(ctx echo.Context) error { +func (sh *strictHandler) CreateOAuthApplication(ctx echo.Context, params CreateOAuthApplicationParams) error { var request CreateOAuthApplicationRequestObject + request.Params = params + var body CreateOAuthApplicationJSONRequestBody if err := ctx.Bind(&body); err != nil { return err @@ -208,10 +252,11 @@ func (sh *strictHandler) CreateOAuthApplication(ctx echo.Context) error { } // DeleteOAuthApplication operation middleware -func (sh *strictHandler) DeleteOAuthApplication(ctx echo.Context, id string) error { +func (sh *strictHandler) DeleteOAuthApplication(ctx echo.Context, id string, params DeleteOAuthApplicationParams) error { var request DeleteOAuthApplicationRequestObject request.Id = id + request.Params = params handler := func(ctx echo.Context, request interface{}) (interface{}, error) { return sh.ssi.DeleteOAuthApplication(ctx.Request().Context(), request.(DeleteOAuthApplicationRequestObject)) diff --git a/pkg/api/v1/spec.gen.go b/pkg/api/v1/spec.gen.go index c330496..9edc839 100644 --- a/pkg/api/v1/spec.gen.go +++ b/pkg/api/v1/spec.gen.go @@ -18,24 +18,24 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/8RW62/bNhD/Vw7cPrSAIzmOs9j+lsZbYQxrgmX9VBgoLZ5sdhLJkienRuD/fThSduRH", - "98BegAFL5D1+d/e7Oz2LwtbOGjQUxORZhGKFtYyP33tvPT84bx160hiPC6uQ/2njUEyENoRL9GLbEzWG", - "IJfxEr/I2lV8/0iSmgB3ViH81Ar0dsqBvDZL1vUogzWHqhEAtDcnOlHpc6M9KjH5kGC9YNhbnG974v62", - "odWtc5UuJOnk5iioSqOhmToEIPuj8Q1+p/oox8PyejQurkaDm9GikEMcXw0H5wJJlt7J+igP7dNFE9Bf", - "OGurC4VrrBjExeXXDT1i4ZEOTRXjoVqo69FAXY+HOJKyPxxfDctxcYNlv7we/HGudtEeeZlvWVKb0rJD", - "haHw2qWEiTdYWo+wsQ0scKlNDwISNA7eVtbCW0n4JDfwYD3JCp40rVjUw71DM5vCnTUGC4JX97Pp3Wtw", - "3q61Qp/BLys0SZxWOsBs+rCXvX2Y9aK/QhqopZFLBFohJMgBpFEsAw/eqqagANq0PmfTu70LoJUkWCKB", - "DMEWWhKqDr4WsHwhR8jgB+uh5mg5Fb6Oxxxv8v/hXMTKFmH+akXkwiTP+S0LtrKZtvmysvbCRbG8koSB", - "8tcZ10hTLOc5c0d5ED2xRh9SJS6zftZnhliHRjotJuIqHvWEk7SKfM67AUW620CnRb3zyIBAmm4GwJbA", - "BAIrG1oNuEg6AP8MoVGogCwsML4u/UtCpYnlhpnaY384qAJnrxuZZkLXaCi53dsL0V4G7yzhi+bHLlc/", - "Mh6Da/QQyHpUXH2WUpLkQgaM9NABwso+GQbMl9x8YE21AWsKzOBHRJeIF6JVlqvlrwhlQ41H4KbBQGGn", - "z3RzHbrxWaoYF5R7OUbCc6TN7cnoSZ2Igd5YtUnzlLMai9OpQf6pHYdpIJ9OLP23Z9XRUNBKzPcydvEJ", - "CxJxHhxS5tXPrc5reG/05wZBKzSkS40eSuuh4Li1WbZ9momuG/INRr/BWRNSJIP+5V/Kw7ceSzER3+Qv", - "mytv11Z+ku4zETw2RYEhlE1VbRJaVHuw254Y9vv/GJ60Q8+AmJm1rDSz1jXJ7fV/4fa9wS8OC44Y43Y9", - "qRbrhKaupd/86QHB3JLLwCy67c6dORs7GEX5s1bbNIcqJDydSNN4zv6S7a7b0x5L0md6zEkvayT0DOr5", - "6xSeTSNnu7GRhQSO3WmW56kqesLEnc59cszoXqcsx002P2H78DTqA0om7+ow8sjL4b9PkE4awViC0jZG", - "/Y/8jMlgfh5m44CkiQUnJG3n89EXyG4j/R5p2Tr69Y49ja/EROx2u3Q6Syu9ksSfB+1uzwpb5+tLsZ1v", - "fwsAAP//X6ZKPVULAAA=", + "H4sIAAAAAAAC/8RWbW/bNhD+KwduH1rAkRzHWW1/S+OtMIa1wdJ+CgyUFk8WG4lUyZNTI/B/H45UbMnO", + "uhV7KRAgsnTvz3MP+SgyW9XWoCEvZo/CZwVWMjz+7Jx1/FA7W6MjjeF1ZhXyf9rWKGZCG8I1OrEbiAq9", + "l+vwEb/Iqi75+y1JajxcW4XwW2sweHL25LRZs69D6a3pu4YCoP1y4hOcPjfaoRKzu1jWoYZ9xOVuIN5d", + "NVRc1XWpM0k6pjlqqtRoaKH6BcjhZPoKf1JDlNNxfjmZZheT0avJKpNjnF6MR881EiO9ldXRHNqns8aj", + "O6utLc8UbrDkIs7O/zzQLWYOqR8qm47VSl1ORupyOsaJlMPx9GKcT7NXmA/zy9Ffz+qp26Msyx1bapNb", + "TqjQZ07XcWDiNebWIWxtAytcazMAjwRNDW9Ka+GNJHyQW7ixjmQJD5oKNnXwrkazmMO1NQYzghfvFvPr", + "l1A7u9EKXQLvCzTRnArtYTG/2dte3SwGIV8mDVTSyDUCFQixZA/SKLaBG2dVk5EHbdqci/n1PgVQIQnW", + "SCC9t5mWhKpTX1uwPJDDJ/CLdVBxtzwKV4XX3G/Mf/dcx8pmfvmiIKr9LE35V+JtaRNt03Vp7VkdzNJS", + "EnpKXyaMkaYA53PhjuYgBmKDzkckzpNhMmSG2BqNrLWYiYvwaiBqSUXgc9ptKNDdejoF9dohFwTSdCcA", + "NgcmEFjZUDFikLQH/jOERqECsrDC8HPtDgOVJsANC7Wv/aaHAk+v25lmQldoKKbdx/MhXgJvLeHB82OX", + "qx+5HoMbdODJOlSMPlspSXIlPQZ6aA++sA+GC+aPvHxgTbkFazJM4FfEOhLPh6hsV8l7hLyhxiHw0qAn", + "/+TPdKs7dON3ETEGlHc5dMI60s72RHoYJCcrJHRezO6OEXlv7zEAYJ1eaxMr1mZj77VZh3xtTZxQs0eB", + "UqETA2GC5gjiCGLQKnlHqfdisIxqgJ5eW7WNms7IBoJ0eJB+aiX5EKqvmvof6+WRMGkllnsbu/qEGYmg", + "Sf0hvfi99XkJH4z+3CBohYZ0rtFBbh1kPHseWKRMIrppyDUY8vraGh87GQ3Pv2kOPzrMxUz8kB5Oz7Q9", + "OtMTyJ/p4LbJMvQ+b8pyG6tFtS92NxDj4fBfqyee488UsTAbWWrenLqJaS//j7QfDH6pMeOOMZzwJ2ix", + "j2+qSrrt3xYp5pZc80qJq672LTlYTw7TR612UQtLJDxVxXl4z/li7G7a0z2P1t+65x0KL+aBs93eyEIs", + "br/lrOyHHdfqhNFfW/jBd1OZ3oqNT0fd24PYsuqPOyzD+L9nZQc7MJYgt41R33EpwjAYjf40epsRqXey", + "Ge3BdHT1ejqKv7YpHB3d5omyjSsZ+vZSI2udxLtMKYnvRe2lJslslW7OxW65+yMAAP//yLBov04MAAA=", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/pkg/api/v1/types.gen.go b/pkg/api/v1/types.gen.go index 95129f8..8d35d24 100644 --- a/pkg/api/v1/types.gen.go +++ b/pkg/api/v1/types.gen.go @@ -22,5 +22,17 @@ type CreateOAuthApplicationJSONBody struct { Id string `json:"id"` } +// CreateOAuthApplicationParams defines parameters for CreateOAuthApplication. +type CreateOAuthApplicationParams struct { + // Token Token of origin user invoking the request. + Token *string `json:"token,omitempty"` +} + +// DeleteOAuthApplicationParams defines parameters for DeleteOAuthApplication. +type DeleteOAuthApplicationParams struct { + // Token Token of origin user invoking the request. + Token *string `json:"token,omitempty"` +} + // CreateOAuthApplicationJSONRequestBody defines body for CreateOAuthApplication for application/json ContentType. type CreateOAuthApplicationJSONRequestBody CreateOAuthApplicationJSONBody diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go index 719708d..32768e8 100644 --- a/test/e2e/e2e_test.go +++ b/test/e2e/e2e_test.go @@ -37,7 +37,7 @@ var _ = Describe("E2e", Ordered, func() { Method: "POST", Data: fmt.Sprintf(`{"id": "%s"}`, internalClientId), App: "curl", - Headers: []string{"Content-Type: application/json"}, + Headers: []string{"Content-Type: application/json", "token: test"}, } out, err := curlFromPod.Execute() @@ -59,6 +59,7 @@ var _ = Describe("E2e", Ordered, func() { Method: "DELETE", Verbose: true, App: "curl", + Headers: []string{"token: test"}, } out, err := curlFromPod.Execute() From e1d682139603ccdd0488700e3b2af6bc648981f7 Mon Sep 17 00:00:00 2001 From: JM Huibonhoa Date: Mon, 18 Nov 2024 17:00:28 -0500 Subject: [PATCH 2/3] update golang image --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f66ab65..cf6c5f5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.21 as builder +FROM golang:1.22 as builder WORKDIR /root From cd35cd36675480a4d4782b58a07701b3a7b6abc0 Mon Sep 17 00:00:00 2001 From: JM Huibonhoa Date: Tue, 19 Nov 2024 14:48:25 -0500 Subject: [PATCH 3/3] update tests --- internal/cognito/server/handler_test.go | 13 +++++++++---- internal/keycloak/server/handler_test.go | 13 +++++++++++++ test/e2e/e2e_test.go | 3 +-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/internal/cognito/server/handler_test.go b/internal/cognito/server/handler_test.go index e972c2d..44b4144 100644 --- a/internal/cognito/server/handler_test.go +++ b/internal/cognito/server/handler_test.go @@ -30,6 +30,7 @@ var _ = Describe("Server", func() { mockCognitoClient *mock_server.MockCognitoClient ctx context.Context applicationClientId = "client-internal-id" + testToken = "test" ) BeforeEach(func() { @@ -85,6 +86,9 @@ var _ = Describe("Server", func() { Body: &portalv1.CreateOAuthApplicationJSONRequestBody{ Id: applicationClientId, }, + Params: portalv1.CreateOAuthApplicationParams{ + Token: &testToken, + }, }) Expect(err).NotTo(HaveOccurred()) Expect(resp).To(BeAssignableToTypeOf(portalv1.CreateOAuthApplication201JSONResponse{})) @@ -101,10 +105,9 @@ var _ = Describe("Server", func() { }) It("returns an error code on empty client id", func() { - token := "test" resp, err := s.CreateOAuthApplication(ctx, portalv1.CreateOAuthApplicationRequestObject{ Params: portalv1.CreateOAuthApplicationParams{ - Token: &token, + Token: &testToken, }, Body: &portalv1.CreateOAuthApplicationJSONRequestBody{ Id: "", @@ -117,6 +120,9 @@ var _ = Describe("Server", func() { It("returns not found code on deletion", func() { resp, err := s.DeleteOAuthApplication(ctx, portalv1.DeleteOAuthApplicationRequestObject{ Id: "test-client", + Params: portalv1.DeleteOAuthApplicationParams{ + Token: &testToken, + }, }) Expect(err).NotTo(HaveOccurred()) Expect(resp).To(BeAssignableToTypeOf(portalv1.DeleteOAuthApplication404JSONResponse{})) @@ -156,11 +162,10 @@ var _ = Describe("Server", func() { }) It("can delete the client", func() { - token := "test" resp, err := s.DeleteOAuthApplication(ctx, portalv1.DeleteOAuthApplicationRequestObject{ Id: clientId, Params: portalv1.DeleteOAuthApplicationParams{ - Token: &token, + Token: &testToken, }, }) Expect(err).NotTo(HaveOccurred()) diff --git a/internal/keycloak/server/handler_test.go b/internal/keycloak/server/handler_test.go index 510a618..e3b6556 100644 --- a/internal/keycloak/server/handler_test.go +++ b/internal/keycloak/server/handler_test.go @@ -39,6 +39,7 @@ var _ = Describe("Server", func() { Name: applicationClientId, Secret: applicationClientSecret, } + testToken = "test" ) BeforeEach(func() { @@ -80,6 +81,9 @@ var _ = Describe("Server", func() { Body: &portalv1.CreateOAuthApplicationJSONRequestBody{ Id: applicationClientId, }, + Params: portalv1.CreateOAuthApplicationParams{ + Token: &testToken, + }, }) Expect(err).NotTo(HaveOccurred()) Expect(resp).To(BeAssignableToTypeOf(portalv1.CreateOAuthApplication201JSONResponse{})) @@ -100,6 +104,9 @@ var _ = Describe("Server", func() { Body: &portalv1.CreateOAuthApplicationJSONRequestBody{ Id: "", }, + Params: portalv1.CreateOAuthApplicationParams{ + Token: &testToken, + }, }) Expect(err).NotTo(HaveOccurred()) Expect(resp).To(BeAssignableToTypeOf(portalv1.CreateOAuthApplication400JSONResponse{})) @@ -108,6 +115,9 @@ var _ = Describe("Server", func() { It("returns not found code on deletion", func() { resp, err := s.DeleteOAuthApplication(ctx, portalv1.DeleteOAuthApplicationRequestObject{ Id: "non-existing-client", + Params: portalv1.DeleteOAuthApplicationParams{ + Token: &testToken, + }, }) Expect(err).NotTo(HaveOccurred()) Expect(resp).To(BeAssignableToTypeOf(portalv1.DeleteOAuthApplication404JSONResponse{})) @@ -128,6 +138,9 @@ var _ = Describe("Server", func() { It("can delete the client", func() { resp, err := s.DeleteOAuthApplication(ctx, portalv1.DeleteOAuthApplicationRequestObject{ Id: applicationClientId, + Params: portalv1.DeleteOAuthApplicationParams{ + Token: &testToken, + }, }) Expect(err).NotTo(HaveOccurred()) Expect(resp).To(BeAssignableToTypeOf(portalv1.DeleteOAuthApplication204Response{})) diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go index 32768e8..719708d 100644 --- a/test/e2e/e2e_test.go +++ b/test/e2e/e2e_test.go @@ -37,7 +37,7 @@ var _ = Describe("E2e", Ordered, func() { Method: "POST", Data: fmt.Sprintf(`{"id": "%s"}`, internalClientId), App: "curl", - Headers: []string{"Content-Type: application/json", "token: test"}, + Headers: []string{"Content-Type: application/json"}, } out, err := curlFromPod.Execute() @@ -59,7 +59,6 @@ var _ = Describe("E2e", Ordered, func() { Method: "DELETE", Verbose: true, App: "curl", - Headers: []string{"token: test"}, } out, err := curlFromPod.Execute()