mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-04-28 11:30:15 +00:00
- Fix deadlock and race conditions in internal/alerts - Add comprehensive error path tests for internal/config - Fix 401 handling in internal/api - Fix Docker Swarm task filtering test logic
51 lines
1.2 KiB
Go
51 lines
1.2 KiB
Go
package config
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestSaveOIDCConfig(t *testing.T) {
|
|
// Setup persistence
|
|
tempDir := t.TempDir()
|
|
p := NewConfigPersistence(tempDir)
|
|
|
|
// Mock global persistence
|
|
originalPersistence := globalPersistence
|
|
globalPersistence = p
|
|
defer func() { globalPersistence = originalPersistence }()
|
|
|
|
// Test nil settings
|
|
err := SaveOIDCConfig(nil)
|
|
assert.Error(t, err)
|
|
assert.Contains(t, err.Error(), "cannot be nil")
|
|
|
|
// Test persistence not initialized (mock nil)
|
|
globalPersistence = nil
|
|
err = SaveOIDCConfig(&OIDCConfig{})
|
|
assert.Error(t, err)
|
|
assert.Contains(t, err.Error(), "persistence not initialized")
|
|
globalPersistence = p
|
|
|
|
// Test Valid Save
|
|
settings := &OIDCConfig{
|
|
Enabled: true,
|
|
IssuerURL: "https://issuer.com",
|
|
ClientID: "client-id",
|
|
}
|
|
|
|
err = SaveOIDCConfig(settings)
|
|
require.NoError(t, err)
|
|
|
|
// Verify persistence
|
|
loaded, err := p.LoadOIDCConfig()
|
|
require.NoError(t, err)
|
|
assert.Equal(t, settings.IssuerURL, loaded.IssuerURL)
|
|
}
|
|
|
|
func TestLoadHostMetadata_Wait(t *testing.T) {
|
|
// Just to make sure we covered HostMetadataStore if I missed anything
|
|
// (Already covered in host_metadata_test.go)
|
|
}
|