mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-01-12 02:17:43 +08:00
73 lines
1.3 KiB
Go
73 lines
1.3 KiB
Go
package vultr
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/StackExchange/dnscontrol/v3/models"
|
|
"github.com/vultr/govultr"
|
|
)
|
|
|
|
func TestConversion(t *testing.T) {
|
|
dc := &models.DomainConfig{
|
|
Name: "example.com",
|
|
}
|
|
|
|
records := []*govultr.DNSRecord{
|
|
{
|
|
Type: "A",
|
|
Name: "",
|
|
Data: "127.0.0.1",
|
|
TTL: 300,
|
|
},
|
|
{
|
|
Type: "CNAME",
|
|
Name: "*",
|
|
Data: "example.com",
|
|
TTL: 300,
|
|
},
|
|
{
|
|
Type: "SRV",
|
|
Name: "_ssh_.tcp",
|
|
Data: "5 22 ssh.example.com",
|
|
Priority: 5,
|
|
TTL: 300,
|
|
},
|
|
{
|
|
Type: "MX",
|
|
Name: "",
|
|
Data: "mail.example.com",
|
|
TTL: 300,
|
|
},
|
|
{
|
|
Type: "NS",
|
|
Name: "",
|
|
Data: "ns1.example.net",
|
|
TTL: 300,
|
|
},
|
|
{
|
|
Type: "TXT",
|
|
Name: "test",
|
|
Data: "\"testasd asda sdas dasd\"",
|
|
TTL: 300,
|
|
},
|
|
{
|
|
Type: "CAA",
|
|
Name: "testasd",
|
|
Data: "0 issue \"test.example.net\"",
|
|
TTL: 300,
|
|
},
|
|
}
|
|
|
|
for _, record := range records {
|
|
rc, err := toRecordConfig(dc.Name, record)
|
|
if err != nil {
|
|
t.Error("Error converting Vultr record", record)
|
|
}
|
|
|
|
converted := toVultrRecord(dc, rc, 0)
|
|
|
|
if converted.Type != record.Type || converted.Name != record.Name || converted.Data != record.Data || converted.Priority != record.Priority || converted.TTL != record.TTL {
|
|
t.Error("Vultr record conversion mismatch", record, rc, converted)
|
|
}
|
|
}
|
|
}
|