- Updated DNSProviderForm to include multi-credential mode toggle. - Integrated CredentialManager component for managing multiple credentials. - Added hooks for enabling multi-credentials and managing credential operations. - Implemented tests for CredentialManager and useCredentials hooks.
52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
package models_test
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/Wikid82/charon/backend/internal/models"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestDNSProviderCredential_TableName(t *testing.T) {
|
|
cred := &models.DNSProviderCredential{}
|
|
assert.Equal(t, "dns_provider_credentials", cred.TableName())
|
|
}
|
|
|
|
func TestDNSProviderCredential_Struct(t *testing.T) {
|
|
now := time.Now()
|
|
cred := &models.DNSProviderCredential{
|
|
ID: 1,
|
|
UUID: "test-uuid",
|
|
DNSProviderID: 1,
|
|
Label: "Test Credential",
|
|
ZoneFilter: "example.com,*.example.org",
|
|
CredentialsEncrypted: "encrypted_data",
|
|
Enabled: true,
|
|
KeyVersion: 1,
|
|
PropagationTimeout: 120,
|
|
PollingInterval: 5,
|
|
SuccessCount: 10,
|
|
FailureCount: 2,
|
|
LastError: "",
|
|
LastUsedAt: &now,
|
|
CreatedAt: now,
|
|
UpdatedAt: now,
|
|
}
|
|
|
|
assert.Equal(t, uint(1), cred.ID)
|
|
assert.Equal(t, "test-uuid", cred.UUID)
|
|
assert.Equal(t, uint(1), cred.DNSProviderID)
|
|
assert.Equal(t, "Test Credential", cred.Label)
|
|
assert.Equal(t, "example.com,*.example.org", cred.ZoneFilter)
|
|
assert.Equal(t, "encrypted_data", cred.CredentialsEncrypted)
|
|
assert.True(t, cred.Enabled)
|
|
assert.Equal(t, 1, cred.KeyVersion)
|
|
assert.Equal(t, 120, cred.PropagationTimeout)
|
|
assert.Equal(t, 5, cred.PollingInterval)
|
|
assert.Equal(t, 10, cred.SuccessCount)
|
|
assert.Equal(t, 2, cred.FailureCount)
|
|
assert.Equal(t, "", cred.LastError)
|
|
assert.NotNil(t, cred.LastUsedAt)
|
|
}
|