Fix failing tests in IDP service tests

This commit is contained in:
Florian Dewald 2025-11-04 10:59:06 +00:00
parent 16c8a8cbcf
commit c5698550c1

View file

@ -233,6 +233,7 @@ func TestGetIdentityProvider(t *testing.T) {
Name: created.Name, Name: created.Name,
} }
// Test unauthenticated, should not contain client secret
resp, err := ts.Service.GetIdentityProvider(ctx, getReq) resp, err := ts.Service.GetIdentityProvider(ctx, getReq)
require.NoError(t, err) require.NoError(t, err)
require.NotNil(t, resp) require.NotNil(t, resp)
@ -241,7 +242,18 @@ func TestGetIdentityProvider(t *testing.T) {
require.Equal(t, v1pb.IdentityProvider_OAUTH2, resp.Type) require.Equal(t, v1pb.IdentityProvider_OAUTH2, resp.Type)
require.NotNil(t, resp.Config.GetOauth2Config()) require.NotNil(t, resp.Config.GetOauth2Config())
require.Equal(t, "test-client", resp.Config.GetOauth2Config().ClientId) require.Equal(t, "test-client", resp.Config.GetOauth2Config().ClientId)
require.Equal(t, "test-secret", resp.Config.GetOauth2Config().ClientSecret) require.Equal(t, "", resp.Config.GetOauth2Config().ClientSecret)
// Test as host user, should contain client secret
respHostUser, err := ts.Service.GetIdentityProvider(userCtx, getReq)
require.NoError(t, err)
require.NotNil(t, respHostUser)
require.Equal(t, created.Name, respHostUser.Name)
require.Equal(t, "Test Provider", respHostUser.Title)
require.Equal(t, v1pb.IdentityProvider_OAUTH2, respHostUser.Type)
require.NotNil(t, respHostUser.Config.GetOauth2Config())
require.Equal(t, "test-client", respHostUser.Config.GetOauth2Config().ClientId)
require.Equal(t, "test-secret", respHostUser.Config.GetOauth2Config().ClientSecret)
}) })
t.Run("GetIdentityProvider not found", func(t *testing.T) { t.Run("GetIdentityProvider not found", func(t *testing.T) {
@ -353,6 +365,13 @@ func TestUpdateIdentityProvider(t *testing.T) {
ts := NewTestService(t) ts := NewTestService(t)
defer ts.Cleanup() defer ts.Cleanup()
// Create host user
hostUser, err := ts.CreateHostUser(ctx, "admin")
require.NoError(t, err)
// Set user context
userCtx := ts.CreateUserContext(ctx, hostUser.ID)
req := &v1pb.UpdateIdentityProviderRequest{ req := &v1pb.UpdateIdentityProviderRequest{
IdentityProvider: &v1pb.IdentityProvider{ IdentityProvider: &v1pb.IdentityProvider{
Name: "identityProviders/1", Name: "identityProviders/1",
@ -360,15 +379,22 @@ func TestUpdateIdentityProvider(t *testing.T) {
}, },
} }
_, err := ts.Service.UpdateIdentityProvider(ctx, req) _, errUpdate := ts.Service.UpdateIdentityProvider(userCtx, req)
require.Error(t, err) require.Error(t, errUpdate)
require.Contains(t, err.Error(), "update_mask is required") require.Contains(t, errUpdate.Error(), "update_mask is required")
}) })
t.Run("UpdateIdentityProvider invalid name", func(t *testing.T) { t.Run("UpdateIdentityProvider invalid name", func(t *testing.T) {
ts := NewTestService(t) ts := NewTestService(t)
defer ts.Cleanup() defer ts.Cleanup()
// Create host user
hostUser, err := ts.CreateHostUser(ctx, "admin")
require.NoError(t, err)
// Set user context
userCtx := ts.CreateUserContext(ctx, hostUser.ID)
req := &v1pb.UpdateIdentityProviderRequest{ req := &v1pb.UpdateIdentityProviderRequest{
IdentityProvider: &v1pb.IdentityProvider{ IdentityProvider: &v1pb.IdentityProvider{
Name: "invalid-name", Name: "invalid-name",
@ -379,9 +405,9 @@ func TestUpdateIdentityProvider(t *testing.T) {
}, },
} }
_, err := ts.Service.UpdateIdentityProvider(ctx, req) _, errUpdate := ts.Service.UpdateIdentityProvider(userCtx, req)
require.Error(t, err) require.Error(t, errUpdate)
require.Contains(t, err.Error(), "invalid identity provider name") require.Contains(t, errUpdate.Error(), "invalid identity provider name")
}) })
} }
@ -445,13 +471,20 @@ func TestDeleteIdentityProvider(t *testing.T) {
ts := NewTestService(t) ts := NewTestService(t)
defer ts.Cleanup() defer ts.Cleanup()
// Create host user
hostUser, err := ts.CreateHostUser(ctx, "admin")
require.NoError(t, err)
// Set user context
userCtx := ts.CreateUserContext(ctx, hostUser.ID)
req := &v1pb.DeleteIdentityProviderRequest{ req := &v1pb.DeleteIdentityProviderRequest{
Name: "invalid-name", Name: "invalid-name",
} }
_, err := ts.Service.DeleteIdentityProvider(ctx, req) _, errDelete := ts.Service.DeleteIdentityProvider(userCtx, req)
require.Error(t, err) require.Error(t, errDelete)
require.Contains(t, err.Error(), "invalid identity provider name") require.Contains(t, errDelete.Error(), "invalid identity provider name")
}) })
t.Run("DeleteIdentityProvider not found", func(t *testing.T) { t.Run("DeleteIdentityProvider not found", func(t *testing.T) {