Files
Charon/backend/internal/models/dns_provider_credential_test.go
GitHub Actions 1a41f50f64 feat: add multi-credential support in DNS provider form
- 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.
2026-01-04 06:02:51 +00:00

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)
}