@@ -10,6 +10,13 @@ import (
1010 "net/http/httptest"
1111 "testing"
1212
13+ "google.golang.org/grpc/codes"
14+ "google.golang.org/grpc/status"
15+
16+ grpc "google.golang.org/grpc"
17+
18+ iam "github.com/gitpod-io/gitpod/components/iam-api/go/v1"
19+
1320 connect "github.com/bufbuild/connect-go"
1421 "github.com/gitpod-io/gitpod/common-go/experiments"
1522 "github.com/gitpod-io/gitpod/common-go/experiments/experimentstest"
3744)
3845
3946func TestOIDCService_CreateClientConfig (t * testing.T ) {
40- t .Run ("feature flag disabled returns unathorized " , func (t * testing.T ) {
47+ t .Run ("feature flag disabled returns unauthorized " , func (t * testing.T ) {
4148 serverMock , client := setupOIDCService (t , withOIDCFeatureDisabled )
4249
4350 serverMock .EXPECT ().GetLoggedInUser (gomock .Any ()).Return (user , nil )
@@ -48,19 +55,29 @@ func TestOIDCService_CreateClientConfig(t *testing.T) {
4855 require .Equal (t , connect .CodePermissionDenied , connect .CodeOf (err ))
4956 })
5057
51- t .Run ("feature flag enabled returns unimplemented " , func (t * testing.T ) {
58+ t .Run ("feature flag enabled returns created config " , func (t * testing.T ) {
5259 serverMock , client := setupOIDCService (t , withOIDCFeatureEnabled )
5360
5461 serverMock .EXPECT ().GetLoggedInUser (gomock .Any ()).Return (user , nil )
5562
56- _ , err := client .CreateClientConfig (context .Background (), connect .NewRequest (& v1.CreateClientConfigRequest {}))
57- require .Error (t , err )
58- require .Equal (t , connect .CodeUnimplemented , connect .CodeOf (err ))
63+ config := & v1.OIDCClientConfig {
64+ OidcConfig : & v1.OIDCConfig {Issuer : "test-issuer" },
65+ Oauth2Config : & v1.OAuth2Config {ClientId : "test-id" , ClientSecret : "test-secret" },
66+ }
67+ response , err := client .CreateClientConfig (context .Background (), connect .NewRequest (& v1.CreateClientConfigRequest {
68+ Config : config ,
69+ }))
70+ require .NoError (t , err )
71+ require .NotNil (t , response )
72+ config .Oauth2Config .ClientSecret = "REDACTED"
73+ requireEqualProto (t , & v1.CreateClientConfigResponse {
74+ Config : config ,
75+ }, response .Msg )
5976 })
6077}
6178
6279func TestOIDCService_GetClientConfig (t * testing.T ) {
63- t .Run ("feature flag disabled returns unathorized " , func (t * testing.T ) {
80+ t .Run ("feature flag disabled returns unauthorized " , func (t * testing.T ) {
6481 serverMock , client := setupOIDCService (t , withOIDCFeatureDisabled )
6582
6683 serverMock .EXPECT ().GetLoggedInUser (gomock .Any ()).Return (user , nil )
@@ -83,7 +100,7 @@ func TestOIDCService_GetClientConfig(t *testing.T) {
83100}
84101
85102func TestOIDCService_ListClientConfigs (t * testing.T ) {
86- t .Run ("feature flag disabled returns unathorized " , func (t * testing.T ) {
103+ t .Run ("feature flag disabled returns unauthorized " , func (t * testing.T ) {
87104 serverMock , client := setupOIDCService (t , withOIDCFeatureDisabled )
88105
89106 serverMock .EXPECT ().GetLoggedInUser (gomock .Any ()).Return (user , nil )
@@ -106,7 +123,7 @@ func TestOIDCService_ListClientConfigs(t *testing.T) {
106123}
107124
108125func TestOIDCService_UpdateClientConfig (t * testing.T ) {
109- t .Run ("feature flag disabled returns unathorized " , func (t * testing.T ) {
126+ t .Run ("feature flag disabled returns unauthorized " , func (t * testing.T ) {
110127 serverMock , client := setupOIDCService (t , withOIDCFeatureDisabled )
111128
112129 serverMock .EXPECT ().GetLoggedInUser (gomock .Any ()).Return (user , nil )
@@ -129,7 +146,7 @@ func TestOIDCService_UpdateClientConfig(t *testing.T) {
129146}
130147
131148func TestOIDCService_DeleteClientConfig (t * testing.T ) {
132- t .Run ("feature flag disabled returns unathorized " , func (t * testing.T ) {
149+ t .Run ("feature flag disabled returns unauthorized " , func (t * testing.T ) {
133150 serverMock , client := setupOIDCService (t , withOIDCFeatureDisabled )
134151
135152 serverMock .EXPECT ().GetLoggedInUser (gomock .Any ()).Return (user , nil )
@@ -159,7 +176,7 @@ func setupOIDCService(t *testing.T, expClient experiments.Client) (*protocol.Moc
159176
160177 serverMock := protocol .NewMockAPIInterface (ctrl )
161178
162- svc := NewOIDCService (& FakeServerConnPool {api : serverMock }, expClient )
179+ svc := NewOIDCService (& FakeServerConnPool {api : serverMock }, expClient , & stubOIDCServiceServer {} )
163180
164181 _ , handler := v1connect .NewOIDCServiceHandler (svc , connect .WithInterceptors (auth .NewServerInterceptor ()))
165182
@@ -172,3 +189,24 @@ func setupOIDCService(t *testing.T, expClient experiments.Client) (*protocol.Moc
172189
173190 return serverMock , client
174191}
192+
193+ type stubOIDCServiceServer struct {
194+ }
195+
196+ func (stubOIDCServiceServer ) CreateClientConfig (ctx context.Context , request * iam.CreateClientConfigRequest , options ... grpc.CallOption ) (* iam.CreateClientConfigResponse , error ) {
197+ return & iam.CreateClientConfigResponse {
198+ Config : request .GetConfig (),
199+ }, nil
200+ }
201+ func (stubOIDCServiceServer ) GetClientConfig (context.Context , * iam.GetClientConfigRequest , ... grpc.CallOption ) (* iam.GetClientConfigResponse , error ) {
202+ return nil , status .Errorf (codes .Unimplemented , "method GetClientConfig not implemented" )
203+ }
204+ func (stubOIDCServiceServer ) ListClientConfigs (context.Context , * iam.ListClientConfigsRequest , ... grpc.CallOption ) (* iam.ListClientConfigsResponse , error ) {
205+ return nil , status .Errorf (codes .Unimplemented , "method ListClientConfigs not implemented" )
206+ }
207+ func (stubOIDCServiceServer ) UpdateClientConfig (context.Context , * iam.UpdateClientConfigRequest , ... grpc.CallOption ) (* iam.UpdateClientConfigResponse , error ) {
208+ return nil , status .Errorf (codes .Unimplemented , "method UpdateClientConfig not implemented" )
209+ }
210+ func (stubOIDCServiceServer ) DeleteClientConfig (context.Context , * iam.DeleteClientConfigRequest , ... grpc.CallOption ) (* iam.DeleteClientConfigResponse , error ) {
211+ return nil , status .Errorf (codes .Unimplemented , "method DeleteClientConfig not implemented" )
212+ }
0 commit comments