mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-05 17:16:59 +02:00
makes tests pass
Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
This commit is contained in:
parent
db4224c705
commit
82539e35a3
@ -32,6 +32,7 @@ import (
|
||||
"github.com/stretchr/testify/mock"
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
type mockAkamaiClient struct {
|
||||
@ -92,7 +93,7 @@ func TestRequestError(t *testing.T) {
|
||||
|
||||
func TestFetchZonesZoneIDFilter(t *testing.T) {
|
||||
config := AkamaiConfig{
|
||||
ZoneIDFilter: NewZoneIDFilter([]string{"Test"}),
|
||||
ZoneIDFilter: provider.NewZoneIDFilter([]string{"Test"}),
|
||||
}
|
||||
|
||||
client := &mockAkamaiClient{}
|
||||
@ -109,7 +110,7 @@ func TestFetchZonesZoneIDFilter(t *testing.T) {
|
||||
func TestFetchZonesEmpty(t *testing.T) {
|
||||
config := AkamaiConfig{
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{"Nonexistent"}),
|
||||
ZoneIDFilter: NewZoneIDFilter([]string{"Nonexistent"}),
|
||||
ZoneIDFilter: provider.NewZoneIDFilter([]string{"Nonexistent"}),
|
||||
}
|
||||
|
||||
client := &mockAkamaiClient{}
|
||||
@ -171,7 +172,7 @@ func TestAkamaiRecords(t *testing.T) {
|
||||
|
||||
func TestAkamaiRecordsEmpty(t *testing.T) {
|
||||
config := AkamaiConfig{
|
||||
ZoneIDFilter: NewZoneIDFilter([]string{"Nonexistent"}),
|
||||
ZoneIDFilter: provider.NewZoneIDFilter([]string{"Nonexistent"}),
|
||||
}
|
||||
|
||||
client := &mockAkamaiClient{}
|
||||
@ -185,7 +186,7 @@ func TestAkamaiRecordsEmpty(t *testing.T) {
|
||||
func TestAkamaiRecordsFilters(t *testing.T) {
|
||||
config := AkamaiConfig{
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{"www.exclude.me"}),
|
||||
ZoneIDFilter: NewZoneIDFilter([]string{"Exclude-Me"}),
|
||||
ZoneIDFilter: provider.NewZoneIDFilter([]string{"Exclude-Me"}),
|
||||
}
|
||||
|
||||
client := &mockAkamaiClient{}
|
||||
@ -208,7 +209,7 @@ func TestCreateRecords(t *testing.T) {
|
||||
c := NewAkamaiProvider(config)
|
||||
c.client = client
|
||||
|
||||
zoneNameIDMapper := zoneIDName{"example.com": "example.com"}
|
||||
zoneNameIDMapper := provider.ZoneIDName{"example.com": "example.com"}
|
||||
endpoints := make([]*endpoint.Endpoint, 0)
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeA, "10.0.0.2", "10.0.0.3"))
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeTXT, "heritage=external-dns,external-dns/owner=default"))
|
||||
@ -228,7 +229,7 @@ func TestCreateRecordsDomainFilter(t *testing.T) {
|
||||
c := NewAkamaiProvider(config)
|
||||
c.client = client
|
||||
|
||||
zoneNameIDMapper := zoneIDName{"example.com": "example.com"}
|
||||
zoneNameIDMapper := provider.ZoneIDName{"example.com": "example.com"}
|
||||
endpoints := make([]*endpoint.Endpoint, 0)
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeA, "10.0.0.2", "10.0.0.3"))
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeTXT, "heritage=external-dns,external-dns/owner=default"))
|
||||
@ -247,7 +248,7 @@ func TestDeleteRecords(t *testing.T) {
|
||||
c := NewAkamaiProvider(config)
|
||||
c.client = client
|
||||
|
||||
zoneNameIDMapper := zoneIDName{"example.com": "example.com"}
|
||||
zoneNameIDMapper := provider.ZoneIDName{"example.com": "example.com"}
|
||||
endpoints := make([]*endpoint.Endpoint, 0)
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeA, "10.0.0.2", "10.0.0.3"))
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeTXT, "heritage=external-dns,external-dns/owner=default"))
|
||||
@ -267,7 +268,7 @@ func TestDeleteRecordsDomainFilter(t *testing.T) {
|
||||
c := NewAkamaiProvider(config)
|
||||
c.client = client
|
||||
|
||||
zoneNameIDMapper := zoneIDName{"example.com": "example.com"}
|
||||
zoneNameIDMapper := provider.ZoneIDName{"example.com": "example.com"}
|
||||
endpoints := make([]*endpoint.Endpoint, 0)
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeA, "10.0.0.2", "10.0.0.3"))
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeTXT, "heritage=external-dns,external-dns/owner=default"))
|
||||
@ -286,7 +287,7 @@ func TestUpdateRecords(t *testing.T) {
|
||||
c := NewAkamaiProvider(config)
|
||||
c.client = client
|
||||
|
||||
zoneNameIDMapper := zoneIDName{"example.com": "example.com"}
|
||||
zoneNameIDMapper := provider.ZoneIDName{"example.com": "example.com"}
|
||||
endpoints := make([]*endpoint.Endpoint, 0)
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeA, "10.0.0.2", "10.0.0.3"))
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeTXT, "heritage=external-dns,external-dns/owner=default"))
|
||||
@ -306,7 +307,7 @@ func TestUpdateRecordsDomainFilter(t *testing.T) {
|
||||
c := NewAkamaiProvider(config)
|
||||
c.client = client
|
||||
|
||||
zoneNameIDMapper := zoneIDName{"example.com": "example.com"}
|
||||
zoneNameIDMapper := provider.ZoneIDName{"example.com": "example.com"}
|
||||
endpoints := make([]*endpoint.Endpoint, 0)
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeA, "10.0.0.2", "10.0.0.3"))
|
||||
endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeTXT, "heritage=external-dns,external-dns/owner=default"))
|
||||
|
@ -35,6 +35,7 @@ import (
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/internal/testutils"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -178,10 +179,10 @@ func (r *Route53APIStub) ChangeResourceRecordSetsWithContext(ctx context.Context
|
||||
}
|
||||
}
|
||||
|
||||
change.ResourceRecordSet.Name = aws.String(wildcardEscape(ensureTrailingDot(aws.StringValue(change.ResourceRecordSet.Name))))
|
||||
change.ResourceRecordSet.Name = aws.String(wildcardEscape(provider.EnsureTrailingDot(aws.StringValue(change.ResourceRecordSet.Name))))
|
||||
|
||||
if change.ResourceRecordSet.AliasTarget != nil {
|
||||
change.ResourceRecordSet.AliasTarget.DNSName = aws.String(wildcardEscape(ensureTrailingDot(aws.StringValue(change.ResourceRecordSet.AliasTarget.DNSName))))
|
||||
change.ResourceRecordSet.AliasTarget.DNSName = aws.String(wildcardEscape(provider.EnsureTrailingDot(aws.StringValue(change.ResourceRecordSet.AliasTarget.DNSName))))
|
||||
}
|
||||
|
||||
setId := ""
|
||||
@ -287,17 +288,17 @@ func TestAWSZones(t *testing.T) {
|
||||
|
||||
for _, ti := range []struct {
|
||||
msg string
|
||||
zoneIDFilter ZoneIDFilter
|
||||
zoneTypeFilter ZoneTypeFilter
|
||||
zoneTagFilter ZoneTagFilter
|
||||
zoneIDFilter provider.ZoneIDFilter
|
||||
zoneTypeFilter provider.ZoneTypeFilter
|
||||
zoneTagFilter provider.ZoneTagFilter
|
||||
expectedZones map[string]*route53.HostedZone
|
||||
}{
|
||||
{"no filter", NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), NewZoneTagFilter([]string{}), allZones},
|
||||
{"public filter", NewZoneIDFilter([]string{}), NewZoneTypeFilter("public"), NewZoneTagFilter([]string{}), publicZones},
|
||||
{"private filter", NewZoneIDFilter([]string{}), NewZoneTypeFilter("private"), NewZoneTagFilter([]string{}), privateZones},
|
||||
{"unknown filter", NewZoneIDFilter([]string{}), NewZoneTypeFilter("unknown"), NewZoneTagFilter([]string{}), noZones},
|
||||
{"zone id filter", NewZoneIDFilter([]string{"/hostedzone/zone-3.ext-dns-test-2.teapot.zalan.do."}), NewZoneTypeFilter(""), NewZoneTagFilter([]string{}), privateZones},
|
||||
{"tag filter", NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), NewZoneTagFilter([]string{"zone=3"}), privateZones},
|
||||
{"no filter", provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), provider.NewZoneTagFilter([]string{}), allZones},
|
||||
{"public filter", provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter("public"), provider.NewZoneTagFilter([]string{}), publicZones},
|
||||
{"private filter", provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter("private"), provider.NewZoneTagFilter([]string{}), privateZones},
|
||||
{"unknown filter", provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter("unknown"), provider.NewZoneTagFilter([]string{}), noZones},
|
||||
{"zone id filter", provider.NewZoneIDFilter([]string{"/hostedzone/zone-3.ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneTypeFilter(""), provider.NewZoneTagFilter([]string{}), privateZones},
|
||||
{"tag filter", provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), provider.NewZoneTagFilter([]string{"zone=3"}), privateZones},
|
||||
} {
|
||||
provider, _ := newAWSProviderWithTagFilter(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), ti.zoneIDFilter, ti.zoneTypeFilter, ti.zoneTagFilter, defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
|
||||
@ -309,7 +310,7 @@ func TestAWSZones(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAWSRecords(t *testing.T) {
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), false, false, []*endpoint.Endpoint{
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), false, false, []*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("list-test.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "1.2.3.4"),
|
||||
endpoint.NewEndpointWithTTL("list-test.zone-2.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.8.8"),
|
||||
endpoint.NewEndpointWithTTL("*.wildcard-test.zone-2.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.8.8"),
|
||||
@ -351,7 +352,7 @@ func TestAWSRecords(t *testing.T) {
|
||||
|
||||
func TestAWSCreateRecords(t *testing.T) {
|
||||
customTTL := endpoint.TTL(60)
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
|
||||
records := []*endpoint.Endpoint{
|
||||
endpoint.NewEndpoint("create-test.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, "1.2.3.4"),
|
||||
@ -376,7 +377,7 @@ func TestAWSCreateRecords(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAWSUpdateRecords(t *testing.T) {
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("update-test.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.8.8"),
|
||||
endpoint.NewEndpointWithTTL("update-test.zone-2.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.4.4"),
|
||||
endpoint.NewEndpointWithTTL("update-test-cname.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeCNAME, endpoint.TTL(recordTTL), "foo.elb.amazonaws.com"),
|
||||
@ -419,7 +420,7 @@ func TestAWSDeleteRecords(t *testing.T) {
|
||||
endpoint.NewEndpointWithTTL("delete-test-multiple.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.8.8", "8.8.4.4"),
|
||||
}
|
||||
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), false, false, originalEndpoints)
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), false, false, originalEndpoints)
|
||||
|
||||
require.NoError(t, provider.DeleteRecords(context.Background(), originalEndpoints))
|
||||
|
||||
@ -441,12 +442,12 @@ func TestAWSApplyChanges(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
records, err := p.Records(ctx)
|
||||
require.NoError(t, err)
|
||||
return context.WithValue(ctx, RecordsContextKey, records)
|
||||
return context.WithValue(ctx, provider.RecordsContextKey, records)
|
||||
}, 0},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("update-test.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.8.8"),
|
||||
endpoint.NewEndpointWithTTL("delete-test.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.8.8"),
|
||||
endpoint.NewEndpointWithTTL("update-test.zone-2.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "8.8.4.4"),
|
||||
@ -538,7 +539,7 @@ func TestAWSApplyChangesDryRun(t *testing.T) {
|
||||
endpoint.NewEndpointWithTTL("delete-test-multiple.zone-2.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, endpoint.TTL(recordTTL), "1.2.3.4", "4.3.2.1"),
|
||||
}
|
||||
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, true, originalEndpoints)
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, true, originalEndpoints)
|
||||
|
||||
createRecords := []*endpoint.Endpoint{
|
||||
endpoint.NewEndpoint("create-test.zone-1.ext-dns-test-2.teapot.zalan.do", endpoint.RecordTypeA, "8.8.8.8"),
|
||||
@ -686,7 +687,7 @@ func TestAWSChangesByZones(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAWSsubmitChanges(t *testing.T) {
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
const subnets = 16
|
||||
const hosts = defaultBatchChangeSize / subnets
|
||||
|
||||
@ -715,7 +716,7 @@ func TestAWSsubmitChanges(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAWSsubmitChangesError(t *testing.T) {
|
||||
provider, clientStub := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
provider, clientStub := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
clientStub.MockMethod("ChangeResourceRecordSets", mock.Anything).Return(nil, fmt.Errorf("Mock route53 failure"))
|
||||
|
||||
ctx := context.Background()
|
||||
@ -851,7 +852,7 @@ func validateAWSChangeRecord(t *testing.T, record *route53.Change, expected *rou
|
||||
}
|
||||
|
||||
func TestAWSCreateRecordsWithCNAME(t *testing.T) {
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
|
||||
records := []*endpoint.Endpoint{
|
||||
{DNSName: "create-test.zone-1.ext-dns-test-2.teapot.zalan.do", Targets: endpoint.Targets{"foo.example.org"}, RecordType: endpoint.RecordTypeCNAME},
|
||||
@ -881,7 +882,7 @@ func TestAWSCreateRecordsWithALIAS(t *testing.T) {
|
||||
"false": false,
|
||||
"": false,
|
||||
} {
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), NewZoneIDFilter([]string{}), NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
provider, _ := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, []*endpoint.Endpoint{})
|
||||
|
||||
// Test dualstack and ipv4 load balancer targets
|
||||
records := []*endpoint.Endpoint{
|
||||
@ -1182,11 +1183,11 @@ func escapeAWSRecords(t *testing.T, provider *AWSProvider, zone string) {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
}
|
||||
func newAWSProvider(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, zoneTypeFilter ZoneTypeFilter, evaluateTargetHealth, dryRun bool, records []*endpoint.Endpoint) (*AWSProvider, *Route53APIStub) {
|
||||
return newAWSProviderWithTagFilter(t, domainFilter, zoneIDFilter, zoneTypeFilter, NewZoneTagFilter([]string{}), evaluateTargetHealth, dryRun, records)
|
||||
func newAWSProvider(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, zoneTypeFilter provider.ZoneTypeFilter, evaluateTargetHealth, dryRun bool, records []*endpoint.Endpoint) (*AWSProvider, *Route53APIStub) {
|
||||
return newAWSProviderWithTagFilter(t, domainFilter, zoneIDFilter, zoneTypeFilter, provider.NewZoneTagFilter([]string{}), evaluateTargetHealth, dryRun, records)
|
||||
}
|
||||
|
||||
func newAWSProviderWithTagFilter(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, zoneTypeFilter ZoneTypeFilter, zoneTagFilter ZoneTagFilter, evaluateTargetHealth, dryRun bool, records []*endpoint.Endpoint) (*AWSProvider, *Route53APIStub) {
|
||||
func newAWSProviderWithTagFilter(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, zoneTypeFilter provider.ZoneTypeFilter, zoneTagFilter provider.ZoneTagFilter, evaluateTargetHealth, dryRun bool, records []*endpoint.Endpoint) (*AWSProvider, *Route53APIStub) {
|
||||
client := NewRoute53APIStub()
|
||||
|
||||
provider := &AWSProvider{
|
||||
|
@ -27,6 +27,11 @@ import (
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
const (
|
||||
recordTTL = 300
|
||||
)
|
||||
|
||||
// mockPrivateZonesClient implements the methods of the Azure Private DNS Zones Client which are used in the Azure Private DNS Provider
|
||||
@ -203,7 +208,7 @@ func (client *mockPrivateRecordSetsClient) CreateOrUpdate(ctx context.Context, r
|
||||
}
|
||||
|
||||
// newMockedAzurePrivateDNSProvider creates an AzureProvider comprising the mocked clients for zones and recordsets
|
||||
func newMockedAzurePrivateDNSProvider(domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool, resourceGroup string, zones *[]privatedns.PrivateZone, recordSets *[]privatedns.RecordSet) (*AzurePrivateDNSProvider, error) {
|
||||
func newMockedAzurePrivateDNSProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool, resourceGroup string, zones *[]privatedns.PrivateZone, recordSets *[]privatedns.RecordSet) (*AzurePrivateDNSProvider, error) {
|
||||
// init zone-related parts of the mock-client
|
||||
pageIterator := mockPrivateZoneListResultPageIterator{
|
||||
results: []privatedns.PrivateZoneListResult{
|
||||
@ -236,7 +241,7 @@ func newMockedAzurePrivateDNSProvider(domainFilter endpoint.DomainFilter, zoneID
|
||||
return newAzurePrivateDNSProvider(domainFilter, zoneIDFilter, dryRun, resourceGroup, &zonesClient, &recordSetsClient), nil
|
||||
}
|
||||
|
||||
func newAzurePrivateDNSProvider(domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool, resourceGroup string, privateZonesClient PrivateZonesClient, privateRecordsClient PrivateRecordSetsClient) *AzurePrivateDNSProvider {
|
||||
func newAzurePrivateDNSProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool, resourceGroup string, privateZonesClient PrivateZonesClient, privateRecordsClient PrivateRecordSetsClient) *AzurePrivateDNSProvider {
|
||||
return &AzurePrivateDNSProvider{
|
||||
domainFilter: domainFilter,
|
||||
zoneIDFilter: zoneIDFilter,
|
||||
@ -248,7 +253,7 @@ func newAzurePrivateDNSProvider(domainFilter endpoint.DomainFilter, zoneIDFilter
|
||||
}
|
||||
|
||||
func TestAzurePrivateDNSRecord(t *testing.T) {
|
||||
provider, err := newMockedAzurePrivateDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{""}), true, "k8s",
|
||||
provider, err := newMockedAzurePrivateDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true, "k8s",
|
||||
&[]privatedns.PrivateZone{
|
||||
createMockPrivateZone("example.com", "/privateDnsZones/example.com"),
|
||||
},
|
||||
@ -284,7 +289,7 @@ func TestAzurePrivateDNSRecord(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAzurePrivateDNSMultiRecord(t *testing.T) {
|
||||
provider, err := newMockedAzurePrivateDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{""}), true, "k8s",
|
||||
provider, err := newMockedAzurePrivateDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true, "k8s",
|
||||
&[]privatedns.PrivateZone{
|
||||
createMockPrivateZone("example.com", "/privateDnsZones/example.com"),
|
||||
},
|
||||
@ -383,7 +388,7 @@ func testAzurePrivateDNSApplyChangesInternal(t *testing.T, dryRun bool, client P
|
||||
|
||||
provider := newAzurePrivateDNSProvider(
|
||||
endpoint.NewDomainFilter([]string{""}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
dryRun,
|
||||
"group",
|
||||
&zonesClient,
|
||||
|
@ -30,6 +30,7 @@ import (
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/internal/testutils"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
// mockZonesClient implements the methods of the Azure DNS Zones Client which are used in the Azure Provider
|
||||
@ -206,7 +207,7 @@ func (client *mockRecordSetsClient) CreateOrUpdate(ctx context.Context, resource
|
||||
}
|
||||
|
||||
// newMockedAzureProvider creates an AzureProvider comprising the mocked clients for zones and recordsets
|
||||
func newMockedAzureProvider(domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool, resourceGroup string, userAssignedIdentityClientID string, zones *[]dns.Zone, recordSets *[]dns.RecordSet) (*AzureProvider, error) {
|
||||
func newMockedAzureProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool, resourceGroup string, userAssignedIdentityClientID string, zones *[]dns.Zone, recordSets *[]dns.RecordSet) (*AzureProvider, error) {
|
||||
// init zone-related parts of the mock-client
|
||||
pageIterator := mockZoneListResultPageIterator{
|
||||
results: []dns.ZoneListResult{
|
||||
@ -239,7 +240,7 @@ func newMockedAzureProvider(domainFilter endpoint.DomainFilter, zoneIDFilter Zon
|
||||
return newAzureProvider(domainFilter, zoneIDFilter, dryRun, resourceGroup, userAssignedIdentityClientID, &zonesClient, &recordSetsClient), nil
|
||||
}
|
||||
|
||||
func newAzureProvider(domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool, resourceGroup string, userAssignedIdentityClientID string, zonesClient ZonesClient, recordsClient RecordSetsClient) *AzureProvider {
|
||||
func newAzureProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool, resourceGroup string, userAssignedIdentityClientID string, zonesClient ZonesClient, recordsClient RecordSetsClient) *AzureProvider {
|
||||
return &AzureProvider{
|
||||
domainFilter: domainFilter,
|
||||
zoneIDFilter: zoneIDFilter,
|
||||
@ -256,7 +257,7 @@ func validateAzureEndpoints(t *testing.T, endpoints []*endpoint.Endpoint, expect
|
||||
}
|
||||
|
||||
func TestAzureRecord(t *testing.T) {
|
||||
provider, err := newMockedAzureProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{""}), true, "k8s", "",
|
||||
provider, err := newMockedAzureProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true, "k8s", "",
|
||||
&[]dns.Zone{
|
||||
createMockZone("example.com", "/dnszones/example.com"),
|
||||
},
|
||||
@ -293,7 +294,7 @@ func TestAzureRecord(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAzureMultiRecord(t *testing.T) {
|
||||
provider, err := newMockedAzureProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{""}), true, "k8s", "",
|
||||
provider, err := newMockedAzureProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true, "k8s", "",
|
||||
&[]dns.Zone{
|
||||
createMockZone("example.com", "/dnszones/example.com"),
|
||||
},
|
||||
@ -393,7 +394,7 @@ func testAzureApplyChangesInternal(t *testing.T, dryRun bool, client RecordSetsC
|
||||
|
||||
provider := newAzureProvider(
|
||||
endpoint.NewDomainFilter([]string{""}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
dryRun,
|
||||
"group",
|
||||
"",
|
||||
|
@ -28,6 +28,7 @@ import (
|
||||
"github.com/maxatome/go-testdeep/td"
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
type MockAction struct {
|
||||
@ -510,7 +511,7 @@ func TestCloudflareZones(t *testing.T) {
|
||||
provider := &CloudFlareProvider{
|
||||
Client: NewMockCloudFlareClient(),
|
||||
domainFilter: endpoint.NewDomainFilter([]string{"bar.com"}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
}
|
||||
|
||||
zones, err := provider.Zones(context.Background())
|
||||
@ -555,7 +556,7 @@ func TestCloudflareProvider(t *testing.T) {
|
||||
_ = os.Setenv("CF_API_TOKEN", "abc123def")
|
||||
_, err := NewCloudFlareProvider(
|
||||
endpoint.NewDomainFilter([]string{"bar.com"}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
25,
|
||||
false,
|
||||
true)
|
||||
@ -567,7 +568,7 @@ func TestCloudflareProvider(t *testing.T) {
|
||||
_ = os.Setenv("CF_API_EMAIL", "test@test.com")
|
||||
_, err = NewCloudFlareProvider(
|
||||
endpoint.NewDomainFilter([]string{"bar.com"}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
1,
|
||||
false,
|
||||
true)
|
||||
@ -578,7 +579,7 @@ func TestCloudflareProvider(t *testing.T) {
|
||||
_ = os.Unsetenv("CF_API_EMAIL")
|
||||
_, err = NewCloudFlareProvider(
|
||||
endpoint.NewDomainFilter([]string{"bar.com"}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
50,
|
||||
false,
|
||||
true)
|
||||
|
@ -34,6 +34,7 @@ import (
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
var lastGeneratedDesignateID int32
|
||||
@ -130,7 +131,7 @@ func (c fakeDesignateClient) DeleteRecordSet(zoneID, recordSetID string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c fakeDesignateClient) ToProvider() Provider {
|
||||
func (c fakeDesignateClient) ToProvider() provider.Provider {
|
||||
return &designateProvider{client: c}
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,7 @@ import (
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
var mockProvider dnsimpleProvider
|
||||
@ -203,7 +204,7 @@ func testDnsimpleSuitableZone(t *testing.T) {
|
||||
|
||||
func TestNewDnsimpleProvider(t *testing.T) {
|
||||
os.Setenv("DNSIMPLE_OAUTH", "xxxxxxxxxxxxxxxxxxxxxxxxxx")
|
||||
_, err := NewDnsimpleProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{""}), true)
|
||||
_, err := NewDnsimpleProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true)
|
||||
if err == nil {
|
||||
t.Errorf("Expected to fail new provider on bad token")
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
func TestDynMerge_NoUpdateOnTTL0Changes(t *testing.T) {
|
||||
@ -187,7 +188,7 @@ func TestDyn_endpointToRecord(t *testing.T) {
|
||||
func TestDyn_buildLinkToRecord(t *testing.T) {
|
||||
provider := &dynProviderState{
|
||||
DynConfig: DynConfig{
|
||||
ZoneIDFilter: NewZoneIDFilter([]string{"example.com"}),
|
||||
ZoneIDFilter: provider.NewZoneIDFilter([]string{"example.com"}),
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{"the-target.example.com"}),
|
||||
},
|
||||
}
|
||||
|
@ -30,7 +30,9 @@ import (
|
||||
"google.golang.org/api/googleapi"
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/internal/testutils"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -192,7 +194,7 @@ func hasTrailingDot(target string) bool {
|
||||
}
|
||||
|
||||
func TestGoogleZonesIDFilter(t *testing.T) {
|
||||
provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), NewZoneIDFilter([]string{"10002"}), false, []*endpoint.Endpoint{})
|
||||
provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), provider.NewZoneIDFilter([]string{"10002"}), false, []*endpoint.Endpoint{})
|
||||
|
||||
zones, err := provider.Zones(context.Background())
|
||||
require.NoError(t, err)
|
||||
@ -203,7 +205,7 @@ func TestGoogleZonesIDFilter(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGoogleZonesNameFilter(t *testing.T) {
|
||||
provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), NewZoneIDFilter([]string{"internal-2"}), false, []*endpoint.Endpoint{})
|
||||
provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), provider.NewZoneIDFilter([]string{"internal-2"}), false, []*endpoint.Endpoint{})
|
||||
|
||||
zones, err := provider.Zones(context.Background())
|
||||
require.NoError(t, err)
|
||||
@ -214,7 +216,7 @@ func TestGoogleZonesNameFilter(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGoogleZones(t *testing.T) {
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
|
||||
zones, err := provider.Zones(context.Background())
|
||||
require.NoError(t, err)
|
||||
@ -233,7 +235,7 @@ func TestGoogleRecords(t *testing.T) {
|
||||
endpoint.NewEndpointWithTTL("list-test-alias.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeCNAME, endpoint.TTL(3), "foo.elb.amazonaws.com"),
|
||||
}
|
||||
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), false, originalEndpoints)
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, originalEndpoints)
|
||||
|
||||
records, err := provider.Records(context.Background())
|
||||
require.NoError(t, err)
|
||||
@ -261,7 +263,7 @@ func TestGoogleRecordsFilter(t *testing.T) {
|
||||
"zone-0.ext-dns-test-2.gcp.zalan.do.",
|
||||
// there exists a third zone "zone-3" that we want to exclude from being managed.
|
||||
}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
false,
|
||||
originalEndpoints,
|
||||
)
|
||||
@ -286,7 +288,7 @@ func TestGoogleRecordsFilter(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGoogleCreateRecords(t *testing.T) {
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
|
||||
records := []*endpoint.Endpoint{
|
||||
endpoint.NewEndpoint("create-test.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, "1.2.3.4"),
|
||||
@ -312,7 +314,7 @@ func TestGoogleUpdateRecords(t *testing.T) {
|
||||
endpoint.NewEndpointWithTTL("update-test-ttl.zone-2.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, endpoint.TTL(15), "8.8.4.4"),
|
||||
endpoint.NewEndpointWithTTL("update-test-cname.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeCNAME, googleRecordTTL, "foo.elb.amazonaws.com"),
|
||||
}
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), false, currentRecords)
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, currentRecords)
|
||||
updatedRecords := []*endpoint.Endpoint{
|
||||
endpoint.NewEndpoint("update-test.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, "1.2.3.4"),
|
||||
endpoint.NewEndpointWithTTL("update-test-ttl.zone-2.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, endpoint.TTL(25), "4.3.2.1"),
|
||||
@ -338,7 +340,7 @@ func TestGoogleDeleteRecords(t *testing.T) {
|
||||
endpoint.NewEndpointWithTTL("delete-test-cname.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeCNAME, googleRecordTTL, "baz.elb.amazonaws.com"),
|
||||
}
|
||||
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), false, originalEndpoints)
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, originalEndpoints)
|
||||
|
||||
require.NoError(t, provider.DeleteRecords(originalEndpoints))
|
||||
|
||||
@ -359,7 +361,7 @@ func TestGoogleApplyChanges(t *testing.T) {
|
||||
"zone-0.ext-dns-test-2.gcp.zalan.do.",
|
||||
// there exists a third zone "zone-3" that we want to exclude from being managed.
|
||||
}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
false,
|
||||
[]*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("update-test.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, googleRecordTTL, "8.8.8.8"),
|
||||
@ -433,7 +435,7 @@ func TestGoogleApplyChangesDryRun(t *testing.T) {
|
||||
endpoint.NewEndpointWithTTL("delete-test-cname.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeCNAME, googleRecordTTL, "qux.elb.amazonaws.com"),
|
||||
}
|
||||
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), true, originalEndpoints)
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), true, originalEndpoints)
|
||||
|
||||
createRecords := []*endpoint.Endpoint{
|
||||
endpoint.NewEndpoint("create-test.zone-1.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, "8.8.8.8"),
|
||||
@ -475,12 +477,12 @@ func TestGoogleApplyChangesDryRun(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGoogleApplyChangesEmpty(t *testing.T) {
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
assert.NoError(t, provider.ApplyChanges(context.Background(), &plan.Changes{}))
|
||||
}
|
||||
|
||||
func TestNewFilteredRecords(t *testing.T) {
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{})
|
||||
|
||||
records := provider.newFilteredRecords([]*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("update-test.zone-2.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, 1, "8.8.4.4"),
|
||||
@ -670,7 +672,7 @@ func validateChangeRecord(t *testing.T, record *dns.ResourceRecordSet, expected
|
||||
assert.Equal(t, expected.Type, record.Type)
|
||||
}
|
||||
|
||||
func newGoogleProviderZoneOverlap(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool, records []*endpoint.Endpoint) *GoogleProvider {
|
||||
func newGoogleProviderZoneOverlap(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool, records []*endpoint.Endpoint) *GoogleProvider {
|
||||
provider := &GoogleProvider{
|
||||
project: "zalando-external-dns-test",
|
||||
dryRun: false,
|
||||
@ -705,7 +707,7 @@ func newGoogleProviderZoneOverlap(t *testing.T, domainFilter endpoint.DomainFilt
|
||||
|
||||
}
|
||||
|
||||
func newGoogleProvider(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool, records []*endpoint.Endpoint) *GoogleProvider {
|
||||
func newGoogleProvider(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool, records []*endpoint.Endpoint) *GoogleProvider {
|
||||
provider := &GoogleProvider{
|
||||
project: "zalando-external-dns-test",
|
||||
dryRun: false,
|
||||
@ -792,3 +794,7 @@ func clearGoogleRecords(t *testing.T, provider *GoogleProvider, zone string) {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
func validateEndpoints(t *testing.T, endpoints []*endpoint.Endpoint, expected []*endpoint.Endpoint) {
|
||||
assert.True(t, testutils.SameEndpoints(endpoints, expected), "actual and expected endpoints don't match. %s:%s", endpoints, expected)
|
||||
}
|
||||
|
@ -28,7 +28,9 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/internal/testutils"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
type mockIBConnector struct {
|
||||
@ -329,7 +331,7 @@ func createMockInfobloxObject(name, recordType, value string) ibclient.IBObject
|
||||
return nil
|
||||
}
|
||||
|
||||
func newInfobloxProvider(domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool, client ibclient.IBConnector) *InfobloxProvider {
|
||||
func newInfobloxProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool, client ibclient.IBConnector) *InfobloxProvider {
|
||||
return &InfobloxProvider{
|
||||
client: client,
|
||||
domainFilter: domainFilter,
|
||||
@ -354,7 +356,7 @@ func TestInfobloxRecords(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
provider := newInfobloxProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{""}), true, &client)
|
||||
provider := newInfobloxProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true, &client)
|
||||
actual, err := provider.Records(context.Background())
|
||||
|
||||
if err != nil {
|
||||
@ -428,7 +430,7 @@ func testInfobloxApplyChangesInternal(t *testing.T, dryRun bool, client ibclient
|
||||
|
||||
provider := newInfobloxProvider(
|
||||
endpoint.NewDomainFilter([]string{""}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
dryRun,
|
||||
client,
|
||||
)
|
||||
@ -486,7 +488,7 @@ func TestInfobloxZones(t *testing.T) {
|
||||
mockInfobloxObjects: &[]ibclient.IBObject{},
|
||||
}
|
||||
|
||||
provider := newInfobloxProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{""}), true, &client)
|
||||
provider := newInfobloxProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true, &client)
|
||||
zones, _ := provider.zones()
|
||||
var emptyZoneAuth *ibclient.ZoneAuth
|
||||
assert.Equal(t, provider.findZone(zones, "example.com").Fqdn, "example.com")
|
||||
@ -521,3 +523,7 @@ func TestMaxResultsRequestBuilder(t *testing.T) {
|
||||
|
||||
assert.True(t, req.URL.Query().Get("_max_results") == "")
|
||||
}
|
||||
|
||||
func validateEndpoints(t *testing.T, endpoints []*endpoint.Endpoint, expected []*endpoint.Endpoint) {
|
||||
assert.True(t, testutils.SameEndpoints(endpoints, expected), "actual and expected endpoints don't match. %s:%s", endpoints, expected)
|
||||
}
|
||||
|
@ -26,10 +26,11 @@ import (
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/internal/testutils"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
var (
|
||||
_ Provider = &InMemoryProvider{}
|
||||
_ provider.Provider = &InMemoryProvider{}
|
||||
)
|
||||
|
||||
func TestInMemoryProvider(t *testing.T) {
|
||||
|
@ -31,6 +31,7 @@ import (
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
type MockNS1DomainClient struct {
|
||||
@ -130,7 +131,7 @@ func TestNS1Records(t *testing.T) {
|
||||
provider := &NS1Provider{
|
||||
client: &MockNS1DomainClient{},
|
||||
domainFilter: endpoint.NewDomainFilter([]string{"foo.com."}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
}
|
||||
ctx := context.Background()
|
||||
|
||||
@ -151,7 +152,7 @@ func TestNewNS1Provider(t *testing.T) {
|
||||
_ = os.Setenv("NS1_APIKEY", "xxxxxxxxxxxxxxxxx")
|
||||
testNS1Config := NS1Config{
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{"foo.com."}),
|
||||
ZoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
ZoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
DryRun: false,
|
||||
}
|
||||
_, err := NewNS1Provider(testNS1Config)
|
||||
@ -166,7 +167,7 @@ func TestNS1Zones(t *testing.T) {
|
||||
provider := &NS1Provider{
|
||||
client: &MockNS1DomainClient{},
|
||||
domainFilter: endpoint.NewDomainFilter([]string{"foo.com."}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
}
|
||||
|
||||
zones, err := provider.zonesFiltered()
|
||||
|
@ -28,6 +28,7 @@ import (
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
type mockOCIDNSClient struct{}
|
||||
@ -100,7 +101,7 @@ func (c *mockOCIDNSClient) PatchZoneRecords(ctx context.Context, request dns.Pat
|
||||
}
|
||||
|
||||
// newOCIProvider creates an OCI provider with API calls mocked out.
|
||||
func newOCIProvider(client ociDNSClient, domainFilter endpoint.DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool) *OCIProvider {
|
||||
func newOCIProvider(client ociDNSClient, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool) *OCIProvider {
|
||||
return &OCIProvider{
|
||||
client: client,
|
||||
cfg: OCIConfig{
|
||||
@ -184,7 +185,7 @@ hKRtDhmSdWBo3tJK12RrAe4t7CUe8gMgTvU7ExlcA3xQkseFPx9K
|
||||
_, err := NewOCIProvider(
|
||||
tc.config,
|
||||
endpoint.NewDomainFilter([]string{"com"}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
false,
|
||||
)
|
||||
if err == nil {
|
||||
@ -200,13 +201,13 @@ func TestOCIZones(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
domainFilter endpoint.DomainFilter
|
||||
zoneIDFilter ZoneIDFilter
|
||||
zoneIDFilter provider.ZoneIDFilter
|
||||
expected map[string]dns.ZoneSummary
|
||||
}{
|
||||
{
|
||||
name: "DomainFilter_com",
|
||||
domainFilter: endpoint.NewDomainFilter([]string{"com"}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
expected: map[string]dns.ZoneSummary{
|
||||
"foo.com": {
|
||||
Id: common.String("ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"),
|
||||
@ -220,7 +221,7 @@ func TestOCIZones(t *testing.T) {
|
||||
}, {
|
||||
name: "DomainFilter_foo.com",
|
||||
domainFilter: endpoint.NewDomainFilter([]string{"foo.com"}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
expected: map[string]dns.ZoneSummary{
|
||||
"foo.com": {
|
||||
Id: common.String("ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"),
|
||||
@ -230,7 +231,7 @@ func TestOCIZones(t *testing.T) {
|
||||
}, {
|
||||
name: "ZoneIDFilter_ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959",
|
||||
domainFilter: endpoint.NewDomainFilter([]string{""}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{"ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{"ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"}),
|
||||
expected: map[string]dns.ZoneSummary{
|
||||
"foo.com": {
|
||||
Id: common.String("ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"),
|
||||
@ -253,13 +254,13 @@ func TestOCIRecords(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
domainFilter endpoint.DomainFilter
|
||||
zoneIDFilter ZoneIDFilter
|
||||
zoneIDFilter provider.ZoneIDFilter
|
||||
expected []*endpoint.Endpoint
|
||||
}{
|
||||
{
|
||||
name: "unfiltered",
|
||||
domainFilter: endpoint.NewDomainFilter([]string{""}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
expected: []*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("foo.foo.com", endpoint.RecordTypeA, endpoint.TTL(ociRecordTTL), "127.0.0.1"),
|
||||
endpoint.NewEndpointWithTTL("foo.foo.com", endpoint.RecordTypeTXT, endpoint.TTL(ociRecordTTL), "heritage=external-dns,external-dns/owner=default,external-dns/resource=service/default/my-svc"),
|
||||
@ -269,7 +270,7 @@ func TestOCIRecords(t *testing.T) {
|
||||
}, {
|
||||
name: "DomainFilter_foo.com",
|
||||
domainFilter: endpoint.NewDomainFilter([]string{"foo.com"}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{""}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{""}),
|
||||
expected: []*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("foo.foo.com", endpoint.RecordTypeA, endpoint.TTL(ociRecordTTL), "127.0.0.1"),
|
||||
endpoint.NewEndpointWithTTL("foo.foo.com", endpoint.RecordTypeTXT, endpoint.TTL(ociRecordTTL), "heritage=external-dns,external-dns/owner=default,external-dns/resource=service/default/my-svc"),
|
||||
@ -278,7 +279,7 @@ func TestOCIRecords(t *testing.T) {
|
||||
}, {
|
||||
name: "ZoneIDFilter_ocid1.dns-zone.oc1..502aeddba262b92fd13ed7874f6f1404",
|
||||
domainFilter: endpoint.NewDomainFilter([]string{""}),
|
||||
zoneIDFilter: NewZoneIDFilter([]string{"ocid1.dns-zone.oc1..502aeddba262b92fd13ed7874f6f1404"}),
|
||||
zoneIDFilter: provider.NewZoneIDFilter([]string{"ocid1.dns-zone.oc1..502aeddba262b92fd13ed7874f6f1404"}),
|
||||
expected: []*endpoint.Endpoint{
|
||||
endpoint.NewEndpointWithTTL("foo.bar.com", endpoint.RecordTypeA, endpoint.TTL(ociRecordTTL), "127.0.0.1"),
|
||||
},
|
||||
@ -826,7 +827,7 @@ func TestOCIApplyChanges(t *testing.T) {
|
||||
provider := newOCIProvider(
|
||||
client,
|
||||
endpoint.NewDomainFilter([]string{""}),
|
||||
NewZoneIDFilter([]string{""}),
|
||||
provider.NewZoneIDFilter([]string{""}),
|
||||
tc.dryRun,
|
||||
)
|
||||
|
||||
|
@ -735,7 +735,7 @@ func (suite *NewPDNSProviderTestSuite) TestPDNSProviderCreateTLS() {
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{""}),
|
||||
TLSConfig: TLSConfig{
|
||||
TLSEnabled: true,
|
||||
CAFilePath: "../internal/testresources/ca.pem",
|
||||
CAFilePath: "../../internal/testresources/ca.pem",
|
||||
},
|
||||
})
|
||||
assert.Nil(suite.T(), err, "Enabled TLS Config with --tls-ca should raise no error")
|
||||
@ -748,8 +748,8 @@ func (suite *NewPDNSProviderTestSuite) TestPDNSProviderCreateTLS() {
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{""}),
|
||||
TLSConfig: TLSConfig{
|
||||
TLSEnabled: true,
|
||||
CAFilePath: "../internal/testresources/ca.pem",
|
||||
ClientCertFilePath: "../internal/testresources/client-cert.pem",
|
||||
CAFilePath: "../../internal/testresources/ca.pem",
|
||||
ClientCertFilePath: "../../internal/testresources/client-cert.pem",
|
||||
},
|
||||
})
|
||||
assert.Error(suite.T(), err, "Enabled TLS Config with --tls-client-cert only should raise an error")
|
||||
@ -762,8 +762,8 @@ func (suite *NewPDNSProviderTestSuite) TestPDNSProviderCreateTLS() {
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{""}),
|
||||
TLSConfig: TLSConfig{
|
||||
TLSEnabled: true,
|
||||
CAFilePath: "../internal/testresources/ca.pem",
|
||||
ClientCertKeyFilePath: "../internal/testresources/client-cert-key.pem",
|
||||
CAFilePath: "../../internal/testresources/ca.pem",
|
||||
ClientCertKeyFilePath: "../../internal/testresources/client-cert-key.pem",
|
||||
},
|
||||
})
|
||||
assert.Error(suite.T(), err, "Enabled TLS Config with --tls-client-cert-key only should raise an error")
|
||||
@ -776,9 +776,9 @@ func (suite *NewPDNSProviderTestSuite) TestPDNSProviderCreateTLS() {
|
||||
DomainFilter: endpoint.NewDomainFilter([]string{""}),
|
||||
TLSConfig: TLSConfig{
|
||||
TLSEnabled: true,
|
||||
CAFilePath: "../internal/testresources/ca.pem",
|
||||
ClientCertFilePath: "../internal/testresources/client-cert.pem",
|
||||
ClientCertKeyFilePath: "../internal/testresources/client-cert-key.pem",
|
||||
CAFilePath: "../../internal/testresources/ca.pem",
|
||||
ClientCertFilePath: "../../internal/testresources/client-cert.pem",
|
||||
ClientCertKeyFilePath: "../../internal/testresources/client-cert-key.pem",
|
||||
},
|
||||
})
|
||||
assert.Nil(suite.T(), err, "Enabled TLS Config with all flags should raise no error")
|
||||
|
@ -37,7 +37,7 @@ func TestEnsureTrailingDot(t *testing.T) {
|
||||
{"example.org.", "example.org."},
|
||||
{"8.8.8.8", "8.8.8.8"},
|
||||
} {
|
||||
output := ensureTrailingDot(tc.input)
|
||||
output := EnsureTrailingDot(tc.input)
|
||||
|
||||
if output != tc.expected {
|
||||
t.Errorf("expected %s, got %s", tc.expected, output)
|
||||
|
@ -41,7 +41,7 @@ func TestRecordTypeFilter(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, r := range records {
|
||||
got := supportedRecordType(r.rtype)
|
||||
got := SupportedRecordType(r.rtype)
|
||||
if r.expect != got {
|
||||
t.Errorf("wrong record type %s: expect %v, but got %v", r.rtype, r.expect, got)
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import (
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
type rfc2136Stub struct {
|
||||
@ -93,7 +94,7 @@ func (r *rfc2136Stub) IncomeTransfer(m *dns.Msg, a string) (env chan *dns.Envelo
|
||||
return outChan, nil
|
||||
}
|
||||
|
||||
func createRfc2136StubProvider(stub *rfc2136Stub) (Provider, error) {
|
||||
func createRfc2136StubProvider(stub *rfc2136Stub) (provider.Provider, error) {
|
||||
return NewRfc2136Provider("", 0, "", false, "key", "secret", "hmac-sha512", true, endpoint.DomainFilter{}, false, 300*time.Second, stub)
|
||||
}
|
||||
|
||||
@ -246,3 +247,12 @@ func TestRfc2136ApplyChangesWithDifferentTTLs(t *testing.T) {
|
||||
assert.True(t, strings.Contains(createRecords[2], "300"))
|
||||
|
||||
}
|
||||
|
||||
func contains(arr []*endpoint.Endpoint, name string) bool {
|
||||
for _, a := range arr {
|
||||
if a.DNSName == name {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ import (
|
||||
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
)
|
||||
|
||||
type mockVinyldnsZoneInterface struct {
|
||||
@ -97,12 +98,12 @@ func testVinylDNSProviderRecords(t *testing.T) {
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(vinylDNSRecords), len(result))
|
||||
|
||||
mockVinylDNSProvider.zoneFilter = NewZoneIDFilter([]string{"0"})
|
||||
mockVinylDNSProvider.zoneFilter = provider.NewZoneIDFilter([]string{"0"})
|
||||
result, err = mockVinylDNSProvider.Records(ctx)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(vinylDNSRecords), len(result))
|
||||
|
||||
mockVinylDNSProvider.zoneFilter = NewZoneIDFilter([]string{"1"})
|
||||
mockVinylDNSProvider.zoneFilter = provider.NewZoneIDFilter([]string{"1"})
|
||||
result, err = mockVinylDNSProvider.Records(ctx)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, 0, len(result))
|
||||
@ -118,7 +119,7 @@ func testVinylDNSProviderApplyChanges(t *testing.T) {
|
||||
}
|
||||
changes.Delete = []*endpoint.Endpoint{{DNSName: "example.com", Targets: endpoint.Targets{"vinyldns.com"}, RecordType: endpoint.RecordTypeCNAME}}
|
||||
|
||||
mockVinylDNSProvider.zoneFilter = NewZoneIDFilter([]string{"1"})
|
||||
mockVinylDNSProvider.zoneFilter = provider.NewZoneIDFilter([]string{"1"})
|
||||
err := mockVinylDNSProvider.ApplyChanges(context.Background(), changes)
|
||||
if err != nil {
|
||||
t.Errorf("Failed to apply changes: %v", err)
|
||||
@ -126,7 +127,7 @@ func testVinylDNSProviderApplyChanges(t *testing.T) {
|
||||
}
|
||||
|
||||
func testVinylDNSSuitableZone(t *testing.T) {
|
||||
mockVinylDNSProvider.zoneFilter = NewZoneIDFilter([]string{"0"})
|
||||
mockVinylDNSProvider.zoneFilter = provider.NewZoneIDFilter([]string{"0"})
|
||||
|
||||
zone := vinyldnsSuitableZone("example.com", vinylDNSZones)
|
||||
assert.Equal(t, zone.Name, "example.com.")
|
||||
@ -134,11 +135,11 @@ func testVinylDNSSuitableZone(t *testing.T) {
|
||||
|
||||
func TestNewVinylDNSProvider(t *testing.T) {
|
||||
os.Setenv("VINYLDNS_ACCESS_KEY", "xxxxxxxxxxxxxxxxxxxxxxxxxx")
|
||||
_, err := NewVinylDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{"0"}), true)
|
||||
_, err := NewVinylDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{"0"}), true)
|
||||
assert.Nil(t, err)
|
||||
|
||||
os.Unsetenv("VINYLDNS_ACCESS_KEY")
|
||||
_, err = NewVinylDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), NewZoneIDFilter([]string{"0"}), true)
|
||||
_, err = NewVinylDNSProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{"0"}), true)
|
||||
assert.NotNil(t, err)
|
||||
if err == nil {
|
||||
t.Errorf("Expected to fail new provider on empty token")
|
||||
@ -146,7 +147,7 @@ func TestNewVinylDNSProvider(t *testing.T) {
|
||||
}
|
||||
|
||||
func testVinylDNSFindRecordSetID(t *testing.T) {
|
||||
mockVinylDNSProvider.zoneFilter = NewZoneIDFilter([]string{"0"})
|
||||
mockVinylDNSProvider.zoneFilter = provider.NewZoneIDFilter([]string{"0"})
|
||||
result, err := mockVinylDNSProvider.findRecordSetID("0", "example.com.")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, "", result)
|
||||
|
@ -23,12 +23,12 @@ import (
|
||||
)
|
||||
|
||||
func TestZoneIDName(t *testing.T) {
|
||||
z := zoneIDName{}
|
||||
z := ZoneIDName{}
|
||||
z.Add("123456", "foo.bar")
|
||||
z.Add("123456", "qux.baz")
|
||||
z.Add("654321", "foo.qux.baz")
|
||||
|
||||
assert.Equal(t, zoneIDName{
|
||||
assert.Equal(t, ZoneIDName{
|
||||
"123456": "qux.baz",
|
||||
"654321": "foo.qux.baz",
|
||||
}, z)
|
||||
|
@ -26,7 +26,7 @@ import (
|
||||
"sigs.k8s.io/external-dns/endpoint"
|
||||
"sigs.k8s.io/external-dns/internal/testutils"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
"sigs.k8s.io/external-dns/provider/inmemory"
|
||||
)
|
||||
|
||||
var _ Registry = &NoopRegistry{}
|
||||
@ -38,7 +38,7 @@ func TestNoopRegistry(t *testing.T) {
|
||||
}
|
||||
|
||||
func testNoopInit(t *testing.T) {
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
r, err := NewNoopRegistry(p)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, p, r.provider)
|
||||
@ -46,9 +46,9 @@ func testNoopInit(t *testing.T) {
|
||||
|
||||
func testNoopRecords(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
p.CreateZone("org")
|
||||
providerRecords := []*endpoint.Endpoint{
|
||||
inmemoryRecords := []*endpoint.Endpoint{
|
||||
{
|
||||
DNSName: "example.org",
|
||||
Targets: endpoint.Targets{"example-lb.com"},
|
||||
@ -56,21 +56,21 @@ func testNoopRecords(t *testing.T) {
|
||||
},
|
||||
}
|
||||
p.ApplyChanges(ctx, &plan.Changes{
|
||||
Create: providerRecords,
|
||||
Create: inmemoryRecords,
|
||||
})
|
||||
|
||||
r, _ := NewNoopRegistry(p)
|
||||
|
||||
eps, err := r.Records(ctx)
|
||||
require.NoError(t, err)
|
||||
assert.True(t, testutils.SameEndpoints(eps, providerRecords))
|
||||
assert.True(t, testutils.SameEndpoints(eps, inmemoryRecords))
|
||||
}
|
||||
|
||||
func testNoopApplyChanges(t *testing.T) {
|
||||
// do some prep
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
p.CreateZone("org")
|
||||
providerRecords := []*endpoint.Endpoint{
|
||||
inmemoryRecords := []*endpoint.Endpoint{
|
||||
{
|
||||
DNSName: "example.org",
|
||||
Targets: endpoint.Targets{"old-lb.com"},
|
||||
@ -92,7 +92,7 @@ func testNoopApplyChanges(t *testing.T) {
|
||||
|
||||
ctx := context.Background()
|
||||
p.ApplyChanges(ctx, &plan.Changes{
|
||||
Create: providerRecords,
|
||||
Create: inmemoryRecords,
|
||||
})
|
||||
|
||||
// wrong changes
|
||||
@ -106,7 +106,7 @@ func testNoopApplyChanges(t *testing.T) {
|
||||
},
|
||||
},
|
||||
})
|
||||
assert.EqualError(t, err, provider.ErrRecordAlreadyExists.Error())
|
||||
assert.EqualError(t, err, inmemory.ErrRecordAlreadyExists.Error())
|
||||
|
||||
//correct changes
|
||||
require.NoError(t, r.ApplyChanges(ctx, &plan.Changes{
|
||||
|
@ -29,6 +29,7 @@ import (
|
||||
"sigs.k8s.io/external-dns/internal/testutils"
|
||||
"sigs.k8s.io/external-dns/plan"
|
||||
"sigs.k8s.io/external-dns/provider"
|
||||
"sigs.k8s.io/external-dns/provider/inmemory"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -42,7 +43,7 @@ func TestTXTRegistry(t *testing.T) {
|
||||
}
|
||||
|
||||
func testTXTRegistryNew(t *testing.T) {
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
_, err := NewTXTRegistry(p, "txt", "", time.Hour)
|
||||
require.Error(t, err)
|
||||
|
||||
@ -68,7 +69,7 @@ func testTXTRegistryRecords(t *testing.T) {
|
||||
|
||||
func testTXTRegistryRecordsPrefixed(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
p.CreateZone(testZone)
|
||||
p.ApplyChanges(ctx, &plan.Changes{
|
||||
Create: []*endpoint.Endpoint{
|
||||
@ -172,7 +173,7 @@ func testTXTRegistryRecordsPrefixed(t *testing.T) {
|
||||
}
|
||||
|
||||
func testTXTRegistryRecordsNoPrefix(t *testing.T) {
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
ctx := context.Background()
|
||||
p.CreateZone(testZone)
|
||||
p.ApplyChanges(ctx, &plan.Changes{
|
||||
@ -252,7 +253,7 @@ func testTXTRegistryApplyChanges(t *testing.T) {
|
||||
}
|
||||
|
||||
func testTXTRegistryApplyChangesWithPrefix(t *testing.T) {
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
p.CreateZone(testZone)
|
||||
ctxEndpoints := []*endpoint.Endpoint{}
|
||||
ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints)
|
||||
@ -343,7 +344,7 @@ func testTXTRegistryApplyChangesWithPrefix(t *testing.T) {
|
||||
}
|
||||
|
||||
func testTXTRegistryApplyChangesNoPrefix(t *testing.T) {
|
||||
p := provider.NewInMemoryProvider()
|
||||
p := inmemory.NewInMemoryProvider()
|
||||
p.CreateZone(testZone)
|
||||
ctxEndpoints := []*endpoint.Endpoint{}
|
||||
ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints)
|
||||
|
Loading…
Reference in New Issue
Block a user