From 82539e35a35594d8a46470ac4426b96bfd6e32eb Mon Sep 17 00:00:00 2001 From: Raffaele Di Fazio Date: Fri, 8 May 2020 13:54:13 +0200 Subject: [PATCH] makes tests pass Signed-off-by: Raffaele Di Fazio --- provider/akamai/akamai_test.go | 21 +++++----- provider/aws/aws_test.go | 51 +++++++++++++------------ provider/azure/azure_privatedns_test.go | 15 +++++--- provider/azure/azure_test.go | 11 +++--- provider/cloudflare/cloudflare_test.go | 9 +++-- provider/designate/designate_test.go | 3 +- provider/dnsimple/dnsimple_test.go | 3 +- provider/dyn/dyn_test.go | 3 +- provider/google/google_test.go | 34 ++++++++++------- provider/infoblox/infoblox_test.go | 14 +++++-- provider/inmemory/inmemory_test.go | 3 +- provider/ns1/ns1_test.go | 7 ++-- provider/oci/oci_test.go | 23 +++++------ provider/pdns/pdns_test.go | 16 ++++---- provider/provider_test.go | 2 +- provider/recordfilter_test.go | 2 +- provider/rfc2136/rfc2136_test.go | 12 +++++- provider/vinyldns/vinyldns_test.go | 15 ++++---- provider/zonefinder_test.go | 4 +- registry/noop_test.go | 20 +++++----- registry/txt_test.go | 11 +++--- 21 files changed, 159 insertions(+), 120 deletions(-) diff --git a/provider/akamai/akamai_test.go b/provider/akamai/akamai_test.go index bc336e8d6..7d0bd7a5e 100644 --- a/provider/akamai/akamai_test.go +++ b/provider/akamai/akamai_test.go @@ -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")) diff --git a/provider/aws/aws_test.go b/provider/aws/aws_test.go index a81229406..42159a1ef 100644 --- a/provider/aws/aws_test.go +++ b/provider/aws/aws_test.go @@ -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{ diff --git a/provider/azure/azure_privatedns_test.go b/provider/azure/azure_privatedns_test.go index db1b188c1..c5396ef57 100644 --- a/provider/azure/azure_privatedns_test.go +++ b/provider/azure/azure_privatedns_test.go @@ -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, diff --git a/provider/azure/azure_test.go b/provider/azure/azure_test.go index 6c1466009..30a21f2d6 100644 --- a/provider/azure/azure_test.go +++ b/provider/azure/azure_test.go @@ -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", "", diff --git a/provider/cloudflare/cloudflare_test.go b/provider/cloudflare/cloudflare_test.go index ccefba797..c51dd13ee 100644 --- a/provider/cloudflare/cloudflare_test.go +++ b/provider/cloudflare/cloudflare_test.go @@ -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) diff --git a/provider/designate/designate_test.go b/provider/designate/designate_test.go index 943dc4057..290ee295d 100644 --- a/provider/designate/designate_test.go +++ b/provider/designate/designate_test.go @@ -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} } diff --git a/provider/dnsimple/dnsimple_test.go b/provider/dnsimple/dnsimple_test.go index 600c0ad3d..fc31bc862 100644 --- a/provider/dnsimple/dnsimple_test.go +++ b/provider/dnsimple/dnsimple_test.go @@ -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") } diff --git a/provider/dyn/dyn_test.go b/provider/dyn/dyn_test.go index 89bce9174..296052178 100644 --- a/provider/dyn/dyn_test.go +++ b/provider/dyn/dyn_test.go @@ -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"}), }, } diff --git a/provider/google/google_test.go b/provider/google/google_test.go index 2e6c3bea9..7f780359e 100644 --- a/provider/google/google_test.go +++ b/provider/google/google_test.go @@ -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) +} diff --git a/provider/infoblox/infoblox_test.go b/provider/infoblox/infoblox_test.go index 693ee3f53..fa9cb0c28 100644 --- a/provider/infoblox/infoblox_test.go +++ b/provider/infoblox/infoblox_test.go @@ -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) +} diff --git a/provider/inmemory/inmemory_test.go b/provider/inmemory/inmemory_test.go index 74260cbe6..9c2b842e7 100644 --- a/provider/inmemory/inmemory_test.go +++ b/provider/inmemory/inmemory_test.go @@ -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) { diff --git a/provider/ns1/ns1_test.go b/provider/ns1/ns1_test.go index dcd22829c..f4309ec50 100644 --- a/provider/ns1/ns1_test.go +++ b/provider/ns1/ns1_test.go @@ -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() diff --git a/provider/oci/oci_test.go b/provider/oci/oci_test.go index e87f1188e..d0d67b45a 100644 --- a/provider/oci/oci_test.go +++ b/provider/oci/oci_test.go @@ -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, ) diff --git a/provider/pdns/pdns_test.go b/provider/pdns/pdns_test.go index 83b91fce9..cfd0b099b 100644 --- a/provider/pdns/pdns_test.go +++ b/provider/pdns/pdns_test.go @@ -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") diff --git a/provider/provider_test.go b/provider/provider_test.go index 9e3c7c26e..2b10bc79c 100644 --- a/provider/provider_test.go +++ b/provider/provider_test.go @@ -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) diff --git a/provider/recordfilter_test.go b/provider/recordfilter_test.go index e4e1ebbb9..fc8835819 100644 --- a/provider/recordfilter_test.go +++ b/provider/recordfilter_test.go @@ -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) } diff --git a/provider/rfc2136/rfc2136_test.go b/provider/rfc2136/rfc2136_test.go index afa2538e1..87c0725ef 100644 --- a/provider/rfc2136/rfc2136_test.go +++ b/provider/rfc2136/rfc2136_test.go @@ -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 +} diff --git a/provider/vinyldns/vinyldns_test.go b/provider/vinyldns/vinyldns_test.go index 168253544..5388425f2 100644 --- a/provider/vinyldns/vinyldns_test.go +++ b/provider/vinyldns/vinyldns_test.go @@ -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) diff --git a/provider/zonefinder_test.go b/provider/zonefinder_test.go index 58923add4..592ef65fb 100644 --- a/provider/zonefinder_test.go +++ b/provider/zonefinder_test.go @@ -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) diff --git a/registry/noop_test.go b/registry/noop_test.go index 7e7598807..70d7dac58 100644 --- a/registry/noop_test.go +++ b/registry/noop_test.go @@ -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{ diff --git a/registry/txt_test.go b/registry/txt_test.go index 64b31f0f0..734707791 100644 --- a/registry/txt_test.go +++ b/registry/txt_test.go @@ -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)