96 lines
1.9 KiB
Go
96 lines
1.9 KiB
Go
package vultr
|
|
|
|
import (
|
|
"errors"
|
|
"net"
|
|
"testing"
|
|
|
|
"dnsupdater/dns"
|
|
|
|
"github.com/vultr/govultr/v3"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestVultrService_List(t *testing.T) {
|
|
expected := dns.RecordList{
|
|
{
|
|
Id: "656939ee-f942-4ce2-af1d-3bd68c764e96",
|
|
Name: "sub1",
|
|
Ip: net.IPv4(201, 110, 66, 72),
|
|
},
|
|
{
|
|
Id: "c80118f4-f04c-4ad2-8ec2-16eb15cc8aca",
|
|
Name: "sub2",
|
|
Ip: net.IPv4(242, 124, 218, 187),
|
|
},
|
|
}
|
|
|
|
service := Service{
|
|
api: mock{
|
|
t: t,
|
|
ListReturn: map[string][]govultr.DomainRecord{
|
|
"example.com": {
|
|
{
|
|
ID: "656939ee-f942-4ce2-af1d-3bd68c764e96",
|
|
Type: "A",
|
|
Name: "sub1",
|
|
Data: "201.110.66.72",
|
|
Priority: 2,
|
|
TTL: 1800,
|
|
},
|
|
{
|
|
ID: "c80118f4-f04c-4ad2-8ec2-16eb15cc8aca",
|
|
Type: "A",
|
|
Name: "sub2",
|
|
Data: "242.124.218.187",
|
|
Priority: 1,
|
|
TTL: 1800,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
records, err := service.List("example.com")
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, expected, records)
|
|
|
|
// Fetch invalid
|
|
_, err = service.List("noexists.com")
|
|
assert.Error(t, err)
|
|
}
|
|
|
|
func TestVultrService_Update(t *testing.T) {
|
|
mockApi := mock{
|
|
t: t,
|
|
ListReturn: map[string][]govultr.DomainRecord{
|
|
"example.com": {
|
|
{
|
|
ID: "6cabe6ba-1ea1-405d-b66d-cd56ecac45ce",
|
|
Type: "A",
|
|
Name: "www",
|
|
Data: "80.17.42.157",
|
|
Priority: 10,
|
|
TTL: 360,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
service := Service{
|
|
api: &mockApi,
|
|
}
|
|
|
|
err := service.Update("example.com", "6cabe6ba-1ea1-405d-b66d-cd56ecac45ce", net.IPv4(221, 135, 170, 186).String())
|
|
assert.NoError(t, err)
|
|
|
|
mockApi.updateError = errors.New("Error")
|
|
|
|
err = service.Update("invalid.com", "332b40fc-0ddf-436c-a0c7-46586b928ac2", net.IPv4(72, 82, 118, 186).String())
|
|
assert.Error(t, err)
|
|
|
|
err = service.Update("example.com", "6cabe6ba-1ea1-405d-b66d-cd56ecac45ce", net.IPv4(221, 135, 170, 186).String())
|
|
assert.Error(t, err)
|
|
}
|