Add more unit tests for removeSSOSettings method (#78329)

* add more unit tests for remove sso settings

* add unit tests for the service method
This commit is contained in:
Mihai Doarna
2023-11-21 10:11:52 +02:00
committed by GitHub
parent 7f7d912af7
commit 875ea092df
4 changed files with 143 additions and 25 deletions
@@ -2,6 +2,7 @@ package ssosettingsimpl
import (
"context"
"errors"
"fmt"
"testing"
@@ -360,6 +361,40 @@ func TestSSOSettingsService_List(t *testing.T) {
}
}
func TestSSOSettingsService_Delete(t *testing.T) {
t.Run("successfully delete SSO settings", func(t *testing.T) {
env := setupTestEnv(t)
provider := "azuread"
env.store.ExpectedError = nil
err := env.service.Delete(context.Background(), provider)
require.NoError(t, err)
})
t.Run("SSO settings not found for the specified provider", func(t *testing.T) {
env := setupTestEnv(t)
provider := "azuread"
env.store.ExpectedError = ssosettings.ErrNotFound
err := env.service.Delete(context.Background(), provider)
require.Error(t, err)
require.ErrorIs(t, err, ssosettings.ErrNotFound)
})
t.Run("store fails to delete the SSO settings for the specified provider", func(t *testing.T) {
env := setupTestEnv(t)
provider := "azuread"
env.store.ExpectedError = errors.New("delete sso settings failed")
err := env.service.Delete(context.Background(), provider)
require.Error(t, err)
require.NotErrorIs(t, err, ssosettings.ErrNotFound)
})
}
func setupTestEnv(t *testing.T) testEnv {
store := ssosettingstests.NewFakeStore()
fallbackStrategy := ssosettingstests.NewFakeFallbackStrategy()