diff --git a/.golangci.yml b/.golangci.yml index bfea5fb47..cd3c0c87e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -36,6 +36,7 @@ linters: # tests - testifylint # Checks usage of github.com/stretchr/testify. https://golangci-lint.run/docs/linters/configuration/#testifylint + - usetesting # Reports uses of functions with replacement inside the testing package. settings: exhaustive: default-signifies-exhaustive: false @@ -68,6 +69,11 @@ linters: # TODO: enable in follow-up disable: - require-error + usetesting: + # Enable/disable `context.Background()` detections. + context-background: true + # Enable/disable `context.TODO()` detections. + context-todo: true exclusions: generated: lax presets: diff --git a/controller/controller_test.go b/controller/controller_test.go index 65ed95c29..d9a15dc6b 100644 --- a/controller/controller_test.go +++ b/controller/controller_test.go @@ -225,7 +225,7 @@ func TestRunOnce(t *testing.T) { EventEmitter: emitter, } - assert.NoError(t, ctrl.RunOnce(context.Background())) + assert.NoError(t, ctrl.RunOnce(t.Context())) // Validate that the mock source was called. source.AssertExpectations(t) @@ -254,7 +254,7 @@ func TestRun(t *testing.T) { ManagedRecordTypes: cfg.ManagedDNSRecordTypes, } ctrl.nextRunAt = time.Now().Add(-time.Millisecond) - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := context.WithCancel(t.Context()) stopped := make(chan struct{}) go func() { ctrl.Run(ctx) @@ -352,7 +352,7 @@ func testControllerFiltersDomains(t *testing.T, configuredEndpoints []*endpoint. ManagedRecordTypes: cfg.ManagedDNSRecordTypes, } - assert.NoError(t, ctrl.RunOnce(context.Background())) + assert.NoError(t, ctrl.RunOnce(t.Context())) assert.Equal(t, 1, provider.RecordsCallCount) require.Len(t, provider.ApplyChangesCalls, len(expectedChanges)) for i, change := range expectedChanges { @@ -520,7 +520,7 @@ func TestToggleRegistry(t *testing.T) { Interval: interval, } ctrl.nextRunAt = time.Now().Add(-time.Millisecond) - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := context.WithCancel(t.Context()) stopped := make(chan struct{}) go func() { ctrl.Run(ctx) diff --git a/controller/execute_test.go b/controller/execute_test.go index 4d7399fcb..dcfc6e5c4 100644 --- a/controller/execute_test.go +++ b/controller/execute_test.go @@ -31,6 +31,7 @@ import ( log "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/pkg/apis/externaldns" "sigs.k8s.io/external-dns/source" @@ -299,7 +300,7 @@ func TestHelperProcess(_ *testing.T) { func runExecuteSubprocess(t *testing.T, args []string) (int, error) { t.Helper() // make sure the subprocess does not run forever - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + ctx, cancel := context.WithTimeout(t.Context(), 10*time.Second) defer cancel() // TODO: investigate why -test.run=TestHelperProcess @@ -447,7 +448,7 @@ func TestControllerRunCancelContextStopsLoop(t *testing.T) { TXTOwnerID: "test-owner", } sCfg := source.NewSourceConfig(cfg) - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := context.WithCancel(t.Context()) defer cancel() src, err := buildSource(ctx, sCfg) require.NoError(t, err) diff --git a/provider/akamai/akamai_test.go b/provider/akamai/akamai_test.go index 9fbfdd194..0e88dfb84 100644 --- a/provider/akamai/akamai_test.go +++ b/provider/akamai/akamai_test.go @@ -17,7 +17,6 @@ limitations under the License. package akamai import ( - "context" "encoding/json" "testing" @@ -191,7 +190,7 @@ func TestAkamaiRecords(t *testing.T) { endpoints = append(endpoints, endpoint.NewEndpoint("www.example.com", endpoint.RecordTypeTXT, "heritage=external-dns,external-dns/owner=default")) endpoints = append(endpoints, endpoint.NewEndpoint("www.exclude.me", endpoint.RecordTypeA, "192.168.0.1", "192.168.0.2")) - x, _ := c.Records(context.Background()) + x, _ := c.Records(t.Context()) if assert.NotNil(t, x) { assert.Equal(t, endpoints, x) } @@ -207,7 +206,7 @@ func TestAkamaiRecordsEmpty(t *testing.T) { recordsets := make([]any, 0) stub.setOutput("recordset", recordsets) - x, _ := c.Records(context.Background()) + x, _ := c.Records(t.Context()) assert.Nil(t, x) } @@ -233,7 +232,7 @@ func TestAkamaiRecordsFilters(t *testing.T) { endpoints := make([]*endpoint.Endpoint, 0) endpoints = append(endpoints, endpoint.NewEndpoint("www.exclude.me", endpoint.RecordTypeA, "192.168.0.1", "192.168.0.2")) - x, _ := c.Records(context.Background()) + x, _ := c.Records(t.Context()) if assert.NotNil(t, x) { assert.Equal(t, endpoints, x) } @@ -366,6 +365,6 @@ func TestAkamaiApplyChanges(t *testing.T) { changes.Delete = []*endpoint.Endpoint{{DNSName: "delete.example.com", RecordType: "A", Targets: endpoint.Targets{"target"}, RecordTTL: 300}} changes.UpdateOld = []*endpoint.Endpoint{{DNSName: "old.example.com", RecordType: "A", Targets: endpoint.Targets{"target-old"}, RecordTTL: 300}} changes.UpdateNew = []*endpoint.Endpoint{{DNSName: "update.example.com", Targets: endpoint.Targets{"target-new"}, RecordType: "CNAME", RecordTTL: 300}} - apply := c.ApplyChanges(context.Background(), changes) + apply := c.ApplyChanges(t.Context(), changes) assert.NoError(t, apply) } diff --git a/provider/alibabacloud/alibaba_cloud_test.go b/provider/alibabacloud/alibaba_cloud_test.go index 42bf6ccbd..5274a0d3e 100644 --- a/provider/alibabacloud/alibaba_cloud_test.go +++ b/provider/alibabacloud/alibaba_cloud_test.go @@ -17,7 +17,6 @@ limitations under the License. package alibabacloud import ( - "context" "testing" "github.com/aliyun/alibaba-cloud-sdk-go/services/alidns" @@ -235,7 +234,7 @@ func newTestAlibabaCloudProvider(private bool) *AlibabaCloudProvider { func TestAlibabaCloudPrivateProvider_Records(t *testing.T) { p := newTestAlibabaCloudProvider(true) - endpoints, err := p.Records(context.Background()) + endpoints, err := p.Records(t.Context()) if err != nil { t.Errorf("Failed to get records: %v", err) } else { @@ -250,7 +249,7 @@ func TestAlibabaCloudPrivateProvider_Records(t *testing.T) { func TestAlibabaCloudProvider_Records(t *testing.T) { p := newTestAlibabaCloudProvider(false) - endpoints, err := p.Records(context.Background()) + endpoints, err := p.Records(t.Context()) if err != nil { t.Errorf("Failed to get records: %v", err) } else { @@ -298,7 +297,7 @@ func TestAlibabaCloudProvider_ApplyChanges(t *testing.T) { }, }, } - ctx := context.Background() + ctx := t.Context() err := p.ApplyChanges(ctx, &changes) assert.NoError(t, err) endpoints, err := p.Records(ctx) @@ -356,7 +355,7 @@ func TestAlibabaCloudProvider_ApplyChanges_HaveNoDefinedZoneDomain(t *testing.T) }, }, } - ctx := context.Background() + ctx := t.Context() err := p.ApplyChanges(ctx, &changes) assert.NoError(t, err) endpoints, err := p.Records(ctx) @@ -381,7 +380,7 @@ func TestAlibabaCloudProvider_ApplyChanges_HaveNoDefinedZoneDomain(t *testing.T) func TestAlibabaCloudProvider_Records_PrivateZone(t *testing.T) { p := newTestAlibabaCloudProvider(true) - endpoints, err := p.Records(context.Background()) + endpoints, err := p.Records(t.Context()) if err != nil { t.Errorf("Failed to get records: %v", err) } else { @@ -422,7 +421,7 @@ func TestAlibabaCloudProvider_ApplyChanges_PrivateZone(t *testing.T) { }, }, } - ctx := context.Background() + ctx := t.Context() err := p.ApplyChanges(ctx, &changes) assert.NoError(t, err) endpoints, err := p.Records(ctx) diff --git a/provider/aws/aws_fixtures_test.go b/provider/aws/aws_fixtures_test.go index 969577f26..ae27e713b 100644 --- a/provider/aws/aws_fixtures_test.go +++ b/provider/aws/aws_fixtures_test.go @@ -17,7 +17,6 @@ limitations under the License. package aws import ( - "context" "fmt" "strings" "testing" @@ -41,7 +40,7 @@ func TestAWSRecordsV1(t *testing.T) { WithDomainFilters("w2.w1.ex.com", "ex.com"), ) - ctx := context.Background() + ctx := t.Context() z, err := provider.Zones(ctx) assert.NoError(t, err) assert.Len(t, z, 3) @@ -56,7 +55,7 @@ func TestAWSZonesFilterWithTags(t *testing.T) { WithZoneTagFilters([]string{"level=5", "owner=ext-dns"}), ) - ctx := context.Background() + ctx := t.Context() z, err := provider.Zones(ctx) assert.NoError(t, err) assert.Len(t, z, 24) @@ -84,7 +83,7 @@ func TestAWSZonesFiltersWithTags(t *testing.T) { provider := providerFilters(stub, WithZoneTagFilters(tt.filters), ) - z, err := provider.Zones(context.Background()) + z, err := provider.Zones(t.Context()) assert.NoError(t, err) assert.Len(t, z, tt.want) assert.Equal(t, tt.calls, stub.calls["listtagsforresource"]) @@ -99,7 +98,7 @@ func TestAWSZonesSecondRequestHitsTheCache(t *testing.T) { stub := NewRoute53APIFixtureStub(&zones) provider := providerFilters(stub) - ctx := context.Background() + ctx := t.Context() _, err := provider.Zones(ctx) assert.NoError(t, err) hook := logtest.LogsUnderTestWithLogLevel(log.DebugLevel, t) diff --git a/provider/aws/aws_test.go b/provider/aws/aws_test.go index 6719b8707..00b8f0a93 100644 --- a/provider/aws/aws_test.go +++ b/provider/aws/aws_test.go @@ -35,6 +35,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/provider/blueprint" "sigs.k8s.io/external-dns/endpoint" @@ -340,7 +341,7 @@ func TestAWSZones(t *testing.T) { } { t.Run(ti.msg, func(t *testing.T) { provider, _ := newAWSProviderWithTagFilter(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), ti.zoneIDFilter, ti.zoneTypeFilter, ti.zoneTagFilter, defaultEvaluateTargetHealth, false, false, nil) - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) require.NoError(t, err) validateAWSZones(t, zones, ti.expectedZones) }) @@ -365,7 +366,7 @@ func TestAWSZonesWithTagFilterError(t *testing.T) { Name: aws.String("zone-2.ext-dns-test-error-on-list-tags.example.com."), Config: &route53types.HostedZoneConfig{PrivateZone: false}, }) - _, err := provider.Zones(context.Background()) + _, err := provider.Zones(t.Context()) require.Error(t, err) require.ErrorContains(t, err, "failed to list tags for zones") } @@ -649,7 +650,7 @@ func TestAWSRecords(t *testing.T) { }, }) - records, err := provider.Records(context.Background()) + records, err := provider.Records(t.Context()) require.NoError(t, err) validateEndpoints(t, provider, records, []*endpoint.Endpoint{ @@ -697,7 +698,7 @@ func TestAWSRecordsSoftError(t *testing.T) { }) subClient.MockMethod("ListResourceRecordSets", mock.Anything).Return(nil, fmt.Errorf("Mock route53 failure")) - _, err := pvd.Records(context.Background()) + _, err := pvd.Records(t.Context()) require.Error(t, err) require.ErrorIs(t, err, provider.SoftError) } @@ -742,9 +743,9 @@ func TestAWSApplyChanges(t *testing.T) { setup func(p *AWSProvider) context.Context listRRSets int }{ - {"no cache", func(_ *AWSProvider) context.Context { return context.Background() }, 0}, + {"no cache", func(_ *AWSProvider) context.Context { return t.Context() }, 0}, {"cached", func(p *AWSProvider) context.Context { - ctx := context.Background() + ctx := t.Context() records, err := p.Records(ctx) require.NoError(t, err) return context.WithValue(ctx, provider.RecordsContextKey, records) @@ -1459,7 +1460,7 @@ func TestAWSApplyChangesDryRun(t *testing.T) { Delete: deleteRecords, } - ctx := context.Background() + ctx := t.Context() require.NoError(t, provider.ApplyChanges(ctx, changes)) @@ -1614,7 +1615,7 @@ func TestAWSsubmitChanges(t *testing.T) { } } - ctx := context.Background() + ctx := t.Context() zones, _ := provider.zones(ctx) records, _ := provider.Records(ctx) cs := make(Route53Changes, 0, len(endpoints)) @@ -1632,7 +1633,7 @@ func TestAWSsubmitChangesError(t *testing.T) { provider, clientStub := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, false, nil) clientStub.MockMethod("ChangeResourceRecordSets", mock.Anything).Return(nil, fmt.Errorf("Mock route53 failure")) - ctx := context.Background() + ctx := t.Context() zones, err := provider.zones(ctx) require.NoError(t, err) @@ -1645,7 +1646,7 @@ func TestAWSsubmitChangesError(t *testing.T) { func TestAWSsubmitChangesRetryOnError(t *testing.T) { provider, clientStub := newAWSProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.teapot.zalan.do."}), provider.NewZoneIDFilter([]string{}), provider.NewZoneTypeFilter(""), defaultEvaluateTargetHealth, false, false, nil) - ctx := context.Background() + ctx := t.Context() zones, err := provider.zones(ctx) require.NoError(t, err) @@ -2086,7 +2087,7 @@ func TestAWSCreateRecordsWithCNAME(t *testing.T) { adjusted, err := provider.AdjustEndpoints(records) require.NoError(t, err) - require.NoError(t, provider.ApplyChanges(context.Background(), &plan.Changes{ + require.NoError(t, provider.ApplyChanges(t.Context(), &plan.Changes{ Create: adjusted, })) @@ -2147,7 +2148,7 @@ func TestAWSCreateRecordsWithALIAS(t *testing.T) { } adjusted, err := provider.AdjustEndpoints(records) require.NoError(t, err) - require.NoError(t, provider.ApplyChanges(context.Background(), &plan.Changes{ + require.NoError(t, provider.ApplyChanges(t.Context(), &plan.Changes{ Create: adjusted, })) @@ -2305,7 +2306,7 @@ func createAWSZone(t *testing.T, provider *AWSProvider, zone *route53types.Hoste HostedZoneConfig: zone.Config, } - if _, err := provider.clients[defaultAWSProfile].CreateHostedZone(context.Background(), params); err != nil { + if _, err := provider.clients[defaultAWSProfile].CreateHostedZone(t.Context(), params); err != nil { var hzExists *route53types.HostedZoneAlreadyExists require.ErrorAs(t, err, &hzExists) } @@ -2318,7 +2319,7 @@ func setAWSRecords(t *testing.T, provider *AWSProvider, records []route53types.R provider.dryRun = dryRun }() - ctx := context.Background() + ctx := t.Context() endpoints, err := provider.Records(ctx) require.NoError(t, err) @@ -2344,7 +2345,7 @@ func setAWSRecords(t *testing.T, provider *AWSProvider, records []route53types.R } func listAWSRecords(t *testing.T, client Route53API, zone string) []route53types.ResourceRecordSet { - resp, err := client.ListResourceRecordSets(context.Background(), &route53.ListResourceRecordSetsInput{ + resp, err := client.ListResourceRecordSets(t.Context(), &route53.ListResourceRecordSetsInput{ HostedZoneId: aws.String(zone), MaxItems: aws.Int32(route53PageSize), }) diff --git a/provider/aws/config_test.go b/provider/aws/config_test.go index 166800907..f9f008555 100644 --- a/provider/aws/config_test.go +++ b/provider/aws/config_test.go @@ -17,7 +17,6 @@ limitations under the License. package aws import ( - "context" "fmt" "os" "testing" @@ -49,7 +48,7 @@ func Test_newV2Config(t *testing.T) { // when cfg, err := newV2Config(AWSSessionConfig{Profile: "profile2"}) require.NoError(t, err) - creds, err := cfg.Credentials.Retrieve(context.Background()) + creds, err := cfg.Credentials.Retrieve(t.Context()) // then assert.NoError(t, err) @@ -67,7 +66,7 @@ func Test_newV2Config(t *testing.T) { // when cfg, err := newV2Config(AWSSessionConfig{}) require.NoError(t, err) - creds, err := cfg.Credentials.Retrieve(context.Background()) + creds, err := cfg.Credentials.Retrieve(t.Context()) // then assert.NoError(t, err) @@ -149,7 +148,7 @@ func Test_newV2Config(t *testing.T) { } func prepareCredentialsFile(t *testing.T) (*os.File, error) { - credsFile, err := os.CreateTemp("", "aws-*.creds") + credsFile, err := os.CreateTemp(t.TempDir(), "aws-*.creds") require.NoError(t, err) _, err = credsFile.WriteString("[profile1]\naws_access_key_id=AKID1234\naws_secret_access_key=SECRET1\n\n[profile2]\naws_access_key_id=AKID2345\naws_secret_access_key=SECRET2\n") require.NoError(t, err) @@ -203,12 +202,12 @@ func TestCreateV2Configs(t *testing.T) { // then require.Len(t, configs, 2) - creds, err := configs["profile1"].Credentials.Retrieve(context.Background()) + creds, err := configs["profile1"].Credentials.Retrieve(t.Context()) require.NoError(t, err) assert.Equal(t, "AKID1234", creds.AccessKeyID) assert.Equal(t, "SECRET1", creds.SecretAccessKey) - creds, err = configs["profile2"].Credentials.Retrieve(context.Background()) + creds, err = configs["profile2"].Credentials.Retrieve(t.Context()) require.NoError(t, err) assert.Equal(t, "AKID2345", creds.AccessKeyID) assert.Equal(t, "SECRET2", creds.SecretAccessKey) diff --git a/provider/aws/instrumented_config_test.go b/provider/aws/instrumented_config_test.go index 667d0a902..640d9524b 100644 --- a/provider/aws/instrumented_config_test.go +++ b/provider/aws/instrumented_config_test.go @@ -62,7 +62,7 @@ func (mock *MockInitializeHandler) HandleInitialize(ctx context.Context, _ middl } func Test_InitializedTimedOperationMiddleware(t *testing.T) { - testContext := context.Background() + testContext := t.Context() mockInitializeHandler := &MockInitializeHandler{} _, _, err := initializeTimedOperationMiddleware.HandleInitialize(testContext, middleware.InitializeInput{}, mockInitializeHandler) @@ -80,7 +80,7 @@ func (mock *MockDeserializeHandler) HandleDeserialize(_ context.Context, _ middl } func Test_ExtractAWSRequestParameters(t *testing.T) { - testContext := context.Background() + testContext := t.Context() middleware.WithStackValue(testContext, requestMetricsKey{}, requestMetrics{StartTime: time.Now()}) mockDeserializeHandler := &MockDeserializeHandler{} diff --git a/provider/awssd/aws_sd_test.go b/provider/awssd/aws_sd_test.go index 00c38aba6..d7df8dabf 100644 --- a/provider/awssd/aws_sd_test.go +++ b/provider/awssd/aws_sd_test.go @@ -17,7 +17,6 @@ limitations under the License. package awssd import ( - "context" "reflect" "testing" @@ -168,7 +167,7 @@ func TestAWSSDProvider_Records(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") - endpoints, _ := provider.Records(context.Background()) + endpoints, _ := provider.Records(t.Context()) assert.True(t, testutils.SameEndpoints(expectedEndpoints, endpoints), "expected and actual endpoints don't match, expected=%v, actual=%v", expectedEndpoints, endpoints) } @@ -196,7 +195,7 @@ func TestAWSSDProvider_ApplyChanges(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") - ctx := context.Background() + ctx := t.Context() // apply creates err := provider.ApplyChanges(ctx, &plan.Changes{ @@ -206,7 +205,7 @@ func TestAWSSDProvider_ApplyChanges(t *testing.T) { // make sure services were created assert.Len(t, api.services["private"], 3) - existingServices, _ := provider.ListServicesByNamespaceID(context.Background(), namespaces["private"].Id) + existingServices, _ := provider.ListServicesByNamespaceID(t.Context(), namespaces["private"].Id) assert.NotNil(t, existingServices["service1"]) assert.NotNil(t, existingServices["service2"]) assert.NotNil(t, existingServices["service3"]) @@ -215,7 +214,7 @@ func TestAWSSDProvider_ApplyChanges(t *testing.T) { endpoints, _ := provider.Records(ctx) assert.True(t, testutils.SameEndpoints(expectedEndpoints, endpoints), "expected and actual endpoints don't match, expected=%v, actual=%v", expectedEndpoints, endpoints) - ctx = context.Background() + ctx = t.Context() // apply deletes err = provider.ApplyChanges(ctx, &plan.Changes{ Delete: expectedEndpoints, @@ -252,14 +251,14 @@ func TestAWSSDProvider_ApplyChanges_Update(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") - ctx := context.Background() + ctx := t.Context() // apply creates _ = provider.ApplyChanges(ctx, &plan.Changes{ Create: oldEndpoints, }) - ctx = context.Background() + ctx = t.Context() // apply update _ = provider.ApplyChanges(ctx, &plan.Changes{ @@ -313,7 +312,7 @@ func TestAWSSDProvider_ListNamespaces(t *testing.T) { } { provider := newTestAWSSDProvider(api, tc.domainFilter, tc.namespaceTypeFilter, "") - result, err := provider.ListNamespaces(context.Background()) + result, err := provider.ListNamespaces(t.Context()) require.NoError(t, err) expectedMap := make(map[string]*sdtypes.NamespaceSummary) @@ -379,7 +378,7 @@ func TestAWSSDProvider_ListServicesByNamespace(t *testing.T) { } { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") - result, err := provider.ListServicesByNamespaceID(context.Background(), namespaces["private"].Id) + result, err := provider.ListServicesByNamespaceID(t.Context(), namespaces["private"].Id) require.NoError(t, err) assert.Equal(t, tc.expectedServices, result) } @@ -404,7 +403,7 @@ func TestAWSSDProvider_CreateService(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") // A type - _, err := provider.CreateService(context.Background(), aws.String("private"), aws.String("A-srv"), &endpoint.Endpoint{ + _, err := provider.CreateService(t.Context(), aws.String("private"), aws.String("A-srv"), &endpoint.Endpoint{ Labels: map[string]string{ endpoint.AWSSDDescriptionLabel: "A-srv", }, @@ -428,7 +427,7 @@ func TestAWSSDProvider_CreateService(t *testing.T) { } // AAAA type - _, err = provider.CreateService(context.Background(), aws.String("private"), aws.String("AAAA-srv"), &endpoint.Endpoint{ + _, err = provider.CreateService(t.Context(), aws.String("private"), aws.String("AAAA-srv"), &endpoint.Endpoint{ Labels: map[string]string{ endpoint.AWSSDDescriptionLabel: "AAAA-srv", }, @@ -451,7 +450,7 @@ func TestAWSSDProvider_CreateService(t *testing.T) { } // CNAME type - _, err = provider.CreateService(context.Background(), aws.String("private"), aws.String("CNAME-srv"), &endpoint.Endpoint{ + _, err = provider.CreateService(t.Context(), aws.String("private"), aws.String("CNAME-srv"), &endpoint.Endpoint{ Labels: map[string]string{ endpoint.AWSSDDescriptionLabel: "CNAME-srv", }, @@ -474,7 +473,7 @@ func TestAWSSDProvider_CreateService(t *testing.T) { } // ALIAS type - _, err = provider.CreateService(context.Background(), aws.String("private"), aws.String("ALIAS-srv"), &endpoint.Endpoint{ + _, err = provider.CreateService(t.Context(), aws.String("private"), aws.String("ALIAS-srv"), &endpoint.Endpoint{ Labels: map[string]string{ endpoint.AWSSDDescriptionLabel: "ALIAS-srv", }, @@ -516,7 +515,7 @@ func TestAWSSDProvider_CreateServiceDryRun(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") provider.dryRun = true - service, err := provider.CreateService(context.Background(), aws.String("private"), aws.String("A-srv"), &endpoint.Endpoint{ + service, err := provider.CreateService(t.Context(), aws.String("private"), aws.String("A-srv"), &endpoint.Endpoint{ Labels: map[string]string{ endpoint.AWSSDDescriptionLabel: "A-srv", }, @@ -546,7 +545,7 @@ func TestAWSSDProvider_CreateService_LabelNotSet(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "owner-123") - service, err := provider.CreateService(context.Background(), aws.String("private"), aws.String("A-srv"), &endpoint.Endpoint{ + service, err := provider.CreateService(t.Context(), aws.String("private"), aws.String("A-srv"), &endpoint.Endpoint{ Labels: map[string]string{ "wrong-unsupported-label": "A-srv", }, @@ -594,7 +593,7 @@ func TestAWSSDProvider_UpdateService(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") // update service with different TTL - err := provider.UpdateService(context.Background(), services["private"]["srv1"], &endpoint.Endpoint{ + err := provider.UpdateService(t.Context(), services["private"]["srv1"], &endpoint.Endpoint{ RecordType: endpoint.RecordTypeA, RecordTTL: 100, }) @@ -639,7 +638,7 @@ func TestAWSSDProvider_UpdateService_DryRun(t *testing.T) { provider.dryRun = true // update service with different TTL - err := provider.UpdateService(context.Background(), services["private"]["srv1"], &endpoint.Endpoint{ + err := provider.UpdateService(t.Context(), services["private"]["srv1"], &endpoint.Endpoint{ RecordType: endpoint.RecordTypeAAAA, RecordTTL: 100, }) @@ -697,17 +696,17 @@ func TestAWSSDProvider_DeleteService(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "owner-id") // delete first service - err := provider.DeleteService(context.Background(), services["private"]["srv1"]) + err := provider.DeleteService(t.Context(), services["private"]["srv1"]) assert.NoError(t, err) assert.Len(t, api.services["private"], 3) // delete third service - err = provider.DeleteService(context.Background(), services["private"]["srv3"]) + err = provider.DeleteService(t.Context(), services["private"]["srv3"]) assert.NoError(t, err) assert.Len(t, api.services["private"], 2) // delete service with no description - err = provider.DeleteService(context.Background(), services["private"]["srv4"]) + err = provider.DeleteService(t.Context(), services["private"]["srv4"]) assert.NoError(t, err) expected := map[string]*sdtypes.Service{ @@ -758,7 +757,7 @@ func TestAWSSDProvider_DeleteServiceEmptyDescription_Logging(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "owner-id") // delete service - err := provider.DeleteService(context.Background(), services["private"]["srv1"]) + err := provider.DeleteService(t.Context(), services["private"]["srv1"]) assert.NoError(t, err) assert.Len(t, api.services["private"], 1) @@ -794,7 +793,7 @@ func TestAWSSDProvider_DeleteServiceDryRun(t *testing.T) { provider.dryRun = true // delete first service - err := provider.DeleteService(context.Background(), services["private"]["srv1"]) + err := provider.DeleteService(t.Context(), services["private"]["srv1"]) assert.NoError(t, err) assert.Len(t, api.services["private"], 1) } @@ -873,7 +872,7 @@ func TestAWSSDProvider_RegisterInstance(t *testing.T) { expectedInstances := make(map[string]*sdtypes.Instance) // IPv4-based instance - err := provider.RegisterInstance(context.Background(), services["private"]["a-srv"], &endpoint.Endpoint{ + err := provider.RegisterInstance(t.Context(), services["private"]["a-srv"], &endpoint.Endpoint{ RecordType: endpoint.RecordTypeA, DNSName: "service1.private.com.", RecordTTL: 300, @@ -894,7 +893,7 @@ func TestAWSSDProvider_RegisterInstance(t *testing.T) { } // AWS ELB instance (ALIAS) - err = provider.RegisterInstance(context.Background(), services["private"]["alias-srv"], &endpoint.Endpoint{ + err = provider.RegisterInstance(t.Context(), services["private"]["alias-srv"], &endpoint.Endpoint{ RecordType: endpoint.RecordTypeCNAME, DNSName: "service1.private.com.", RecordTTL: 300, @@ -915,7 +914,7 @@ func TestAWSSDProvider_RegisterInstance(t *testing.T) { } // AWS NLB instance (ALIAS) - _ = provider.RegisterInstance(context.Background(), services["private"]["alias-srv"], &endpoint.Endpoint{ + _ = provider.RegisterInstance(t.Context(), services["private"]["alias-srv"], &endpoint.Endpoint{ RecordType: endpoint.RecordTypeCNAME, DNSName: "service1.private.com.", RecordTTL: 300, @@ -929,7 +928,7 @@ func TestAWSSDProvider_RegisterInstance(t *testing.T) { } // CNAME instance - _ = provider.RegisterInstance(context.Background(), services["private"]["cname-srv"], &endpoint.Endpoint{ + _ = provider.RegisterInstance(t.Context(), services["private"]["cname-srv"], &endpoint.Endpoint{ RecordType: endpoint.RecordTypeCNAME, DNSName: "service2.private.com.", RecordTTL: 300, @@ -943,7 +942,7 @@ func TestAWSSDProvider_RegisterInstance(t *testing.T) { } // IPv6-based instance - provider.RegisterInstance(context.Background(), services["private"]["aaaa-srv"], &endpoint.Endpoint{ + provider.RegisterInstance(t.Context(), services["private"]["aaaa-srv"], &endpoint.Endpoint{ RecordType: endpoint.RecordTypeAAAA, DNSName: "service4.private.com.", RecordTTL: 300, @@ -1003,7 +1002,7 @@ func TestAWSSDProvider_DeregisterInstance(t *testing.T) { provider := newTestAWSSDProvider(api, endpoint.NewDomainFilter([]string{}), "", "") - _ = provider.DeregisterInstance(context.Background(), services["private"]["srv1"], endpoint.NewEndpoint("srv1.private.com.", endpoint.RecordTypeA, "1.2.3.4")) + _ = provider.DeregisterInstance(t.Context(), services["private"]["srv1"], endpoint.NewEndpoint("srv1.private.com.", endpoint.RecordTypeA, "1.2.3.4")) assert.Empty(t, instances["srv1"]) } diff --git a/provider/azure/azure_privatedns_test.go b/provider/azure/azure_privatedns_test.go index df37423df..aef2cb833 100644 --- a/provider/azure/azure_privatedns_test.go +++ b/provider/azure/azure_privatedns_test.go @@ -23,6 +23,7 @@ import ( azcoreruntime "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" privatedns "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns" + "sigs.k8s.io/external-dns/provider/blueprint" "sigs.k8s.io/external-dns/endpoint" @@ -263,7 +264,7 @@ func TestAzurePrivateDNSRecord(t *testing.T) { createPrivateMockRecordSetWithNameAndTTL("mail", endpoint.RecordTypeMX, "10 example.com", 4000), }, 3) - actual, err := provider.Records(context.Background()) + actual, err := provider.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -299,7 +300,7 @@ func TestAzurePrivateDNSMultiRecord(t *testing.T) { createPrivateMockRecordSetMultiWithTTL("mail", endpoint.RecordTypeMX, 4000, "10 example.com", "20 backup.example.com"), }, 3) - actual, err := provider.Records(context.Background()) + actual, err := provider.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -426,7 +427,7 @@ func testAzurePrivateDNSApplyChangesInternal(t *testing.T, dryRun bool, client P Delete: deleteRecords, } - if err := provider.ApplyChanges(context.Background(), changes); err != nil { + if err := provider.ApplyChanges(t.Context(), changes); err != nil { t.Fatal(err) } } @@ -449,7 +450,7 @@ func TestAzurePrivateDNSNameFilter(t *testing.T) { createPrivateMockRecordSetWithNameAndTTL("hack", endpoint.RecordTypeCNAME, "hack.azurewebsites.net", 10), }, 3) - ctx := context.Background() + ctx := t.Context() actual, err := provider.Records(ctx) if err != nil { t.Fatal(err) @@ -544,7 +545,7 @@ func testAzurePrivateDNSApplyChangesInternalZoneName(t *testing.T, dryRun bool, Delete: deleteRecords, } - if err := provider.ApplyChanges(context.Background(), changes); err != nil { + if err := provider.ApplyChanges(t.Context(), changes); err != nil { t.Fatal(err) } } diff --git a/provider/azure/azure_test.go b/provider/azure/azure_test.go index 908c89533..4d78bb749 100644 --- a/provider/azure/azure_test.go +++ b/provider/azure/azure_test.go @@ -24,6 +24,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" dns "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns" "github.com/stretchr/testify/assert" + "sigs.k8s.io/external-dns/provider/blueprint" "sigs.k8s.io/external-dns/endpoint" @@ -284,7 +285,7 @@ func TestAzureRecord(t *testing.T) { createMockRecordSetMultiWithTTL("mail", endpoint.RecordTypeMX, 4000, "10 example.com"), }, 3) - ctx := context.Background() + ctx := t.Context() actual, err := provider.Records(ctx) if err != nil { t.Fatal(err) @@ -326,7 +327,7 @@ func TestAzureMultiRecord(t *testing.T) { createMockRecordSetMultiWithTTL("mail", endpoint.RecordTypeMX, 4000, "10 example.com", "20 backup.example.com"), }, 3) - ctx := context.Background() + ctx := t.Context() actual, err := provider.Records(ctx) if err != nil { t.Fatal(err) @@ -471,7 +472,7 @@ func testAzureApplyChangesInternal(t *testing.T, dryRun bool, client RecordSetsC Delete: deleteRecords, } - if err := provider.ApplyChanges(context.Background(), changes); err != nil { + if err := provider.ApplyChanges(t.Context(), changes); err != nil { t.Fatal(err) } } @@ -496,7 +497,7 @@ func TestAzureNameFilter(t *testing.T) { createMockRecordSetWithTTL("hack", endpoint.RecordTypeNS, "ns1.example.com.", 3600), }, 3) - ctx := context.Background() + ctx := t.Context() actual, err := provider.Records(ctx) if err != nil { t.Fatal(err) @@ -600,7 +601,7 @@ func testAzureApplyChangesInternalZoneName(t *testing.T, dryRun bool, client Rec Delete: deleteRecords, } - if err := provider.ApplyChanges(context.Background(), changes); err != nil { + if err := provider.ApplyChanges(t.Context(), changes); err != nil { t.Fatal(err) } } diff --git a/provider/azure/config_test.go b/provider/azure/config_test.go index a501206e3..0f178a24e 100644 --- a/provider/azure/config_test.go +++ b/provider/azure/config_test.go @@ -17,7 +17,6 @@ limitations under the License. package azure import ( - "context" "fmt" "io" "net/http" @@ -166,7 +165,7 @@ func TestCustomHeaderPolicyWithRetries(t *testing.T) { }, ) // Create request and execute - req, err := azruntime.NewRequest(context.Background(), http.MethodGet, "https://example.com") + req, err := azruntime.NewRequest(t.Context(), http.MethodGet, "https://example.com") if err != nil { t.Fatalf("Failed to create request: %v", err) } diff --git a/provider/cached_provider_test.go b/provider/cached_provider_test.go index 9c32b8dc8..71576b87d 100644 --- a/provider/cached_provider_test.go +++ b/provider/cached_provider_test.go @@ -23,6 +23,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/plan" ) @@ -100,7 +101,7 @@ func TestCachedProviderCallsProviderOnFirstCall(t *testing.T) { provider := CachedProvider{ Provider: testProvider, } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) assert.NoError(t, err) require.NotNil(t, endpoints) require.Len(t, endpoints, 1) @@ -117,12 +118,12 @@ func TestCachedProviderUsesCacheWhileValid(t *testing.T) { RefreshDelay: 30 * time.Second, Provider: testProvider, } - _, err := provider.Records(context.Background()) + _, err := provider.Records(t.Context()) require.NoError(t, err) t.Run("With consecutive calls within the caching time frame", func(t *testing.T) { testProvider.records = recordsNotCalled(t) - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) assert.NoError(t, err) require.NotNil(t, endpoints) require.Len(t, endpoints, 1) @@ -135,7 +136,7 @@ func TestCachedProviderUsesCacheWhileValid(t *testing.T) { return []*endpoint.Endpoint{{DNSName: "new.domain.fqdn"}}, nil } provider.lastRead = time.Now().Add(-20 * time.Minute) - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) assert.NoError(t, err) require.NotNil(t, endpoints) require.Len(t, endpoints, 1) @@ -153,7 +154,7 @@ func TestCachedProviderForcesCacheRefreshOnUpdate(t *testing.T) { RefreshDelay: 30 * time.Second, Provider: testProvider, } - _, err := provider.Records(context.Background()) + _, err := provider.Records(t.Context()) require.NoError(t, err) t.Run("When empty changes are applied", func(t *testing.T) { @@ -161,14 +162,14 @@ func TestCachedProviderForcesCacheRefreshOnUpdate(t *testing.T) { testProvider.applyChanges = func(_ context.Context, _ *plan.Changes) error { return nil } - err := provider.ApplyChanges(context.Background(), &plan.Changes{}) + err := provider.ApplyChanges(t.Context(), &plan.Changes{}) assert.NoError(t, err) t.Run("Next call to Records is cached", func(t *testing.T) { testProvider.applyChanges = applyChangesNotCalled(t) testProvider.records = func(_ context.Context) ([]*endpoint.Endpoint, error) { return []*endpoint.Endpoint{{DNSName: "new.domain.fqdn"}}, nil } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) assert.NoError(t, err) require.NotNil(t, endpoints) @@ -183,7 +184,7 @@ func TestCachedProviderForcesCacheRefreshOnUpdate(t *testing.T) { testProvider.applyChanges = func(_ context.Context, _ *plan.Changes) error { return nil } - err := provider.ApplyChanges(context.Background(), &plan.Changes{ + err := provider.ApplyChanges(t.Context(), &plan.Changes{ Create: []*endpoint.Endpoint{ {DNSName: "hello.world"}, }, @@ -194,7 +195,7 @@ func TestCachedProviderForcesCacheRefreshOnUpdate(t *testing.T) { testProvider.records = func(_ context.Context) ([]*endpoint.Endpoint, error) { return []*endpoint.Endpoint{{DNSName: "new.domain.fqdn"}}, nil } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) assert.NoError(t, err) require.NotNil(t, endpoints) diff --git a/provider/civo/civo_test.go b/provider/civo/civo_test.go index d81234637..78d012d77 100644 --- a/provider/civo/civo_test.go +++ b/provider/civo/civo_test.go @@ -16,7 +16,6 @@ limitations under the License. package civo import ( - "context" "fmt" "io" "os" @@ -35,7 +34,7 @@ import ( ) func TestNewCivoProvider(t *testing.T) { - _ = os.Setenv("CIVO_TOKEN", "xxxxxxxxxxxxxxx") + t.Setenv("CIVO_TOKEN", "xxxxxxxxxxxxxxx") _, err := NewCivoProvider(endpoint.NewDomainFilter([]string{"test.civo.com"}), true) require.NoError(t, err) @@ -64,7 +63,7 @@ func TestCivoProviderZones(t *testing.T) { expected, err := client.ListDNSDomains() assert.NoError(t, err) - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) assert.NoError(t, err) // Check if the return is a DNSDomain type @@ -80,7 +79,7 @@ func TestCivoProviderZonesWithError(t *testing.T) { Client: *client, } - _, err := provider.Zones(context.Background()) + _, err := provider.Zones(t.Context()) assert.Error(t, err) } @@ -118,7 +117,7 @@ func TestCivoProviderRecords(t *testing.T) { expected, err := client.ListDNSRecords("12345") assert.NoError(t, err) - records, err := provider.Records(context.Background()) + records, err := provider.Records(t.Context()) assert.NoError(t, err) assert.Equal(t, strings.TrimSuffix(records[0].DNSName, ".example.com"), expected[0].Name) @@ -162,7 +161,7 @@ func TestCivoProviderRecordsWithError(t *testing.T) { _, err := client.ListDNSRecords("12345") assert.NoError(t, err) - endpoint, err := provider.Records(context.Background()) + endpoint, err := provider.Records(t.Context()) assert.Error(t, err) assert.Nil(t, endpoint) @@ -182,7 +181,7 @@ func TestCivoProviderWithoutRecords(t *testing.T) { domainFilter: endpoint.NewDomainFilter([]string{"example.com"}), } - records, err := provider.Records(context.Background()) + records, err := provider.Records(t.Context()) assert.NoError(t, err) assert.Empty(t, records) @@ -650,7 +649,7 @@ func TestCivoApplyChanges(t *testing.T) { changes.Delete = []*endpoint.Endpoint{{DNSName: "foobar.ext-dns-test.example.com", RecordType: endpoint.RecordTypeA, Targets: endpoint.Targets{"target"}}} changes.UpdateOld = []*endpoint.Endpoint{{DNSName: "foobar.ext-dns-test.example.de", RecordType: endpoint.RecordTypeA, Targets: endpoint.Targets{"target-old"}}} changes.UpdateNew = []*endpoint.Endpoint{{DNSName: "foobar.ext-dns-test.foo.com", Targets: endpoint.Targets{"target-new"}, RecordType: endpoint.RecordTypeCNAME, RecordTTL: 100}} - err := provider.ApplyChanges(context.Background(), changes) + err := provider.ApplyChanges(t.Context(), changes) assert.NoError(t, err) } @@ -707,7 +706,7 @@ func TestCivoApplyChangesError(t *testing.T) { for _, tt := range cases { t.Run(tt.Name, func(t *testing.T) { - err := provider.ApplyChanges(context.Background(), tt.changes) + err := provider.ApplyChanges(t.Context(), tt.changes) assert.Equal(t, "invalid Record Type: AAAA", string(err.Error())) }) } diff --git a/provider/coredns/coredns_test.go b/provider/coredns/coredns_test.go index e39a8687c..cb610381b 100644 --- a/provider/coredns/coredns_test.go +++ b/provider/coredns/coredns_test.go @@ -180,7 +180,7 @@ func TestAServiceTranslation(t *testing.T) { client: client, coreDNSPrefix: defaultCoreDNSPrefix, } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) require.NoError(t, err) if len(endpoints) != 1 { t.Fatalf("got unexpected number of endpoints: %d", len(endpoints)) @@ -210,7 +210,7 @@ func TestCNAMEServiceTranslation(t *testing.T) { client: client, coreDNSPrefix: defaultCoreDNSPrefix, } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) require.NoError(t, err) if len(endpoints) != 1 { t.Fatalf("got unexpected number of endpoints: %d", len(endpoints)) @@ -240,7 +240,7 @@ func TestTXTServiceTranslation(t *testing.T) { client: client, coreDNSPrefix: defaultCoreDNSPrefix, } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) require.NoError(t, err) if len(endpoints) != 1 { t.Fatalf("got unexpected number of endpoints: %d", len(endpoints)) @@ -272,7 +272,7 @@ func TestAWithTXTServiceTranslation(t *testing.T) { client: client, coreDNSPrefix: defaultCoreDNSPrefix, } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) require.NoError(t, err) if len(endpoints) != len(expectedTargets) { t.Fatalf("got unexpected number of endpoints: %d", len(endpoints)) @@ -312,7 +312,7 @@ func TestCNAMEWithTXTServiceTranslation(t *testing.T) { client: client, coreDNSPrefix: defaultCoreDNSPrefix, } - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) require.NoError(t, err) if len(endpoints) != len(expectedTargets) { t.Fatalf("got unexpected number of endpoints: %d", len(endpoints)) @@ -352,7 +352,7 @@ func TestCoreDNSApplyChanges(t *testing.T) { endpoint.NewEndpoint("domain2.local", endpoint.RecordTypeCNAME, "site.local"), }, } - err := coredns.ApplyChanges(context.Background(), changes1) + err := coredns.ApplyChanges(t.Context(), changes1) require.NoError(t, err) expectedServices1 := map[string][]*Service{ @@ -369,7 +369,7 @@ func TestCoreDNSApplyChanges(t *testing.T) { endpoint.NewEndpoint("domain1.local", "A", "6.6.6.6"), }, } - records, _ := coredns.Records(context.Background()) + records, _ := coredns.Records(t.Context()) for _, ep := range records { if ep.DNSName == "domain1.local" { changes2.UpdateOld = append(changes2.UpdateOld, ep) @@ -409,7 +409,7 @@ func TestCoreDNSApplyChanges(t *testing.T) { endpoint.NewEndpoint("domain1.local", endpoint.RecordTypeA, "7.7.7.7"), }, } - err = coredns.ApplyChanges(context.Background(), changes4) + err = coredns.ApplyChanges(t.Context(), changes4) require.NoError(t, err) expectedServices4 := map[string][]*Service{ @@ -437,7 +437,7 @@ func TestCoreDNSApplyChanges_DomainDoNotMatch(t *testing.T) { }, } hook := logtest.LogsUnderTestWithLogLevel(log.DebugLevel, t) - err := coredns.ApplyChanges(context.Background(), changes1) + err := coredns.ApplyChanges(t.Context(), changes1) require.NoError(t, err) logtest.TestHelperLogContains("Skipping record \"domain1.local\" due to domain filter", hook, t) @@ -521,7 +521,7 @@ func TestGetServices_Success(t *testing.T) { }, } - result, err := c.GetServices(context.Background(), "/prefix") + result, err := c.GetServices(t.Context(), "/prefix") assert.NoError(t, err) assert.Len(t, result, 1) assert.Equal(t, "example.com", result[0].Host) @@ -553,7 +553,7 @@ func TestGetServices_Duplicate(t *testing.T) { }, }, nil) - result, err := c.GetServices(context.Background(), "/prefix") + result, err := c.GetServices(t.Context(), "/prefix") assert.NoError(t, err) assert.Len(t, result, 1) } @@ -587,7 +587,7 @@ func TestGetServices_Multiple(t *testing.T) { }, }, nil) - result, err := c.GetServices(context.Background(), "/prefix") + result, err := c.GetServices(t.Context(), "/prefix") assert.NoError(t, err) assert.Len(t, result, 2) assert.Equal(t, priority, result[1].Priority) @@ -631,7 +631,7 @@ func TestGetServices_FilterOutOtherServicesOwnerSetButNothingChanged(t *testing. }, }, nil) - result, err := c.GetServices(context.Background(), "/prefix") + result, err := c.GetServices(t.Context(), "/prefix") assert.NoError(t, err) assert.Len(t, result, 3) } @@ -674,7 +674,7 @@ func TestGetServices_FilterOutOtherServicesWithStrictlyOwned(t *testing.T) { }, }, nil) - result, err := c.GetServices(context.Background(), "/prefix") + result, err := c.GetServices(t.Context(), "/prefix") assert.NoError(t, err) assert.Len(t, result, 1) assert.Equal(t, "owner", result[0].Owner) @@ -702,7 +702,7 @@ func TestGetServices_UnmarshalError(t *testing.T) { }, }, nil) - _, err := c.GetServices(context.Background(), "/prefix") + _, err := c.GetServices(t.Context(), "/prefix") assert.Error(t, err) assert.Contains(t, err.Error(), "/prefix/1") } @@ -718,7 +718,7 @@ func TestGetServices_GetError(t *testing.T) { mockKV.On("Get", mock.Anything, "/prefix", mock.AnythingOfType("clientv3.OpOption")). Return(&etcdcv3.GetResponse{}, errors.New("etcd failure")) - _, err := c.GetServices(context.Background(), "/prefix") + _, err := c.GetServices(t.Context(), "/prefix") assert.Error(t, err) assert.EqualError(t, err, "etcd failure") } @@ -754,7 +754,7 @@ func TestDeleteService(t *testing.T) { }, } - err := c.DeleteService(context.Background(), tt.key) + err := c.DeleteService(t.Context(), tt.key) if tt.wantErr { require.Error(t, err) @@ -893,7 +893,7 @@ func TestDeleteServiceWithStrictlyOwned(t *testing.T) { strictlyOwned: true, } - err := c.DeleteService(context.Background(), tt.key) + err := c.DeleteService(t.Context(), tt.key) require.NoError(t, err) mockKV.AssertExpectations(t) @@ -1151,7 +1151,7 @@ func TestSaveService(t *testing.T) { strictlyOwned: tt.strictlyOwned, } - err = c.SaveService(context.Background(), tt.service) + err = c.SaveService(t.Context(), tt.service) if tt.wantErr { assert.Error(t, err) } else { @@ -1316,7 +1316,7 @@ func TestApplyChangesAWithGroupServiceTranslation(t *testing.T) { endpoint.NewEndpoint("domain3.local", endpoint.RecordTypeA, "5.5.5.7").WithProviderSpecific(providerSpecificGroup, "test2"), }, } - coredns.ApplyChanges(context.Background(), changes1) + coredns.ApplyChanges(t.Context(), changes1) expectedServices1 := map[string][]*Service{ "/skydns/local/domain1": {{Host: "5.5.5.5", Group: "test1"}}, @@ -1336,7 +1336,7 @@ func TestRecordsAWithGroupServiceTranslation(t *testing.T) { client: client, coreDNSPrefix: defaultCoreDNSPrefix, } - endpoints, err := coredns.Records(context.Background()) + endpoints, err := coredns.Records(t.Context()) require.NoError(t, err) if prop, ok := endpoints[0].GetProviderSpecificProperty(providerSpecificGroup); !ok { t.Error("go no Group name") @@ -1357,7 +1357,7 @@ func TestRecordsIncludeLabelOwnerWithStrictlyOwned(t *testing.T) { coreDNSPrefix: defaultCoreDNSPrefix, strictlyOwned: true, } - endpoints, err := coredns.Records(context.Background()) + endpoints, err := coredns.Records(t.Context()) require.NoError(t, err) for _, ep := range endpoints { assert.Equal(t, "owner", ep.Labels[endpoint.OwnerLabelKey]) @@ -1376,7 +1376,7 @@ func TestRecordsIncludeOwnerASLabelWithoutStrictlyOwned(t *testing.T) { coreDNSPrefix: defaultCoreDNSPrefix, strictlyOwned: false, } - endpoints, err := coredns.Records(context.Background()) + endpoints, err := coredns.Records(t.Context()) require.NoError(t, err) for _, ep := range endpoints { assert.Empty(t, ep.Labels[endpoint.OwnerLabelKey]) diff --git a/provider/digitalocean/digital_ocean_test.go b/provider/digitalocean/digital_ocean_test.go index 4de5ac048..bbec2a187 100644 --- a/provider/digitalocean/digital_ocean_test.go +++ b/provider/digitalocean/digital_ocean_test.go @@ -297,7 +297,7 @@ func TestDigitalOceanZones(t *testing.T) { domainFilter: endpoint.NewDomainFilter([]string{"com"}), } - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) if err != nil { t.Fatal(err) } @@ -386,7 +386,7 @@ func TestDigitalOceanApplyChanges(t *testing.T) { changes.Delete = []*endpoint.Endpoint{{DNSName: "foobar.ext-dns-test.bar.com", Targets: endpoint.Targets{"target"}}} changes.UpdateOld = []*endpoint.Endpoint{{DNSName: "foobar.ext-dns-test.bar.de", Targets: endpoint.Targets{"target-old"}}} changes.UpdateNew = []*endpoint.Endpoint{{DNSName: "foobar.ext-dns-test.foo.com", Targets: endpoint.Targets{"target-new"}, RecordType: "CNAME", RecordTTL: 100}} - err := provider.ApplyChanges(context.Background(), changes) + err := provider.ApplyChanges(t.Context(), changes) if err != nil { t.Errorf("should not fail, %s", err) } @@ -662,13 +662,13 @@ func TestDigitalOceanProcessDeleteActions(t *testing.T) { } func TestNewDigitalOceanProvider(t *testing.T) { - _ = os.Setenv("DO_TOKEN", "xxxxxxxxxxxxxxxxx") - _, err := NewDigitalOceanProvider(context.Background(), endpoint.NewDomainFilter([]string{"ext-dns-test.zalando.to."}), true, 50) + t.Setenv("DO_TOKEN", "xxxxxxxxxxxxxxxxx") + _, err := NewDigitalOceanProvider(t.Context(), endpoint.NewDomainFilter([]string{"ext-dns-test.zalando.to."}), true, 50) if err != nil { t.Errorf("should not fail, %s", err) } _ = os.Unsetenv("DO_TOKEN") - _, err = NewDigitalOceanProvider(context.Background(), endpoint.NewDomainFilter([]string{"ext-dns-test.zalando.to."}), true, 50) + _, err = NewDigitalOceanProvider(t.Context(), endpoint.NewDomainFilter([]string{"ext-dns-test.zalando.to."}), true, 50) if err == nil { t.Errorf("expected to fail") } @@ -776,7 +776,7 @@ func TestDigitalOceanRecord(t *testing.T) { Client: &mockDigitalOceanClient{}, } - records, err := provider.fetchRecords(context.Background(), "example.com") + records, err := provider.fetchRecords(t.Context(), "example.com") if err != nil { t.Fatal(err) } @@ -791,7 +791,7 @@ func TestDigitalOceanAllRecords(t *testing.T) { provider := &DigitalOceanProvider{ Client: &mockDigitalOceanClient{}, } - ctx := context.Background() + ctx := t.Context() records, err := provider.Records(ctx) if err != nil { diff --git a/provider/dnsimple/dnsimple_test.go b/provider/dnsimple/dnsimple_test.go index 7f4092ee1..2b0313caa 100644 --- a/provider/dnsimple/dnsimple_test.go +++ b/provider/dnsimple/dnsimple_test.go @@ -116,10 +116,10 @@ func TestDnsimpleServices(t *testing.T) { // Setup mock services // Note: AnythingOfType doesn't work with interfaces https://github.com/stretchr/testify/issues/519 mockDNS := &mockDnsimpleZoneServiceInterface{} - mockDNS.On("ListZones", context.Background(), "1", &dnsimple.ZoneListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimpleListZonesResponse, nil) - mockDNS.On("ListZones", context.Background(), "2", &dnsimple.ZoneListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(nil, fmt.Errorf("Account ID not found")) - mockDNS.On("ListRecords", context.Background(), "1", "example.com", &dnsimple.ZoneRecordListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimpleListRecordsResponse, nil) - mockDNS.On("ListRecords", context.Background(), "1", "example-beta.com", &dnsimple.ZoneRecordListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimple.ZoneRecordsResponse{Response: dnsimple.Response{Pagination: &dnsimple.Pagination{}}}, nil) + mockDNS.On("ListZones", t.Context(), "1", &dnsimple.ZoneListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimpleListZonesResponse, nil) + mockDNS.On("ListZones", t.Context(), "2", &dnsimple.ZoneListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(nil, fmt.Errorf("Account ID not found")) + mockDNS.On("ListRecords", t.Context(), "1", "example.com", &dnsimple.ZoneRecordListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimpleListRecordsResponse, nil) + mockDNS.On("ListRecords", t.Context(), "1", "example-beta.com", &dnsimple.ZoneRecordListOptions{ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimple.ZoneRecordsResponse{Response: dnsimple.Response{Pagination: &dnsimple.Pagination{}}}, nil) for _, record := range records { recordName := record.Name @@ -135,10 +135,10 @@ func TestDnsimpleServices(t *testing.T) { Data: []dnsimple.ZoneRecord{record}, } - mockDNS.On("ListRecords", context.Background(), "1", record.ZoneID, &dnsimple.ZoneRecordListOptions{Name: &recordName, ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimpleRecordResponse, nil) - mockDNS.On("CreateRecord", context.Background(), "1", record.ZoneID, simpleRecord).Return(&dnsimple.ZoneRecordResponse{}, nil) - mockDNS.On("DeleteRecord", context.Background(), "1", record.ZoneID, record.ID).Return(&dnsimple.ZoneRecordResponse{}, nil) - mockDNS.On("UpdateRecord", context.Background(), "1", record.ZoneID, record.ID, simpleRecord).Return(&dnsimple.ZoneRecordResponse{}, nil) + mockDNS.On("ListRecords", t.Context(), "1", record.ZoneID, &dnsimple.ZoneRecordListOptions{Name: &recordName, ListOptions: dnsimple.ListOptions{Page: dnsimple.Int(1)}}).Return(&dnsimpleRecordResponse, nil) + mockDNS.On("CreateRecord", t.Context(), "1", record.ZoneID, simpleRecord).Return(&dnsimple.ZoneRecordResponse{}, nil) + mockDNS.On("DeleteRecord", t.Context(), "1", record.ZoneID, record.ID).Return(&dnsimple.ZoneRecordResponse{}, nil) + mockDNS.On("UpdateRecord", t.Context(), "1", record.ZoneID, record.ID, simpleRecord).Return(&dnsimple.ZoneRecordResponse{}, nil) } mockProvider = dnsimpleProvider{client: mockDNS} @@ -153,7 +153,7 @@ func TestDnsimpleServices(t *testing.T) { } func testDnsimpleProviderZones(t *testing.T) { - ctx := context.Background() + ctx := t.Context() mockProvider.accountID = "1" result, err := mockProvider.Zones(ctx) assert.NoError(t, err) @@ -164,7 +164,7 @@ func testDnsimpleProviderZones(t *testing.T) { assert.Error(t, err) mockProvider.accountID = "3" - os.Setenv("DNSIMPLE_ZONES", "example-from-env.com") + t.Setenv("DNSIMPLE_ZONES", "example-from-env.com") result, err = mockProvider.Zones(ctx) assert.NoError(t, err) validateDnsimpleZones(t, result, dnsimpleListZonesFromEnvResponse.Data) @@ -174,7 +174,7 @@ func testDnsimpleProviderZones(t *testing.T) { } func testDnsimpleProviderRecords(t *testing.T) { - ctx := context.Background() + ctx := t.Context() mockProvider.accountID = "1" result, err := mockProvider.Records(ctx) assert.NoError(t, err) @@ -200,7 +200,7 @@ func testDnsimpleProviderApplyChanges(t *testing.T) { } mockProvider.accountID = "1" - err := mockProvider.ApplyChanges(context.Background(), changes) + err := mockProvider.ApplyChanges(t.Context(), changes) if err != nil { t.Errorf("Failed to apply changes: %v", err) } @@ -213,14 +213,14 @@ func testDnsimpleProviderApplyChangesSkipsUnknown(t *testing.T) { } mockProvider.accountID = "1" - err := mockProvider.ApplyChanges(context.Background(), changes) + err := mockProvider.ApplyChanges(t.Context(), changes) if err != nil { t.Errorf("Failed to ignore unknown zones: %v", err) } } func testDnsimpleSuitableZone(t *testing.T) { - ctx := context.Background() + ctx := t.Context() mockProvider.accountID = "1" zones, err := mockProvider.Zones(ctx) require.NoError(t, err) @@ -228,7 +228,7 @@ func testDnsimpleSuitableZone(t *testing.T) { zone := dnsimpleSuitableZone("example-beta.example.com", zones) assert.Equal(t, "example.com", zone.Name) - os.Setenv("DNSIMPLE_ZONES", "environment-example.com,example.environment-example.com") + t.Setenv("DNSIMPLE_ZONES", "environment-example.com,example.environment-example.com") mockProvider.accountID = "3" zones, err = mockProvider.Zones(ctx) require.NoError(t, err) @@ -241,7 +241,7 @@ func testDnsimpleSuitableZone(t *testing.T) { } func TestNewDnsimpleProvider(t *testing.T) { - os.Setenv("DNSIMPLE_OAUTH", "xxxxxxxxxxxxxxxxxxxxxxxxxx") + t.Setenv("DNSIMPLE_OAUTH", "xxxxxxxxxxxxxxxxxxxxxxxxxx") _, err := NewDnsimpleProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true) if err == nil { t.Errorf("Expected to fail new provider on bad token") @@ -253,8 +253,8 @@ func TestNewDnsimpleProvider(t *testing.T) { t.Errorf("Expected to fail new provider on empty token") } - os.Setenv("DNSIMPLE_OAUTH", "xxxxxxxxxxxxxxxxxxxxxxxxxx") - os.Setenv("DNSIMPLE_ACCOUNT_ID", "12345678") + t.Setenv("DNSIMPLE_OAUTH", "xxxxxxxxxxxxxxxxxxxxxxxxxx") + t.Setenv("DNSIMPLE_ACCOUNT_ID", "12345678") providerTypedProvider, err := NewDnsimpleProvider(endpoint.NewDomainFilter([]string{"example.com"}), provider.NewZoneIDFilter([]string{""}), true) dnsimpleTypedProvider := providerTypedProvider.(*dnsimpleProvider) if err != nil { @@ -270,11 +270,11 @@ func testDnsimpleGetRecordID(t *testing.T) { var err error mockProvider.accountID = "1" - result, err = mockProvider.GetRecordID(context.Background(), "example.com", "example") + result, err = mockProvider.GetRecordID(t.Context(), "example.com", "example") assert.NoError(t, err) assert.Equal(t, int64(2), result) - result, err = mockProvider.GetRecordID(context.Background(), "example.com", "example-beta") + result, err = mockProvider.GetRecordID(t.Context(), "example.com", "example-beta") assert.NoError(t, err) assert.Equal(t, int64(1), result) } diff --git a/provider/exoscale/exoscale_test.go b/provider/exoscale/exoscale_test.go index 5de4d36d0..7e99180a7 100644 --- a/provider/exoscale/exoscale_test.go +++ b/provider/exoscale/exoscale_test.go @@ -25,6 +25,7 @@ import ( "github.com/stretchr/testify/assert" log "github.com/sirupsen/logrus" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/plan" @@ -121,7 +122,7 @@ func contains(arr []*endpoint.Endpoint, name string) bool { func TestExoscaleGetRecords(t *testing.T) { provider := NewExoscaleProviderWithClient(NewExoscaleClientStub(), "", "", false) - recs, err := provider.Records(context.Background()) + recs, err := provider.Records(t.Context()) if err == nil { assert.Len(t, recs, 3) assert.True(t, contains(recs, "v1.foo.com")) @@ -190,7 +191,7 @@ func TestExoscaleApplyChanges(t *testing.T) { createExoscale = make([]createRecordExoscale, 0) deleteExoscale = make([]deleteRecordExoscale, 0) - provider.ApplyChanges(context.Background(), plan) + provider.ApplyChanges(t.Context(), plan) assert.Len(t, createExoscale, 1) assert.Equal(t, domainIDs[0], createExoscale[0].domainID) diff --git a/provider/gandi/gandi_test.go b/provider/gandi/gandi_test.go index 1271aa964..bd0cf7d8c 100644 --- a/provider/gandi/gandi_test.go +++ b/provider/gandi/gandi_test.go @@ -14,7 +14,6 @@ limitations under the License. package gandi import ( - "context" "fmt" "os" "testing" @@ -155,14 +154,14 @@ func (m *mockGandiClient) ListDomains() ([]domain.ListResponse, error) { // Tests func TestNewGandiProvider(t *testing.T) { - _ = os.Setenv("GANDI_KEY", "myGandiKey") + t.Setenv("GANDI_KEY", "myGandiKey") provider, err := NewGandiProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) if err != nil { t.Errorf("failed : %s", err) } assert.True(t, provider.DryRun) - _ = os.Setenv("GANDI_PAT", "myGandiPAT") + t.Setenv("GANDI_PAT", "myGandiPAT") provider, err = NewGandiProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) if err != nil { t.Errorf("failed : %s", err) @@ -176,7 +175,7 @@ func TestNewGandiProvider(t *testing.T) { } assert.True(t, provider.DryRun) - _ = os.Setenv("GANDI_SHARING_ID", "aSharingId") + t.Setenv("GANDI_SHARING_ID", "aSharingId") provider, err = NewGandiProvider(endpoint.NewDomainFilter([]string{"example.com"}), false) if err != nil { t.Errorf("failed : %s", err) @@ -222,7 +221,7 @@ func TestGandiProvider_RecordsReturnsCorrectEndpoints(t *testing.T) { LiveDNSClient: mockedClient, } - actualEndpoints, err := mockedProvider.Records(context.Background()) + actualEndpoints, err := mockedProvider.Records(t.Context()) if err != nil { t.Errorf("should not fail, %s", err) } @@ -277,7 +276,7 @@ func TestGandiProvider_RecordsOnFilteredDomainsShouldYieldNoEndpoints(t *testing domainFilter: endpoint.NewDomainFilterWithExclusions([]string{}, []string{"example.com"}), } - endpoints, _ := mockedProvider.Records(context.Background()) + endpoints, _ := mockedProvider.Records(t.Context()) assert.Empty(t, endpoints) } @@ -299,7 +298,7 @@ func TestGandiProvider_RecordsWithUnsupportedTypesAreNotReturned(t *testing.T) { LiveDNSClient: mockedClient, } - endpoints, _ := mockedProvider.Records(context.Background()) + endpoints, _ := mockedProvider.Records(t.Context()) assert.Empty(t, endpoints) } @@ -341,7 +340,7 @@ func TestGandiProvider_ApplyChangesMakesExpectedAPICalls(t *testing.T) { }, } - err := mockedProvider.ApplyChanges(context.Background(), changes) + err := mockedProvider.ApplyChanges(t.Context(), changes) if err != nil { t.Errorf("should not fail, %s", err) } @@ -404,7 +403,7 @@ func TestGandiProvider_ApplyChangesRespectsDryRun(t *testing.T) { changes.UpdateNew = []*endpoint.Endpoint{{DNSName: "test3.example.com", Targets: endpoint.Targets{"192.168.0.2"}, RecordType: "A", RecordTTL: 777}} changes.Delete = []*endpoint.Endpoint{{DNSName: "test4.example.com", Targets: endpoint.Targets{"192.168.0.3"}, RecordType: "A"}} - mockedProvider.ApplyChanges(context.Background(), changes) + mockedProvider.ApplyChanges(t.Context(), changes) td.Cmp(t, mockedClient.Actions, []MockAction{ { @@ -421,7 +420,7 @@ func TestGandiProvider_ApplyChangesWithEmptyResultDoesNothing(t *testing.T) { LiveDNSClient: mockedClient, } - mockedProvider.ApplyChanges(context.Background(), changes) + mockedProvider.ApplyChanges(t.Context(), changes) assert.Empty(t, mockedClient.Actions) } @@ -443,7 +442,7 @@ func TestGandiProvider_ApplyChangesWithUnknownDomainDoesNoUpdate(t *testing.T) { }, } - mockedProvider.ApplyChanges(context.Background(), changes) + mockedProvider.ApplyChanges(t.Context(), changes) td.Cmp(t, mockedClient.Actions, []MockAction{ { @@ -470,7 +469,7 @@ func TestGandiProvider_ApplyChangesConvertsApexDomain(t *testing.T) { }, } - err := mockedProvider.ApplyChanges(context.Background(), changes) + err := mockedProvider.ApplyChanges(t.Context(), changes) if err != nil { t.Errorf("should not fail, %s", err) } @@ -507,7 +506,7 @@ func TestGandiProvider_FailingCases(t *testing.T) { LiveDNSClient: mockedClient, } - _, err := mockedProvider.Records(context.Background()) + _, err := mockedProvider.Records(t.Context()) if err == nil { t.Error("should have failed") } @@ -521,7 +520,7 @@ func TestGandiProvider_FailingCases(t *testing.T) { LiveDNSClient: mockedClient, } - _, err = mockedProvider.Records(context.Background()) + _, err = mockedProvider.Records(t.Context()) if err == nil { t.Error("should have failed") } @@ -535,7 +534,7 @@ func TestGandiProvider_FailingCases(t *testing.T) { LiveDNSClient: mockedClient, } - err = mockedProvider.ApplyChanges(context.Background(), changes) + err = mockedProvider.ApplyChanges(t.Context(), changes) if err == nil { t.Error("should have failed") } @@ -549,7 +548,7 @@ func TestGandiProvider_FailingCases(t *testing.T) { LiveDNSClient: mockedClient, } - err = mockedProvider.ApplyChanges(context.Background(), changes) + err = mockedProvider.ApplyChanges(t.Context(), changes) if err == nil { t.Error("should have failed") } @@ -563,7 +562,7 @@ func TestGandiProvider_FailingCases(t *testing.T) { LiveDNSClient: mockedClient, } - err = mockedProvider.ApplyChanges(context.Background(), changes) + err = mockedProvider.ApplyChanges(t.Context(), changes) if err == nil { t.Error("should have failed") } @@ -577,7 +576,7 @@ func TestGandiProvider_FailingCases(t *testing.T) { LiveDNSClient: mockedClient, } - err = mockedProvider.ApplyChanges(context.Background(), changes) + err = mockedProvider.ApplyChanges(t.Context(), changes) if err == nil { t.Error("should have failed") } diff --git a/provider/godaddy/godaddy_test.go b/provider/godaddy/godaddy_test.go index 2e6b8ac72..8bfb0ef17 100644 --- a/provider/godaddy/godaddy_test.go +++ b/provider/godaddy/godaddy_test.go @@ -17,7 +17,6 @@ limitations under the License. package godaddy import ( - "context" "encoding/json" "errors" "sort" @@ -161,7 +160,7 @@ func TestGoDaddyZoneRecords(t *testing.T) { }, }, nil).Once() - zones, records, err := provider.zonesRecords(context.TODO(), true) + zones, records, err := provider.zonesRecords(t.Context(), true) assert.NoError(err) @@ -193,7 +192,7 @@ func TestGoDaddyZoneRecords(t *testing.T) { // Error on getting zones list client.On("Get", domainsURI).Return(nil, ErrAPIDown).Once() - zones, records, err = provider.zonesRecords(context.TODO(), false) + zones, records, err = provider.zonesRecords(t.Context(), false) assert.Error(err) assert.Nil(zones) assert.Nil(records) @@ -208,7 +207,7 @@ func TestGoDaddyZoneRecords(t *testing.T) { client.On("Get", "/v1/domains/example.net/records").Return(nil, ErrAPIDown).Once() - zones, records, err = provider.zonesRecords(context.TODO(), false) + zones, records, err = provider.zonesRecords(t.Context(), false) assert.Error(err) assert.Nil(zones) @@ -224,7 +223,7 @@ func TestGoDaddyZoneRecords(t *testing.T) { client.On("Get", "/v1/domains/example.net/records").Return(nil, ErrAPIDown).Once() - zones, records, err = provider.zonesRecords(context.TODO(), false) + zones, records, err = provider.zonesRecords(t.Context(), false) assert.Error(err) assert.Nil(zones) assert.Nil(records) @@ -278,7 +277,7 @@ func TestGoDaddyRecords(t *testing.T) { }, }, nil).Once() - endpoints, err := provider.Records(context.TODO()) + endpoints, err := provider.Records(t.Context()) assert.NoError(err) // Little fix for multi targets endpoint @@ -321,7 +320,7 @@ func TestGoDaddyRecords(t *testing.T) { // Error getting zone client.On("Get", domainsURI).Return(nil, ErrAPIDown).Once() - endpoints, err = provider.Records(context.TODO()) + endpoints, err = provider.Records(t.Context()) assert.Error(err) assert.Nil(endpoints) client.AssertExpectations(t) @@ -386,7 +385,7 @@ func TestGoDaddyChange(t *testing.T) { // Delete entry client.On("Delete", "/v1/domains/example.net/records/A/godaddy").Return(nil, nil).Once() - assert.NoError(provider.ApplyChanges(context.TODO(), &changes)) + assert.NoError(provider.ApplyChanges(t.Context(), &changes)) client.AssertExpectations(t) } @@ -454,7 +453,7 @@ func TestGoDaddyErrorResponse(t *testing.T) { }}, }, errors.New(operationFailedTestReason)).Once() - assert.Error(provider.ApplyChanges(context.TODO(), &changes)) + assert.Error(provider.ApplyChanges(t.Context(), &changes)) client.AssertExpectations(t) } diff --git a/provider/google/google_test.go b/provider/google/google_test.go index 6802f6789..48a0536c8 100644 --- a/provider/google/google_test.go +++ b/provider/google/google_test.go @@ -210,7 +210,7 @@ func hasTrailingDot(target string) bool { func TestGoogleZonesIDFilter(t *testing.T) { provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), provider.NewZoneIDFilter([]string{"10002"}), provider.NewZoneTypeFilter(""), []*endpoint.Endpoint{}) - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) require.NoError(t, err) validateZones(t, zones, map[string]*dns.ManagedZone{ @@ -221,7 +221,7 @@ func TestGoogleZonesIDFilter(t *testing.T) { func TestGoogleZonesNameFilter(t *testing.T) { provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), provider.NewZoneIDFilter([]string{"internal-2"}), provider.NewZoneTypeFilter(""), []*endpoint.Endpoint{}) - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) require.NoError(t, err) validateZones(t, zones, map[string]*dns.ManagedZone{ @@ -232,7 +232,7 @@ func TestGoogleZonesNameFilter(t *testing.T) { func TestGoogleZonesVisibilityFilterPublic(t *testing.T) { provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), provider.NewZoneIDFilter([]string{"split-horizon-1"}), provider.NewZoneTypeFilter("public"), []*endpoint.Endpoint{}) - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) require.NoError(t, err) validateZones(t, zones, map[string]*dns.ManagedZone{ @@ -243,7 +243,7 @@ func TestGoogleZonesVisibilityFilterPublic(t *testing.T) { func TestGoogleZonesVisibilityFilterPrivate(t *testing.T) { provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"cluster.local."}), provider.NewZoneIDFilter([]string{"split-horizon-1"}), provider.NewZoneTypeFilter("public"), []*endpoint.Endpoint{}) - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) require.NoError(t, err) validateZones(t, zones, map[string]*dns.ManagedZone{ @@ -254,7 +254,7 @@ func TestGoogleZonesVisibilityFilterPrivate(t *testing.T) { func TestGoogleZonesVisibilityFilterPrivatePeering(t *testing.T) { provider := newGoogleProviderZoneOverlap(t, endpoint.NewDomainFilter([]string{"svc.local."}), provider.NewZoneIDFilter([]string{""}), provider.NewZoneTypeFilter("private"), []*endpoint.Endpoint{}) - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) require.NoError(t, err) validateZones(t, zones, map[string]*dns.ManagedZone{ @@ -271,7 +271,7 @@ func TestGoogleRecords(t *testing.T) { provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, originalEndpoints, nil, nil) - records, err := provider.Records(context.Background()) + records, err := provider.Records(t.Context()) require.NoError(t, err) validateEndpoints(t, records, originalEndpoints) @@ -314,11 +314,11 @@ func TestGoogleRecordsFilter(t *testing.T) { endpoint.NewEndpoint("filter-delete-test.zone-3.ext-dns-test-2.gcp.zalan.do", endpoint.RecordTypeA, "4.2.2.2"), } - require.NoError(t, provider.ApplyChanges(context.Background(), &plan.Changes{ + require.NoError(t, provider.ApplyChanges(t.Context(), &plan.Changes{ Create: ignoredEndpoints, })) - records, err := provider.Records(context.Background()) + records, err := provider.Records(t.Context()) require.NoError(t, err) // assert that due to filtering no changes were made. @@ -387,9 +387,9 @@ func TestGoogleApplyChanges(t *testing.T) { Delete: deleteRecords, } - require.NoError(t, provider.ApplyChanges(context.Background(), changes)) + require.NoError(t, provider.ApplyChanges(t.Context(), changes)) - records, err := provider.Records(context.Background()) + records, err := provider.Records(t.Context()) require.NoError(t, err) validateEndpoints(t, records, []*endpoint.Endpoint{ @@ -444,7 +444,7 @@ func TestGoogleApplyChangesDryRun(t *testing.T) { Delete: deleteRecords, } - ctx := context.Background() + ctx := t.Context() require.NoError(t, provider.ApplyChanges(ctx, changes)) records, err := provider.Records(ctx) @@ -455,7 +455,7 @@ func TestGoogleApplyChangesDryRun(t *testing.T) { func TestGoogleApplyChangesEmpty(t *testing.T) { provider := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{""}), false, []*endpoint.Endpoint{}, nil, nil) - assert.NoError(t, provider.ApplyChanges(context.Background(), &plan.Changes{})) + assert.NoError(t, provider.ApplyChanges(t.Context(), &plan.Changes{})) } func TestNewFilteredRecords(t *testing.T) { @@ -615,7 +615,7 @@ func TestGoogleBatchChangeSetExceedingNameChange(t *testing.T) { func TestSoftErrListZonesConflict(t *testing.T) { p := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{}), false, []*endpoint.Endpoint{}, provider.NewSoftErrorf("failed to list zones"), nil) - zones, err := p.Zones(context.Background()) + zones, err := p.Zones(t.Context()) require.Error(t, err) require.ErrorIs(t, err, provider.SoftError) @@ -625,7 +625,7 @@ func TestSoftErrListZonesConflict(t *testing.T) { func TestSoftErrListRecordsConflict(t *testing.T) { p := newGoogleProvider(t, endpoint.NewDomainFilter([]string{"ext-dns-test-2.gcp.zalan.do."}), provider.NewZoneIDFilter([]string{}), false, []*endpoint.Endpoint{}, nil, provider.NewSoftErrorf("failed to list records in zone")) - records, err := p.Records(context.Background()) + records, err := p.Records(t.Context()) require.Error(t, err) require.ErrorIs(t, err, provider.SoftError) @@ -800,12 +800,12 @@ func setupGoogleRecords(t *testing.T, provider *GoogleProvider, endpoints []*end clearGoogleRecords(t, provider, "zone-2-ext-dns-test-2-gcp-zalan-do") clearGoogleRecords(t, provider, "zone-3-ext-dns-test-2-gcp-zalan-do") - ctx := context.Background() + ctx := t.Context() records, _ := provider.Records(ctx) validateEndpoints(t, records, []*endpoint.Endpoint{}) - require.NoError(t, provider.ApplyChanges(context.Background(), &plan.Changes{ + require.NoError(t, provider.ApplyChanges(t.Context(), &plan.Changes{ Create: endpoints, })) @@ -817,7 +817,7 @@ func setupGoogleRecords(t *testing.T, provider *GoogleProvider, endpoints []*end func clearGoogleRecords(t *testing.T, provider *GoogleProvider, zone string) { recordSets := []*dns.ResourceRecordSet{} - provider.resourceRecordSetsClient.List(provider.project, zone).Pages(context.Background(), func(resp *dns.ResourceRecordSetsListResponse) error { + provider.resourceRecordSetsClient.List(provider.project, zone).Pages(t.Context(), func(resp *dns.ResourceRecordSetsListResponse) error { for _, r := range resp.Rrsets { switch r.Type { case endpoint.RecordTypeA, endpoint.RecordTypeCNAME: diff --git a/provider/inmemory/inmemory_test.go b/provider/inmemory/inmemory_test.go index df648205a..e853211f2 100644 --- a/provider/inmemory/inmemory_test.go +++ b/provider/inmemory/inmemory_test.go @@ -17,11 +17,11 @@ limitations under the License. package inmemory import ( - "context" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/internal/testutils" "sigs.k8s.io/external-dns/plan" @@ -99,7 +99,7 @@ func testInMemoryRecords(t *testing.T) { im.client = c f := filter{domain: ti.zone} im.filter = &f - records, err := im.Records(context.Background()) + records, err := im.Records(t.Context()) if ti.expectError { assert.Nil(t, records) assert.EqualError(t, err, ErrZoneNotFound.Error()) @@ -549,7 +549,7 @@ func testInMemoryApplyChanges(t *testing.T) { c.zones = getInitData() im.client = c - err := im.ApplyChanges(context.Background(), ti.changes) + err := im.ApplyChanges(t.Context(), ti.changes) if ti.expectError { assert.Error(t, err) } else { diff --git a/provider/linode/linode_test.go b/provider/linode/linode_test.go index 347ac7911..fb6fef5b0 100644 --- a/provider/linode/linode_test.go +++ b/provider/linode/linode_test.go @@ -144,7 +144,7 @@ func TestLinodeConvertRecordType(t *testing.T) { } func TestNewLinodeProvider(t *testing.T) { - _ = os.Setenv("LINODE_TOKEN", "xxxxxxxxxxxxxxxxx") + t.Setenv("LINODE_TOKEN", "xxxxxxxxxxxxxxxxx") _, err := NewLinodeProvider(endpoint.NewDomainFilter([]string{"ext-dns-test.zalando.to."}), true) require.NoError(t, err) @@ -183,7 +183,7 @@ func TestLinodeFetchZonesNoFilters(t *testing.T) { ).Return(createZones(), nil).Once() expected := createZones() - actual, err := provider.fetchZones(context.Background()) + actual, err := provider.fetchZones(t.Context()) require.NoError(t, err) mockDomainClient.AssertExpectations(t) @@ -209,7 +209,7 @@ func TestLinodeFetchZonesWithFilter(t *testing.T) { {ID: 1, Domain: "foo.com"}, {ID: 3, Domain: "baz.com"}, } - actual, err := provider.fetchZones(context.Background()) + actual, err := provider.fetchZones(t.Context()) require.NoError(t, err) mockDomainClient.AssertExpectations(t) @@ -264,7 +264,7 @@ func TestLinodeRecords(t *testing.T) { mock.Anything, ).Return(createBazRecords(), nil).Once() - actual, err := provider.Records(context.Background()) + actual, err := provider.Records(t.Context()) require.NoError(t, err) expected := []*endpoint.Endpoint{ @@ -361,7 +361,7 @@ func TestLinodeApplyChanges(t *testing.T) { }, ).Return(&linodego.DomainRecord{}, nil).Once() - err := provider.ApplyChanges(context.Background(), &plan.Changes{ + err := provider.ApplyChanges(t.Context(), &plan.Changes{ Create: []*endpoint.Endpoint{{ DNSName: "create.bar.io", RecordType: "A", @@ -441,7 +441,7 @@ func TestLinodeApplyChangesTargetAdded(t *testing.T) { }, ).Return(&linodego.DomainRecord{}, nil).Once() - err := provider.ApplyChanges(context.Background(), &plan.Changes{ + err := provider.ApplyChanges(t.Context(), &plan.Changes{ // From 1 target to 2 UpdateNew: []*endpoint.Endpoint{{ DNSName: "example.com", @@ -497,7 +497,7 @@ func TestLinodeApplyChangesTargetRemoved(t *testing.T) { 11, ).Return(nil).Once() - err := provider.ApplyChanges(context.Background(), &plan.Changes{ + err := provider.ApplyChanges(t.Context(), &plan.Changes{ // From 2 targets to 1 UpdateNew: []*endpoint.Endpoint{{ DNSName: "example.com", @@ -534,7 +534,7 @@ func TestLinodeApplyChangesNoChanges(t *testing.T) { mock.Anything, ).Return([]linodego.DomainRecord{{ID: 11, Name: "", Type: "A", Target: "targetA"}}, nil).Once() - err := provider.ApplyChanges(context.Background(), &plan.Changes{}) + err := provider.ApplyChanges(t.Context(), &plan.Changes{}) require.NoError(t, err) mockDomainClient.AssertExpectations(t) diff --git a/provider/ns1/ns1_test.go b/provider/ns1/ns1_test.go index afd40f65c..43de4f470 100644 --- a/provider/ns1/ns1_test.go +++ b/provider/ns1/ns1_test.go @@ -17,7 +17,6 @@ limitations under the License. package ns1 import ( - "context" "fmt" "net/http" "os" @@ -134,7 +133,7 @@ func TestNS1Records(t *testing.T) { zoneIDFilter: provider.NewZoneIDFilter([]string{""}), minTTLSeconds: 3600, } - ctx := context.Background() + ctx := t.Context() records, err := provider.Records(ctx) require.NoError(t, err) @@ -150,7 +149,7 @@ func TestNS1Records(t *testing.T) { } func TestNewNS1Provider(t *testing.T) { - _ = os.Setenv("NS1_APIKEY", "xxxxxxxxxxxxxxxxx") + t.Setenv("NS1_APIKEY", "xxxxxxxxxxxxxxxxx") testNS1Config := NS1Config{ DomainFilter: endpoint.NewDomainFilter([]string{"foo.com."}), ZoneIDFilter: provider.NewZoneIDFilter([]string{""}), @@ -235,14 +234,14 @@ func TestNS1ApplyChanges(t *testing.T) { } changes.Delete = []*endpoint.Endpoint{{DNSName: "test.foo.com", Targets: endpoint.Targets{"target"}}} changes.UpdateNew = []*endpoint.Endpoint{{DNSName: "test.foo.com", Targets: endpoint.Targets{"target-new"}}} - err := provider.ApplyChanges(context.Background(), changes) + err := provider.ApplyChanges(t.Context(), changes) require.NoError(t, err) // empty changes changes.Create = []*endpoint.Endpoint{} changes.Delete = []*endpoint.Endpoint{} changes.UpdateNew = []*endpoint.Endpoint{} - err = provider.ApplyChanges(context.Background(), changes) + err = provider.ApplyChanges(t.Context(), changes) require.NoError(t, err) } diff --git a/provider/oci/oci_test.go b/provider/oci/oci_test.go index 07a97f77e..b62de6bbb 100644 --- a/provider/oci/oci_test.go +++ b/provider/oci/oci_test.go @@ -312,7 +312,7 @@ func TestOCIZones(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { provider := newOCIProvider(&mockOCIDNSClient{}, tc.domainFilter, tc.zoneIDFilter, tc.zoneScope, false) - zones, err := provider.zones(context.Background()) + zones, err := provider.zones(t.Context()) require.NoError(t, err) validateOCIZones(t, zones, tc.expected) }) @@ -357,7 +357,7 @@ func TestOCIRecords(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { provider := newOCIProvider(&mockOCIDNSClient{}, tc.domainFilter, tc.zoneIDFilter, "", false) - endpoints, err := provider.Records(context.Background()) + endpoints, err := provider.Records(t.Context()) require.NoError(t, err) require.ElementsMatch(t, tc.expected, endpoints) }) @@ -650,13 +650,13 @@ func TestMutableMockOCIDNSClient(t *testing.T) { client := newMutableMockOCIDNSClient(zones, records) // First ListZones. - zonesResponse, err := client.ListZones(context.Background(), dns.ListZonesRequest{}) + zonesResponse, err := client.ListZones(t.Context(), dns.ListZonesRequest{}) require.NoError(t, err) require.Len(t, zonesResponse.Items, 1) require.Equal(t, zonesResponse.Items, zones) // GetZoneRecords for that zone. - recordsResponse, err := client.GetZoneRecords(context.Background(), dns.GetZoneRecordsRequest{ + recordsResponse, err := client.GetZoneRecords(t.Context(), dns.GetZoneRecordsRequest{ ZoneNameOrId: zones[0].Id, }) require.NoError(t, err) @@ -664,7 +664,7 @@ func TestMutableMockOCIDNSClient(t *testing.T) { require.ElementsMatch(t, recordsResponse.Items, records["ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"]) // Remove the A record. - _, err = client.PatchZoneRecords(context.Background(), dns.PatchZoneRecordsRequest{ + _, err = client.PatchZoneRecords(t.Context(), dns.PatchZoneRecordsRequest{ ZoneNameOrId: common.String("ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"), PatchZoneRecordsDetails: dns.PatchZoneRecordsDetails{ Items: []dns.RecordOperation{{ @@ -679,7 +679,7 @@ func TestMutableMockOCIDNSClient(t *testing.T) { require.NoError(t, err) // GetZoneRecords again and check the A record was removed. - recordsResponse, err = client.GetZoneRecords(context.Background(), dns.GetZoneRecordsRequest{ + recordsResponse, err = client.GetZoneRecords(t.Context(), dns.GetZoneRecordsRequest{ ZoneNameOrId: zones[0].Id, }) require.NoError(t, err) @@ -687,7 +687,7 @@ func TestMutableMockOCIDNSClient(t *testing.T) { require.Equal(t, recordsResponse.Items[0], records["ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"][1]) // Add the A record back. - _, err = client.PatchZoneRecords(context.Background(), dns.PatchZoneRecordsRequest{ + _, err = client.PatchZoneRecords(t.Context(), dns.PatchZoneRecordsRequest{ ZoneNameOrId: common.String("ocid1.dns-zone.oc1..e1e042ef0bfbb5c251b9713fd7bf8959"), PatchZoneRecordsDetails: dns.PatchZoneRecordsDetails{ Items: []dns.RecordOperation{{ @@ -702,7 +702,7 @@ func TestMutableMockOCIDNSClient(t *testing.T) { require.NoError(t, err) // GetZoneRecords and check we're back in the original state - recordsResponse, err = client.GetZoneRecords(context.Background(), dns.GetZoneRecordsRequest{ + recordsResponse, err = client.GetZoneRecords(t.Context(), dns.GetZoneRecordsRequest{ ZoneNameOrId: zones[0].Id, }) require.NoError(t, err) @@ -1037,7 +1037,7 @@ func TestOCIApplyChanges(t *testing.T) { tc.dryRun, ) - ctx := context.Background() + ctx := t.Context() err := provider.ApplyChanges(ctx, tc.changes) require.Equal(t, tc.err, err) endpoints, err := provider.Records(ctx) diff --git a/provider/pihole/clientV6_test.go b/provider/pihole/clientV6_test.go index 66cdcd1fb..ff48e48e1 100644 --- a/provider/pihole/clientV6_test.go +++ b/provider/pihole/clientV6_test.go @@ -17,7 +17,6 @@ limitations under the License. package pihole import ( - "context" "encoding/json" "errors" "fmt" @@ -280,7 +279,7 @@ func TestListRecordsV6(t *testing.T) { }, } // Test retrieve A records unfiltered - arecs, err := cl.listRecords(context.Background(), endpoint.RecordTypeA) + arecs, err := cl.listRecords(t.Context(), endpoint.RecordTypeA) if err != nil { t.Fatal(err) } @@ -322,7 +321,7 @@ func TestListRecordsV6(t *testing.T) { } // Test retrieve AAAA records unfiltered - arecs, err = cl.listRecords(context.Background(), endpoint.RecordTypeAAAA) + arecs, err = cl.listRecords(t.Context(), endpoint.RecordTypeAAAA) if err != nil { t.Fatal(err) } @@ -362,7 +361,7 @@ func TestListRecordsV6(t *testing.T) { } // Test retrieve CNAME records unfiltered - cnamerecs, err := cl.listRecords(context.Background(), endpoint.RecordTypeCNAME) + cnamerecs, err := cl.listRecords(t.Context(), endpoint.RecordTypeCNAME) if err != nil { t.Fatal(err) } @@ -386,7 +385,7 @@ func TestListRecordsV6(t *testing.T) { // and cnameRecords have their own element // unsupported type - _, err = cl.listRecords(context.Background(), endpoint.RecordTypeNAPTR) + _, err = cl.listRecords(t.Context(), endpoint.RecordTypeNAPTR) if err == nil || err.Error() != fmt.Sprintf("unsupported record type: %s", endpoint.RecordTypeNAPTR) { t.Fatal("Expected error for using unsupported record type") } @@ -405,7 +404,7 @@ func TestErrorsV6(t *testing.T) { t.Fatal(err) } - _, err = clErrURL.listRecords(context.Background(), endpoint.RecordTypeCNAME) + _, err = clErrURL.listRecords(t.Context(), endpoint.RecordTypeCNAME) if err == nil { t.Fatal("Expected error for using invalid URL") } @@ -430,7 +429,7 @@ func TestErrorsV6(t *testing.T) { } clErr, _ := newPiholeClientV6(cfgErr) - resp, err := clErr.listRecords(context.Background(), endpoint.RecordTypeA) + resp, err := clErr.listRecords(t.Context(), endpoint.RecordTypeA) if err == nil { t.Fatal(err) } @@ -486,14 +485,14 @@ func TestErrorsV6(t *testing.T) { } clErr, _ = newPiholeClientV6(cfgErr) - resp, err = clErr.listRecords(context.Background(), endpoint.RecordTypeA) + resp, err = clErr.listRecords(t.Context(), endpoint.RecordTypeA) if err != nil { t.Fatal(err) } if len(resp) != 0 { t.Fatal("Expected no records returned, got:", len(resp)) } - resp, err = clErr.listRecords(context.Background(), endpoint.RecordTypeCNAME) + resp, err = clErr.listRecords(t.Context(), endpoint.RecordTypeCNAME) if err != nil { t.Fatal(err) } @@ -559,7 +558,7 @@ func TestTokenValidity(t *testing.T) { } clOK, err := newPiholeClientV6(cfgOK) clOK.(*piholeClientV6).token = "valid" - validity, err := clOK.(*piholeClientV6).checkTokenValidity(context.Background()) + validity, err := clOK.(*piholeClientV6).checkTokenValidity(t.Context()) if err != nil { t.Fatal(err) } @@ -589,7 +588,7 @@ func TestTokenValidity(t *testing.T) { if err != nil { t.Fatal(err) } - validity, err = cl.(*piholeClientV6).checkTokenValidity(context.Background()) + validity, err = cl.(*piholeClientV6).checkTokenValidity(t.Context()) if err != nil { t.Fatal(err) } @@ -607,7 +606,7 @@ func TestTokenValidity(t *testing.T) { t.Fatal("Should be invalid : nil context") } - validity, err = cl.(*piholeClientV6).checkTokenValidity(context.Background()) + validity, err = cl.(*piholeClientV6).checkTokenValidity(t.Context()) if err == nil { t.Fatal("Should be invalid : failed to unmarshal error") } @@ -702,7 +701,7 @@ func TestDo(t *testing.T) { cl, err := newPiholeClientV6(cfg) cl.(*piholeClientV6).token = "valid" - rq, _ := http.NewRequestWithContext(context.Background(), http.MethodGet, srvDo.URL+"/api/auth/ok", nil) + rq, _ := http.NewRequestWithContext(t.Context(), http.MethodGet, srvDo.URL+"/api/auth/ok", nil) resp, err := cl.(*piholeClientV6).do(rq) if err != nil { t.Fatal(err) @@ -711,7 +710,7 @@ func TestDo(t *testing.T) { t.Fatal("Should have a response") } // Test not handled error code - rq, _ = http.NewRequestWithContext(context.Background(), http.MethodGet, srvDo.URL+"/api/auth/418", nil) + rq, _ = http.NewRequestWithContext(t.Context(), http.MethodGet, srvDo.URL+"/api/auth/418", nil) resp, err = cl.(*piholeClientV6).do(rq) if resp != nil { t.Fatal(err) @@ -723,7 +722,7 @@ func TestDo(t *testing.T) { t.Fatal("Expected error for unexpected status code, got:", err) } // Test error on non JSON response - rq, _ = http.NewRequestWithContext(context.Background(), http.MethodGet, srvDo.URL+"/api/auth/nojson", nil) + rq, _ = http.NewRequestWithContext(t.Context(), http.MethodGet, srvDo.URL+"/api/auth/nojson", nil) resp, err = cl.(*piholeClientV6).do(rq) if resp != nil { t.Fatal(err) @@ -735,7 +734,7 @@ func TestDo(t *testing.T) { t.Fatal("Expected error for unmarshal", err) } // Test Unauthorized retry failed - rq, _ = http.NewRequestWithContext(context.Background(), http.MethodGet, srvDo.URL+"/api/auth/401", nil) + rq, _ = http.NewRequestWithContext(t.Context(), http.MethodGet, srvDo.URL+"/api/auth/401", nil) resp, err = cl.(*piholeClientV6).do(rq) if resp != nil { t.Fatal(err) @@ -795,7 +794,7 @@ func TestDoRetryOne(t *testing.T) { clRetryOK, err := newPiholeClientV6(cfgRetryOK) clRetryOK.(*piholeClientV6).token = "valid" // Test Unauthorized refresh OK - rq, _ := http.NewRequestWithContext(context.Background(), http.MethodGet, srvRetry.URL+"/api/auth/401", nil) + rq, _ := http.NewRequestWithContext(t.Context(), http.MethodGet, srvRetry.URL+"/api/auth/401", nil) resp, err := clRetryOK.(*piholeClientV6).do(rq) if err != nil { t.Fatal("Should succeed", err) @@ -917,7 +916,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -927,7 +926,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"192.168.1.2", "192.168.1.3"}, RecordType: endpoint.RecordTypeA, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -937,7 +936,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"fc00::1:192:168:1:1"}, RecordType: endpoint.RecordTypeAAAA, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -947,7 +946,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"fc00::1:192:168:1:2", "fc00::1:192:168:1:3"}, RecordType: endpoint.RecordTypeAAAA, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -957,7 +956,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"target1.domain.com"}, RecordType: endpoint.RecordTypeCNAME, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -968,7 +967,7 @@ func TestCreateRecordV6(t *testing.T) { RecordTTL: endpoint.TTL(500), RecordType: endpoint.RecordTypeCNAME, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -978,7 +977,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"target3.domain.com", "target4.domain.com"}, RecordType: endpoint.RecordTypeCNAME, } - if err := cl.createRecord(context.Background(), ep); err == nil { + if err := cl.createRecord(t.Context(), ep); err == nil { t.Fatal(err) } @@ -988,7 +987,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - if err := cl.createRecord(context.Background(), ep); err == nil { + if err := cl.createRecord(t.Context(), ep); err == nil { t.Fatal(err) } @@ -998,7 +997,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - err = cl.createRecord(context.Background(), ep) + err = cl.createRecord(t.Context(), ep) if err != nil { t.Fatal("Should not return error on non filtered domain") } @@ -1009,7 +1008,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: "not a type", } - err = cl.createRecord(context.Background(), ep) + err = cl.createRecord(t.Context(), ep) if err != nil { t.Fatal("Should not return error on unsupported type") } @@ -1031,7 +1030,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - err = clDr.createRecord(context.Background(), ep) + err = clDr.createRecord(t.Context(), ep) if err != nil { t.Fatal("Should not return error on dry run") } @@ -1041,7 +1040,7 @@ func TestCreateRecordV6(t *testing.T) { Targets: []string{}, RecordType: endpoint.RecordTypeA, } - err = clDr.createRecord(context.Background(), ep) + err = clDr.createRecord(t.Context(), ep) if err != nil { t.Fatal("Should not return error on missing targets") } @@ -1079,7 +1078,7 @@ func TestDeleteRecordV6(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - if err := cl.deleteRecord(context.Background(), ep); err != nil { + if err := cl.deleteRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -1089,7 +1088,7 @@ func TestDeleteRecordV6(t *testing.T) { Targets: []string{"fc00::1:192:168:1:1"}, RecordType: endpoint.RecordTypeAAAA, } - if err := cl.deleteRecord(context.Background(), ep); err != nil { + if err := cl.deleteRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -1099,7 +1098,7 @@ func TestDeleteRecordV6(t *testing.T) { Targets: []string{"target1.domain.com"}, RecordType: endpoint.RecordTypeCNAME, } - if err := cl.deleteRecord(context.Background(), ep); err != nil { + if err := cl.deleteRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -1110,7 +1109,7 @@ func TestDeleteRecordV6(t *testing.T) { RecordTTL: endpoint.TTL(500), RecordType: endpoint.RecordTypeCNAME, } - if err := cl.deleteRecord(context.Background(), ep); err != nil { + if err := cl.deleteRecord(t.Context(), ep); err != nil { t.Fatal(err) } } diff --git a/provider/pihole/client_test.go b/provider/pihole/client_test.go index be930626a..376fce62b 100644 --- a/provider/pihole/client_test.go +++ b/provider/pihole/client_test.go @@ -17,7 +17,6 @@ limitations under the License. package pihole import ( - "context" "encoding/json" "errors" "net/http" @@ -124,7 +123,7 @@ func ValidateRecords(t *testing.T, records []*endpoint.Endpoint, expected [][]st // Helper function to test record retrieval for a specific type func CheckRecordRetrieval(t *testing.T, cl *piholeClient, recordType string, expected [][]string, expectedCount int) { t.Helper() - records, err := cl.listRecords(context.Background(), recordType) + records, err := cl.listRecords(t.Context(), recordType) if err != nil { t.Fatal(err) } @@ -271,17 +270,17 @@ func TestErrorScenarios(t *testing.T) { clExpired.(*piholeClient).token = "expired" clExpired.(*piholeClient).cfg.Password = "notcorrect" - _, err = clExpired.listRecords(context.Background(), "notarealrecordtype") + _, err = clExpired.listRecords(t.Context(), "notarealrecordtype") if err == nil { t.Fatal("Should return error, type is unknown ! ") } - _, err = clExpired.listRecords(context.Background(), endpoint.RecordTypeCNAME) + _, err = clExpired.listRecords(t.Context(), endpoint.RecordTypeCNAME) if err == nil { t.Fatal("Should return error on failed auth ! ") } clExpired.(*piholeClient).token = "correct" clExpired.(*piholeClient).cfg.Password = "correct" - cnamerecs, err := clExpired.listRecords(context.Background(), endpoint.RecordTypeCNAME) + cnamerecs, err := clExpired.listRecords(t.Context(), endpoint.RecordTypeCNAME) if err != nil { t.Fatal(err) } @@ -342,7 +341,7 @@ func TestCreateRecord(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -352,7 +351,7 @@ func TestCreateRecord(t *testing.T) { Targets: []string{"fc00::1:192:168:1:1"}, RecordType: endpoint.RecordTypeAAAA, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -362,7 +361,7 @@ func TestCreateRecord(t *testing.T) { Targets: []string{"test.cname.com"}, RecordType: endpoint.RecordTypeCNAME, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -373,7 +372,7 @@ func TestCreateRecord(t *testing.T) { RecordType: endpoint.RecordTypeA, } cl.(*piholeClient).token = "correct" - if err := cl.createRecord(context.Background(), ep); err == nil { + if err := cl.createRecord(t.Context(), ep); err == nil { t.Fatal(err) } @@ -383,7 +382,7 @@ func TestCreateRecord(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal("Should not return error on non filtered domain") } @@ -393,7 +392,7 @@ func TestCreateRecord(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: "not a type", } - if err := cl.createRecord(context.Background(), ep); err != nil { + if err := cl.createRecord(t.Context(), ep); err != nil { t.Fatal("Should not return error on unsupported type") } @@ -413,7 +412,7 @@ func TestCreateRecord(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - if err := clDr.createRecord(context.Background(), ep); err != nil { + if err := clDr.createRecord(t.Context(), ep); err != nil { t.Fatal("Should not return error on dry run") } @@ -470,7 +469,7 @@ func TestDeleteRecord(t *testing.T) { Targets: []string{"192.168.1.1"}, RecordType: endpoint.RecordTypeA, } - if err := cl.deleteRecord(context.Background(), ep); err != nil { + if err := cl.deleteRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -480,7 +479,7 @@ func TestDeleteRecord(t *testing.T) { Targets: []string{"fc00::1:192:168:1:1"}, RecordType: endpoint.RecordTypeAAAA, } - if err := cl.deleteRecord(context.Background(), ep); err != nil { + if err := cl.deleteRecord(t.Context(), ep); err != nil { t.Fatal(err) } @@ -490,7 +489,7 @@ func TestDeleteRecord(t *testing.T) { Targets: []string{"test.cname.com"}, RecordType: endpoint.RecordTypeCNAME, } - if err := cl.deleteRecord(context.Background(), ep); err != nil { + if err := cl.deleteRecord(t.Context(), ep); err != nil { t.Fatal(err) } } diff --git a/provider/pihole/piholeV6_test.go b/provider/pihole/piholeV6_test.go index 68c62453c..df422beda 100644 --- a/provider/pihole/piholeV6_test.go +++ b/provider/pihole/piholeV6_test.go @@ -23,6 +23,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/plan" ) @@ -106,19 +107,19 @@ func TestErrorHandling(t *testing.T) { } p.api.(*testPiholeClientV6).trigger = "AERROR" - _, err := p.Records(context.Background()) + _, err := p.Records(t.Context()) if err.Error() != "AERROR" { t.Fatal(err) } p.api.(*testPiholeClientV6).trigger = "AAAAERROR" - _, err = p.Records(context.Background()) + _, err = p.Records(t.Context()) if err.Error() != "AAAAERROR" { t.Fatal(err) } p.api.(*testPiholeClientV6).trigger = "CNAMEERROR" - _, err = p.Records(context.Background()) + _, err = p.Records(t.Context()) if err.Error() != "CNAMEERROR" { t.Fatal(err) } @@ -146,7 +147,7 @@ func TestProviderV6(t *testing.T) { } t.Run("Initial Records", func(t *testing.T) { - records, err := p.Records(context.Background()) + records, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -164,11 +165,11 @@ func TestProviderV6(t *testing.T) { {DNSName: "test2.example.com", Targets: []string{"fc00::1:192:168:1:2"}, RecordType: endpoint.RecordTypeAAAA}, {DNSName: "test3.example.com", Targets: []string{"fc00::1:192:168:1:3"}, RecordType: endpoint.RecordTypeAAAA}, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{Create: records}); err != nil { + if err := p.ApplyChanges(t.Context(), &plan.Changes{Create: records}); err != nil { t.Fatal(err) } - newRecords, err := p.Records(context.Background()) + newRecords, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -186,11 +187,11 @@ func TestProviderV6(t *testing.T) { t.Run("Delete Records", func(t *testing.T) { recordToDeleteA := &endpoint.Endpoint{DNSName: "test3.example.com", Targets: []string{"192.168.1.3"}, RecordType: endpoint.RecordTypeA} - if err := p.ApplyChanges(context.Background(), &plan.Changes{Delete: []*endpoint.Endpoint{recordToDeleteA}}); err != nil { + if err := p.ApplyChanges(t.Context(), &plan.Changes{Delete: []*endpoint.Endpoint{recordToDeleteA}}); err != nil { t.Fatal(err) } recordToDeleteAAAA := &endpoint.Endpoint{DNSName: "test3.example.com", Targets: []string{"fc00::1:192:168:1:3"}, RecordType: endpoint.RecordTypeAAAA} - if err := p.ApplyChanges(context.Background(), &plan.Changes{Delete: []*endpoint.Endpoint{recordToDeleteAAAA}}); err != nil { + if err := p.ApplyChanges(t.Context(), &plan.Changes{Delete: []*endpoint.Endpoint{recordToDeleteAAAA}}); err != nil { t.Fatal(err) } @@ -200,7 +201,7 @@ func TestProviderV6(t *testing.T) { {DNSName: "test1.example.com", Targets: []string{"fc00::1:192:168:1:1"}, RecordType: endpoint.RecordTypeAAAA}, {DNSName: "test2.example.com", Targets: []string{"fc00::1:192:168:1:2"}, RecordType: endpoint.RecordTypeAAAA}, } - newRecords, err := p.Records(context.Background()) + newRecords, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -226,7 +227,7 @@ func TestProviderV6(t *testing.T) { {DNSName: "test2.example.com", Targets: []string{"10.0.0.1"}, RecordType: endpoint.RecordTypeA}, {DNSName: "test2.example.com", Targets: []string{"fc00::1:10:0:0:1"}, RecordType: endpoint.RecordTypeAAAA}, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{UpdateOld: updateOld, UpdateNew: updateNew}); err != nil { + if err := p.ApplyChanges(t.Context(), &plan.Changes{UpdateOld: updateOld, UpdateNew: updateNew}); err != nil { t.Fatal(err) } @@ -236,7 +237,7 @@ func TestProviderV6(t *testing.T) { {DNSName: "test1.example.com", Targets: []string{"fc00::1:192:168:1:1"}, RecordType: endpoint.RecordTypeAAAA}, {DNSName: "test2.example.com", Targets: []string{"fc00::1:10:0:0:1"}, RecordType: endpoint.RecordTypeAAAA}, } - newRecords, err := p.Records(context.Background()) + newRecords, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -265,7 +266,7 @@ func TestProviderV6MultipleTargets(t *testing.T) { initialRecords := []*endpoint.Endpoint{ {DNSName: "multi.example.com", Targets: []string{"192.168.1.1", "192.168.1.2"}, RecordType: endpoint.RecordTypeA}, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{Create: initialRecords}); err != nil { + if err := p.ApplyChanges(t.Context(), &plan.Changes{Create: initialRecords}); err != nil { t.Fatal(err) } requests.clear() @@ -279,7 +280,7 @@ func TestProviderV6MultipleTargets(t *testing.T) { {DNSName: "multi.example.com", Targets: []string{"192.168.1.4"}, RecordType: endpoint.RecordTypeA}, {DNSName: "multi.example.com", Targets: []string{"192.168.1.3"}, RecordType: endpoint.RecordTypeA}, // Duplicate to test deduplication } - if err := p.ApplyChanges(context.Background(), &plan.Changes{UpdateOld: updateOld, UpdateNew: updateNew}); err != nil { + if err := p.ApplyChanges(t.Context(), &plan.Changes{UpdateOld: updateOld, UpdateNew: updateNew}); err != nil { t.Fatal(err) } @@ -307,7 +308,7 @@ func TestProviderV6MultipleTargets(t *testing.T) { updateNew := []*endpoint.Endpoint{ {DNSName: "multi.example.com", Targets: []string{"192.168.1.3", "192.168.1.4"}, RecordType: endpoint.RecordTypeA}, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{UpdateOld: updateOld, UpdateNew: updateNew}); err != nil { + if err := p.ApplyChanges(t.Context(), &plan.Changes{UpdateOld: updateOld, UpdateNew: updateNew}); err != nil { t.Fatal(err) } diff --git a/provider/pihole/pihole_test.go b/provider/pihole/pihole_test.go index d67d86c4c..aeb1abac2 100644 --- a/provider/pihole/pihole_test.go +++ b/provider/pihole/pihole_test.go @@ -23,6 +23,7 @@ import ( log "github.com/sirupsen/logrus" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/endpoint" logtest "sigs.k8s.io/external-dns/internal/testutils/log" "sigs.k8s.io/external-dns/plan" @@ -125,7 +126,7 @@ func TestProvider_InitialState(t *testing.T) { p := &PiholeProvider{ api: &testPiholeClient{endpoints: make([]*endpoint.Endpoint, 0), requests: &requests}, } - records, err := p.Records(context.Background()) + records, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -171,12 +172,12 @@ func TestProvider_CreateRecords(t *testing.T) { RecordType: endpoint.RecordTypeAAAA, }, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{ + if err := p.ApplyChanges(t.Context(), &plan.Changes{ Create: records, }); err != nil { t.Fatal(err) } - newRecords, err := p.Records(context.Background()) + newRecords, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -231,7 +232,7 @@ func TestProvider_DeleteRecords(t *testing.T) { }, } // Create initial records - if err := p.ApplyChanges(context.Background(), &plan.Changes{ + if err := p.ApplyChanges(t.Context(), &plan.Changes{ Create: records, }); err != nil { t.Fatal(err) @@ -241,7 +242,7 @@ func TestProvider_DeleteRecords(t *testing.T) { Targets: []string{"192.168.1.3"}, RecordType: endpoint.RecordTypeA, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{ + if err := p.ApplyChanges(t.Context(), &plan.Changes{ Delete: []*endpoint.Endpoint{ &recordToDeleteA, }, @@ -253,14 +254,14 @@ func TestProvider_DeleteRecords(t *testing.T) { Targets: []string{"fc00::1:192:168:1:3"}, RecordType: endpoint.RecordTypeAAAA, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{ + if err := p.ApplyChanges(t.Context(), &plan.Changes{ Delete: []*endpoint.Endpoint{ &recordToDeleteAAAA, }, }); err != nil { t.Fatal(err) } - newRecords, err := p.Records(context.Background()) + newRecords, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -318,7 +319,7 @@ func TestProvider_UpdateRecords(t *testing.T) { RecordType: endpoint.RecordTypeAAAA, }, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{ + if err := p.ApplyChanges(t.Context(), &plan.Changes{ Create: initialRecords, }); err != nil { t.Fatal(err) @@ -369,13 +370,13 @@ func TestProvider_UpdateRecords(t *testing.T) { RecordType: endpoint.RecordTypeAAAA, }, } - if err := p.ApplyChanges(context.Background(), &plan.Changes{ + if err := p.ApplyChanges(t.Context(), &plan.Changes{ UpdateOld: updateOld, UpdateNew: updateNew, }); err != nil { t.Fatal(err) } - newRecords, err := p.Records(context.Background()) + newRecords, err := p.Records(t.Context()) if err != nil { t.Fatal(err) } diff --git a/provider/plural/plural_test.go b/provider/plural/plural_test.go index c2ad4e47d..bab136b01 100644 --- a/provider/plural/plural_test.go +++ b/provider/plural/plural_test.go @@ -17,7 +17,6 @@ limitations under the License. package plural import ( - "context" "testing" "sigs.k8s.io/external-dns/plan" @@ -129,7 +128,7 @@ func TestPluralRecords(t *testing.T) { t.Run(test.name, func(t *testing.T) { provider := newPluralProvider(test.records) - actual, err := provider.Records(context.Background()) + actual, err := provider.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -175,18 +174,18 @@ func TestPluralApplyChangesCreate(t *testing.T) { provider := newPluralProvider(nil) // no records - actual, err := provider.Records(context.Background()) + actual, err := provider.Records(t.Context()) if err != nil { t.Fatal(err) } assert.Empty(t, actual, "expected no entries") - err = provider.ApplyChanges(context.Background(), &plan.Changes{Create: test.expectedEndpoints}) + err = provider.ApplyChanges(t.Context(), &plan.Changes{Create: test.expectedEndpoints}) if err != nil { t.Fatal(err) } - actual, err = provider.Records(context.Background()) + actual, err = provider.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -359,12 +358,12 @@ func TestPluralApplyChangesDelete(t *testing.T) { t.Run(test.name, func(t *testing.T) { provider := newPluralProvider(test.records) - err := provider.ApplyChanges(context.Background(), &plan.Changes{Delete: test.deleteEndpoints}) + err := provider.ApplyChanges(t.Context(), &plan.Changes{Delete: test.deleteEndpoints}) if err != nil { t.Fatal(err) } - actual, err := provider.Records(context.Background()) + actual, err := provider.Records(t.Context()) if err != nil { t.Fatal(err) } diff --git a/provider/rfc2136/rfc2136_test.go b/provider/rfc2136/rfc2136_test.go index be5c9a809..de31ddae8 100644 --- a/provider/rfc2136/rfc2136_test.go +++ b/provider/rfc2136/rfc2136_test.go @@ -17,7 +17,6 @@ limitations under the License. package rfc2136 import ( - "context" "crypto/tls" "fmt" "math/rand" @@ -291,7 +290,7 @@ func TestRfc2136GetRecordsMultipleTargets(t *testing.T) { provider, err := createRfc2136StubProvider(stub) assert.NoError(t, err) - recs, err := provider.Records(context.Background()) + recs, err := provider.Records(t.Context()) assert.NoError(t, err) assert.Len(t, recs, 1, "expected single record") @@ -310,7 +309,7 @@ func TestRfc2136PTRCreation(t *testing.T) { provider, err := createRfc2136StubProviderWithReverse(stub) assert.NoError(t, err) - err = provider.ApplyChanges(context.Background(), &plan.Changes{ + err = provider.ApplyChanges(t.Context(), &plan.Changes{ Create: []*endpoint.Endpoint{ { DNSName: "demo.foo.com", @@ -329,7 +328,7 @@ func TestRfc2136PTRCreation(t *testing.T) { func TestRfc2136TLSConfig(t *testing.T) { stub := newStub() - caFile, err := os.CreateTemp("", "rfc2136-test-XXXXXXXX.crt") + caFile, err := os.CreateTemp(t.TempDir(), "rfc2136-test-XXXXXXXX.crt") require.NoError(t, err) defer os.Remove(caFile.Name()) _, err = caFile.Write([]byte( @@ -369,7 +368,7 @@ ouB5ZN+05DzKCQhBekMnygQ= func TestRfc2136TLSConfigWithMultiHosts(t *testing.T) { stub := newStub() - caFile, err := os.CreateTemp("", "rfc2136-test-XXXXXXXX.crt") + caFile, err := os.CreateTemp(t.TempDir(), "rfc2136-test-XXXXXXXX.crt") assert.NoError(t, err) defer os.Remove(caFile.Name()) _, err = caFile.Write([]byte( @@ -414,7 +413,7 @@ ouB5ZN+05DzKCQhBekMnygQ= func TestRfc2136TLSConfigNoVerify(t *testing.T) { stub := newStub() - caFile, err := os.CreateTemp("", "rfc2136-test-XXXXXXXX.crt") + caFile, err := os.CreateTemp(t.TempDir(), "rfc2136-test-XXXXXXXX.crt") assert.NoError(t, err) defer os.Remove(caFile.Name()) _, err = caFile.Write([]byte( @@ -454,7 +453,7 @@ ouB5ZN+05DzKCQhBekMnygQ= func TestRfc2136TLSConfigClientAuth(t *testing.T) { stub := newStub() - caFile, err := os.CreateTemp("", "rfc2136-test-XXXXXXXX.crt") + caFile, err := os.CreateTemp(t.TempDir(), "rfc2136-test-XXXXXXXX.crt") assert.NoError(t, err) defer os.Remove(caFile.Name()) _, err = caFile.Write([]byte( @@ -468,7 +467,7 @@ ouB5ZN+05DzKCQhBekMnygQ= -----END CERTIFICATE----- `)) - certFile, err := os.CreateTemp("", "rfc2136-test-XXXXXXXX-client.crt") + certFile, err := os.CreateTemp(t.TempDir(), "rfc2136-test-XXXXXXXX-client.crt") assert.NoError(t, err) defer os.Remove(certFile.Name()) _, err = certFile.Write([]byte( @@ -484,7 +483,7 @@ goRP/fRfTTTLwLg8UBpUAmALX8A8HBSBaUlTTQcaImbcwU4DRSbv5JEA8tM1mWrA -----END CERTIFICATE----- `)) - keyFile, err := os.CreateTemp("", "rfc2136-test-XXXXXXXX-client.key") + keyFile, err := os.CreateTemp(t.TempDir(), "rfc2136-test-XXXXXXXX-client.key") assert.NoError(t, err) defer os.Remove(keyFile.Name()) _, err = keyFile.Write([]byte( @@ -537,7 +536,7 @@ func TestRfc2136GetRecords(t *testing.T) { provider, err := createRfc2136StubProvider(stub, "barfoo.com", "foo.com", "bar.com", "foobar.com") assert.NoError(t, err) - recs, err := provider.Records(context.Background()) + recs, err := provider.Records(t.Context()) assert.NoError(t, err) assert.Len(t, recs, 6) @@ -610,7 +609,7 @@ func TestRfc2136ApplyChanges(t *testing.T) { }, } - err = provider.ApplyChanges(context.Background(), p) + err = provider.ApplyChanges(t.Context(), p) assert.NoError(t, err) assert.Len(t, stub.createMsgs, 3) @@ -668,7 +667,7 @@ func TestRfc2136ApplyChangesWithZones(t *testing.T) { }, } - err = provider.ApplyChanges(context.Background(), p) + err = provider.ApplyChanges(t.Context(), p) assert.NoError(t, err) assert.Len(t, stub.createMsgs, 3) @@ -738,7 +737,7 @@ func TestRfc2136ApplyChangesWithZonesFilters(t *testing.T) { }, } - err = provider.ApplyChanges(context.Background(), p) + err = provider.ApplyChanges(t.Context(), p) assert.NoError(t, err) assert.Len(t, stub.createMsgs, 3) @@ -795,7 +794,7 @@ func TestRfc2136ApplyChangesWithDifferentTTLs(t *testing.T) { }, } - err = provider.ApplyChanges(context.Background(), p) + err = provider.ApplyChanges(t.Context(), p) assert.NoError(t, err) createRecords := extractUpdateSectionFromMessage(stub.createMsgs[0]) @@ -833,7 +832,7 @@ func TestRfc2136ApplyChangesWithUpdate(t *testing.T) { }, } - err = provider.ApplyChanges(context.Background(), p) + err = provider.ApplyChanges(t.Context(), p) assert.NoError(t, err) p = &plan.Changes{ @@ -865,7 +864,7 @@ func TestRfc2136ApplyChangesWithUpdate(t *testing.T) { }, } - err = provider.ApplyChanges(context.Background(), p) + err = provider.ApplyChanges(t.Context(), p) assert.NoError(t, err) assert.Len(t, stub.createMsgs, 4) @@ -1001,7 +1000,7 @@ func TestRfc2136ApplyChangesWithMultipleChunks(t *testing.T) { UpdateNew: newRecords, } - err = provider.ApplyChanges(context.Background(), p) + err = provider.ApplyChanges(t.Context(), p) assert.NoError(t, err) assert.Len(t, stub.updateMsgs, 4) @@ -1072,7 +1071,7 @@ func TestRfc2136NameserverFailureReturnsSoftError(t *testing.T) { assert.NoError(t, err) // Test that Records() returns a SoftError when nameserver fails - _, err = providerInstance.Records(context.Background()) + _, err = providerInstance.Records(t.Context()) assert.Error(t, err) assert.ErrorIs(t, err, provider.SoftError, "Expected SoftError when nameserver fails") @@ -1086,7 +1085,7 @@ func TestRfc2136NameserverFailureReturnsSoftError(t *testing.T) { }, }, } - err = providerInstance.ApplyChanges(context.Background(), p) + err = providerInstance.ApplyChanges(t.Context(), p) assert.Error(t, err) assert.ErrorIs(t, err, provider.SoftError, "Expected SoftError when nameserver fails in ApplyChanges") } diff --git a/provider/scaleway/scaleway_test.go b/provider/scaleway/scaleway_test.go index b2f3e233e..62487c312 100644 --- a/provider/scaleway/scaleway_test.go +++ b/provider/scaleway/scaleway_test.go @@ -17,7 +17,6 @@ limitations under the License. package scaleway import ( - "context" "io" "os" "reflect" @@ -124,15 +123,15 @@ func TestScalewayProvider_NewScalewayProvider(t *testing.T) { if err != nil { t.Errorf("failed : %s", err) } - _ = os.Setenv(scw.ScwActiveProfileEnv, "foo") - _ = os.Setenv(scw.ScwConfigPathEnv, tmpDir+"/config.yaml") + t.Setenv(scw.ScwActiveProfileEnv, "foo") + t.Setenv(scw.ScwConfigPathEnv, tmpDir+"/config.yaml") _, err = NewScalewayProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) if err != nil { t.Errorf("failed : %s", err) } - _ = os.Setenv(scw.ScwAccessKeyEnv, "SCWXXXXXXXXXXXXXXXXX") - _ = os.Setenv(scw.ScwSecretKeyEnv, "11111111-1111-1111-1111-111111111111") + t.Setenv(scw.ScwAccessKeyEnv, "SCWXXXXXXXXXXXXXXXXX") + t.Setenv(scw.ScwSecretKeyEnv, "11111111-1111-1111-1111-111111111111") _, err = NewScalewayProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) if err != nil { t.Errorf("failed : %s", err) @@ -144,20 +143,20 @@ func TestScalewayProvider_NewScalewayProvider(t *testing.T) { t.Errorf("expected to fail") } - _ = os.Setenv(scw.ScwSecretKeyEnv, "dummy") + t.Setenv(scw.ScwSecretKeyEnv, "dummy") _, err = NewScalewayProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) if err == nil { t.Errorf("expected to fail") } _ = os.Unsetenv(scw.ScwAccessKeyEnv) - _ = os.Setenv(scw.ScwSecretKeyEnv, "11111111-1111-1111-1111-111111111111") + t.Setenv(scw.ScwSecretKeyEnv, "11111111-1111-1111-1111-111111111111") _, err = NewScalewayProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) if err == nil { t.Errorf("expected to fail") } - _ = os.Setenv(scw.ScwAccessKeyEnv, "dummy") + t.Setenv(scw.ScwAccessKeyEnv, "dummy") _, err = NewScalewayProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) if err == nil { t.Errorf("expected to fail") @@ -166,8 +165,8 @@ func TestScalewayProvider_NewScalewayProvider(t *testing.T) { func TestScalewayProvider_OptionnalConfigFile(t *testing.T) { log.SetOutput(io.Discard) - _ = os.Setenv(scw.ScwAccessKeyEnv, "SCWXXXXXXXXXXXXXXXXX") - _ = os.Setenv(scw.ScwSecretKeyEnv, "11111111-1111-1111-1111-111111111111") + t.Setenv(scw.ScwAccessKeyEnv, "SCWXXXXXXXXXXXXXXXXX") + t.Setenv(scw.ScwSecretKeyEnv, "11111111-1111-1111-1111-111111111111") _, err := NewScalewayProvider(endpoint.NewDomainFilter([]string{"example.com"}), true) assert.NoError(t, err) @@ -275,7 +274,7 @@ func TestScalewayProvider_Zones(t *testing.T) { Subdomain: "test", }, } - zones, err := provider.Zones(context.Background()) + zones, err := provider.Zones(t.Context()) if err != nil { t.Fatal(err) } @@ -343,7 +342,7 @@ func TestScalewayProvider_Records(t *testing.T) { }, } - records, err := provider.Records(context.TODO()) + records, err := provider.Records(t.Context()) if err != nil { t.Fatal(err) } @@ -561,7 +560,7 @@ func TestScalewayProvider_generateApplyRequests(t *testing.T) { }, } - requests, err := provider.generateApplyRequests(context.TODO(), changes) + requests, err := provider.generateApplyRequests(t.Context(), changes) if err != nil { t.Fatal(err) } diff --git a/provider/transip/transip_test.go b/provider/transip/transip_test.go index 071e9ca66..ce42997f8 100644 --- a/provider/transip/transip_test.go +++ b/provider/transip/transip_test.go @@ -17,7 +17,6 @@ limitations under the License. package transip import ( - "context" "encoding/json" "errors" "strings" @@ -254,7 +253,7 @@ func TestProviderRecords(t *testing.T) { p := newProvider() p.domainRepo = domain.Repository{Client: client} - endpoints, err := p.Records(context.TODO()) + endpoints, err := p.Records(t.Context()) if assert.NoError(t, err) { if assert.Len(t, endpoints, 4) { assert.Equal(t, "www.example.org", endpoints[0].DNSName) diff --git a/provider/webhook/webhook_test.go b/provider/webhook/webhook_test.go index 2c0167115..55935f715 100644 --- a/provider/webhook/webhook_test.go +++ b/provider/webhook/webhook_test.go @@ -17,7 +17,6 @@ limitations under the License. package webhook import ( - "context" "encoding/json" "io" "net/http" @@ -134,7 +133,7 @@ func TestRecords(t *testing.T) { provider, err := NewWebhookProvider(svr.URL) require.NoError(t, err) - endpoints, err := provider.Records(context.TODO()) + endpoints, err := provider.Records(t.Context()) require.NoError(t, err) require.NotNil(t, endpoints) require.Equal(t, []*endpoint.Endpoint{{ @@ -156,7 +155,7 @@ func TestRecordsWithErrors(t *testing.T) { p, err := NewWebhookProvider(svr.URL) require.NoError(t, err) - _, err = p.Records(context.Background()) + _, err = p.Records(t.Context()) require.Error(t, err) require.ErrorIs(t, err, provider.SoftError) } @@ -199,7 +198,7 @@ func TestRecords_DecodeError(t *testing.T) { client: &http.Client{}, } - _, err := p.Records(context.Background()) + _, err := p.Records(t.Context()) require.Error(t, err) require.Contains(t, err.Error(), "invalid character 'i' looking for beginning of value") } @@ -242,12 +241,12 @@ func TestApplyChanges(t *testing.T) { p, err := NewWebhookProvider(svr.URL) require.NoError(t, err) - err = p.ApplyChanges(context.TODO(), nil) + err = p.ApplyChanges(t.Context(), nil) require.NoError(t, err) successfulApplyChanges = false - err = p.ApplyChanges(context.TODO(), nil) + err = p.ApplyChanges(t.Context(), nil) require.Error(t, err) require.ErrorIs(t, err, provider.SoftError) } @@ -258,7 +257,7 @@ func TestApplyChanges_HTTPNewRequestErrorWrongHost(t *testing.T) { client: &http.Client{}, } - err := wpr.ApplyChanges(context.Background(), nil) + err := wpr.ApplyChanges(t.Context(), nil) require.Error(t, err) require.Contains(t, err.Error(), "invalid URL escape") } @@ -269,7 +268,7 @@ func TestApplyChanges_GetFailed(t *testing.T) { client: &http.Client{}, } - err := p.ApplyChanges(context.TODO(), &plan.Changes{}) + err := p.ApplyChanges(t.Context(), &plan.Changes{}) require.Error(t, err) assert.Contains(t, err.Error(), "unsupported protocol scheme") } @@ -289,7 +288,7 @@ func TestApplyChanges_StatusCodeError(t *testing.T) { p, err := NewWebhookProvider(svr.URL) require.NoError(t, err) - err = p.ApplyChanges(context.TODO(), nil) + err = p.ApplyChanges(t.Context(), nil) require.Error(t, err) require.NotErrorIs(t, err, provider.SoftError) assert.Contains(t, err.Error(), "failed to apply changes with code 511") @@ -419,7 +418,7 @@ func TestApplyChangesWithProviderSpecificProperty(t *testing.T) { }, }, } - err = p.ApplyChanges(context.TODO(), &plan.Changes{ + err = p.ApplyChanges(t.Context(), &plan.Changes{ Create: []*endpoint.Endpoint{ e, }, diff --git a/registry/awssd/registry_test.go b/registry/awssd/registry_test.go index 67435e5e7..2fb7e5df8 100644 --- a/registry/awssd/registry_test.go +++ b/registry/awssd/registry_test.go @@ -103,7 +103,7 @@ func TestAWSSDRegistryTest_Records(t *testing.T) { } r, _ := NewAWSSDRegistry(p, "records-owner") - records, _ := r.Records(context.Background()) + records, _ := r.Records(t.Context()) assert.True(t, testutils.SameEndpoints(records, expectedRecords)) } @@ -158,7 +158,7 @@ func TestAWSSDRegistry_Records_ApplyChanges(t *testing.T) { r, err := NewAWSSDRegistry(p, "owner") require.NoError(t, err) - err = r.ApplyChanges(context.Background(), changes) + err = r.ApplyChanges(t.Context(), changes) require.NoError(t, err) } diff --git a/registry/dynamodb/registry_test.go b/registry/dynamodb/registry_test.go index c97473844..def849982 100644 --- a/registry/dynamodb/registry_test.go +++ b/registry/dynamodb/registry_test.go @@ -159,7 +159,7 @@ func TestDynamoDBRegistryRecordsBadTable(t *testing.T) { r, _ := NewDynamoDBRegistry(p, "test-owner", api, "test-table", "", "", "", []string{}, []string{}, nil, time.Hour) - _, err := r.Records(context.Background()) + _, err := r.Records(t.Context()) assert.EqualError(t, err, tc.expected) }) } @@ -168,7 +168,7 @@ func TestDynamoDBRegistryRecordsBadTable(t *testing.T) { func TestDynamoDBRegistryRecords(t *testing.T) { api, p := newDynamoDBAPIStub(t, nil) - ctx := context.Background() + ctx := t.Context() expectedRecords := []*endpoint.Endpoint{ { DNSName: "foo.test-zone.example.org", @@ -244,7 +244,7 @@ func TestDynamoDBRegistryRecords(t *testing.T) { } r, _ := NewDynamoDBRegistry(p, "test-owner", api, "test-table", "txt.", "", "", []string{}, []string{}, nil, time.Hour) - _ = p.(*wrappedProvider).Provider.ApplyChanges(context.Background(), &plan.Changes{ + _ = p.(*wrappedProvider).Provider.ApplyChanges(t.Context(), &plan.Changes{ Create: []*endpoint.Endpoint{ endpoint.NewEndpoint("migrate.test-zone.example.org", endpoint.RecordTypeA, "3.3.3.3").WithSetIdentifier("set-3"), endpoint.NewEndpoint("txt.migrate.test-zone.example.org", endpoint.RecordTypeTXT, "\"heritage=external-dns,external-dns/owner=test-owner,external-dns/resource=ingress/default/other-ingress\"").WithSetIdentifier("set-3"), @@ -1076,12 +1076,12 @@ func TestDynamoDBRegistryApplyChanges(t *testing.T) { api, p := newDynamoDBAPIStub(t, &tc.stubConfig) if len(tc.addRecords) > 0 { - _ = p.(*wrappedProvider).Provider.ApplyChanges(context.Background(), &plan.Changes{ + _ = p.(*wrappedProvider).Provider.ApplyChanges(t.Context(), &plan.Changes{ Create: tc.addRecords, }) } - ctx := context.Background() + ctx := t.Context() r, _ := NewDynamoDBRegistry(p, "test-owner", api, "test-table", "txt.", "", "", []string{}, []string{}, nil, time.Hour) _, err := r.Records(ctx) @@ -1162,7 +1162,7 @@ func newDynamoDBAPIStub(t *testing.T, stubConfig *DynamoDBStubConfig) (*DynamoDB } p := inmemory.NewInMemoryProvider() _ = p.CreateZone(testZone) - _ = p.ApplyChanges(context.Background(), &plan.Changes{ + _ = p.ApplyChanges(t.Context(), &plan.Changes{ Create: []*endpoint.Endpoint{ endpoint.NewEndpoint("foo.test-zone.example.org", endpoint.RecordTypeCNAME, "foo.loadbalancer.com"), endpoint.NewEndpoint("bar.test-zone.example.org", endpoint.RecordTypeCNAME, "my-domain.com"), diff --git a/registry/noop/noop_test.go b/registry/noop/noop_test.go index 58355968e..1590834a4 100644 --- a/registry/noop/noop_test.go +++ b/registry/noop/noop_test.go @@ -17,7 +17,6 @@ limitations under the License. package noop import ( - "context" "testing" "github.com/stretchr/testify/assert" @@ -43,7 +42,7 @@ func testNoopInit(t *testing.T) { } func testNoopRecords(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() p.CreateZone("org") inmemoryRecords := []*endpoint.Endpoint{ @@ -88,7 +87,7 @@ func testNoopApplyChanges(t *testing.T) { }, } - ctx := context.Background() + ctx := t.Context() p.ApplyChanges(ctx, &plan.Changes{ Create: inmemoryRecords, }) diff --git a/registry/txt/encryption_test.go b/registry/txt/encryption_test.go index c2751cc09..78720bc28 100644 --- a/registry/txt/encryption_test.go +++ b/registry/txt/encryption_test.go @@ -17,7 +17,6 @@ limitations under the License. package txt import ( - "context" "fmt" "slices" "strconv" @@ -138,7 +137,7 @@ func TestGenerateTXTGenerateTextRecordEncryptionWihDecryption(t *testing.T) { } func TestApplyRecordsWithEncryption(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() _ = p.CreateZone("org") @@ -191,7 +190,7 @@ func TestApplyRecordsWithEncryption(t *testing.T) { } func TestApplyRecordsWithEncryptionKeyChanged(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() _ = p.CreateZone("org") @@ -221,7 +220,7 @@ func TestApplyRecordsWithEncryptionKeyChanged(t *testing.T) { } func TestApplyRecordsOnEncryptionKeyChangeWithKeyIdLabel(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() _ = p.CreateZone("org") @@ -249,7 +248,7 @@ func TestApplyRecordsOnEncryptionKeyChangeWithKeyIdLabel(t *testing.T) { Create: changes, }) } else { - _ = r.ApplyChanges(context.Background(), &plan.Changes{ + _ = r.ApplyChanges(t.Context(), &plan.Changes{ UpdateNew: changes, }) } diff --git a/registry/txt/registry_test.go b/registry/txt/registry_test.go index 69125ff5b..1228509dd 100644 --- a/registry/txt/registry_test.go +++ b/registry/txt/registry_test.go @@ -26,6 +26,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/registry/mapper" log "github.com/sirupsen/logrus" @@ -98,7 +99,7 @@ func testTXTRegistryRecords(t *testing.T) { } func testTXTRegistryRecordsPrefixed(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -273,7 +274,7 @@ func testTXTRegistryRecordsPrefixed(t *testing.T) { } func testTXTRegistryRecordsSuffixed(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -439,7 +440,7 @@ func testTXTRegistryRecordsSuffixed(t *testing.T) { func testTXTRegistryRecordsNoPrefix(t *testing.T) { p := inmemory.NewInMemoryProvider() - ctx := context.Background() + ctx := t.Context() err := p.CreateZone(testZone) require.NoError(t, err) err = p.ApplyChanges(ctx, &plan.Changes{ @@ -589,7 +590,7 @@ func testTXTRegistryRecordsNoPrefix(t *testing.T) { } func testTXTRegistryRecordsPrefixedTemplated(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -633,7 +634,7 @@ func testTXTRegistryRecordsPrefixedTemplated(t *testing.T) { } func testTXTRegistryRecordsSuffixedTemplated(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -688,7 +689,7 @@ func testTXTRegistryApplyChangesWithPrefix(t *testing.T) { p := inmemory.NewInMemoryProvider() _ = p.CreateZone(testZone) var ctxEndpoints []*endpoint.Endpoint - ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints) + ctx := context.WithValue(t.Context(), provider.RecordsContextKey, ctxEndpoints) p.OnApplyChanges = func(ctx context.Context, _ *plan.Changes) { assert.Equal(t, ctxEndpoints, ctx.Value(provider.RecordsContextKey)) } @@ -787,7 +788,7 @@ func testTXTRegistryApplyChangesWithTemplatedPrefix(t *testing.T) { err := p.CreateZone(testZone) require.NoError(t, err) var ctxEndpoints []*endpoint.Endpoint - ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints) + ctx := context.WithValue(t.Context(), provider.RecordsContextKey, ctxEndpoints) p.OnApplyChanges = func(ctx context.Context, _ *plan.Changes) { assert.Equal(t, ctxEndpoints, ctx.Value(provider.RecordsContextKey)) } @@ -833,7 +834,7 @@ func testTXTRegistryApplyChangesWithTemplatedSuffix(t *testing.T) { p := inmemory.NewInMemoryProvider() _ = p.CreateZone(testZone) var ctxEndpoints []*endpoint.Endpoint - ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints) + ctx := context.WithValue(t.Context(), provider.RecordsContextKey, ctxEndpoints) p.OnApplyChanges = func(ctx context.Context, _ *plan.Changes) { assert.Equal(t, ctxEndpoints, ctx.Value(provider.RecordsContextKey)) } @@ -877,7 +878,7 @@ func testTXTRegistryApplyChangesWithSuffix(t *testing.T) { err := p.CreateZone(testZone) require.NoError(t, err) var ctxEndpoints []*endpoint.Endpoint - ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints) + ctx := context.WithValue(t.Context(), provider.RecordsContextKey, ctxEndpoints) p.OnApplyChanges = func(ctx context.Context, _ *plan.Changes) { assert.Equal(t, ctxEndpoints, ctx.Value(provider.RecordsContextKey)) } @@ -981,7 +982,7 @@ func testTXTRegistryApplyChangesNoPrefix(t *testing.T) { err := p.CreateZone(testZone) require.NoError(t, err) var ctxEndpoints []*endpoint.Endpoint - ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints) + ctx := context.WithValue(t.Context(), provider.RecordsContextKey, ctxEndpoints) p.OnApplyChanges = func(ctx context.Context, _ *plan.Changes) { assert.Equal(t, ctxEndpoints, ctx.Value(provider.RecordsContextKey)) } @@ -1060,7 +1061,7 @@ func testTXTRegistryMissingRecords(t *testing.T) { } func testTXTRegistryMissingRecordsNoPrefix(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -1167,7 +1168,7 @@ func testTXTRegistryMissingRecordsNoPrefix(t *testing.T) { } func testTXTRegistryMissingRecordsWithPrefix(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -1350,7 +1351,7 @@ func TestNewTXTScheme(t *testing.T) { err := p.CreateZone(testZone) require.NoError(t, err) var ctxEndpoints []*endpoint.Endpoint - ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints) + ctx := context.WithValue(t.Context(), provider.RecordsContextKey, ctxEndpoints) p.OnApplyChanges = func(ctx context.Context, _ *plan.Changes) { assert.Equal(t, ctxEndpoints, ctx.Value(provider.RecordsContextKey)) } @@ -1520,7 +1521,7 @@ func TestTXTRegistryApplyChangesEncrypt(t *testing.T) { err := p.CreateZone(testZone) require.NoError(t, err) var ctxEndpoints []*endpoint.Endpoint - ctx := context.WithValue(context.Background(), provider.RecordsContextKey, ctxEndpoints) + ctx := context.WithValue(t.Context(), provider.RecordsContextKey, ctxEndpoints) err = p.ApplyChanges(ctx, &plan.Changes{ Create: []*endpoint.Endpoint{ @@ -1565,7 +1566,7 @@ func TestTXTRegistryApplyChangesEncrypt(t *testing.T) { // was treated independently and would cause each cluster to fight over ownership. This tests ensure that the default // Dual Stack record support only treats AAAA records independently and while keeping A and CNAME record ownership intact. func TestMultiClusterDifferentRecordTypeOwnership(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -1689,7 +1690,7 @@ func TestApplyChangesWithNewFormatOnly(t *testing.T) { p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) - ctx := context.Background() + ctx := t.Context() r, _ := NewTXTRegistry(p, "", "", "owner", time.Hour, "", []string{}, []string{}, false, nil, "") @@ -1721,7 +1722,7 @@ func TestApplyChangesWithNewFormatOnly(t *testing.T) { } func TestTXTRegistryRecordsWithEmptyTargets(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -1917,7 +1918,7 @@ func TestTXTRegistryRecreatesMissingRecords(t *testing.T) { t.Run(fmt.Sprintf("%s with %s policy and setIdentifier=%s", tt.name, pName, setIdentifier), func(t *testing.T) { t.Parallel() - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() // Given: Register existing records @@ -1982,7 +1983,7 @@ func TestTXTRegistryRecreatesMissingRecords(t *testing.T) { } func TestTXTRecordMigration(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) @@ -2034,7 +2035,7 @@ func TestTXTRecordMigration(t *testing.T) { // caused ExternalDNS to skip recreating TXT records after deletion. func TestRecreateRecordAfterDeletion(t *testing.T) { ownerID := "foo" - ctx := context.Background() + ctx := t.Context() p := inmemory.NewInMemoryProvider() err := p.CreateZone(testZone) require.NoError(t, err) diff --git a/source/ambassador_host_test.go b/source/ambassador_host_test.go index 1f9e84664..82ec3cde3 100644 --- a/source/ambassador_host_test.go +++ b/source/ambassador_host_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "fmt" "testing" @@ -627,21 +626,21 @@ func TestAmbassadorHostSource(t *testing.T) { namespace := "default" // Create Ambassador service - _, err := fakeKubernetesClient.CoreV1().Services(defaultAmbassadorNamespace).Create(context.Background(), &ti.service, metav1.CreateOptions{}) + _, err := fakeKubernetesClient.CoreV1().Services(defaultAmbassadorNamespace).Create(t.Context(), &ti.service, metav1.CreateOptions{}) assert.NoError(t, err) // Create host resource host, err := createAmbassadorHost(&ti.host) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(ambHostGVR).Namespace(namespace).Create(context.Background(), host, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(ambHostGVR).Namespace(namespace).Create(t.Context(), host, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewAmbassadorHostSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, namespace, ti.annotationFilter, ti.labelSelector) + source, err := NewAmbassadorHostSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, namespace, ti.annotationFilter, ti.labelSelector) assert.NoError(t, err) assert.NotNil(t, source) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) // Validate returned endpoints against expected endpoints. validateEndpoints(t, endpoints, ti.expected) diff --git a/source/connector_test.go b/source/connector_test.go index 0d6f7929c..c5c1d373f 100644 --- a/source/connector_test.go +++ b/source/connector_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "encoding/gob" "net" "testing" @@ -131,7 +130,7 @@ func testConnectorSourceEndpoints(t *testing.T) { } cs, _ := NewConnectorSource(addr) - endpoints, err := cs.Endpoints(context.Background()) + endpoints, err := cs.Endpoints(t.Context()) if ti.expectError { assert.Error(t, err) } else { diff --git a/source/contour_httpproxy_test.go b/source/contour_httpproxy_test.go index 2422c277e..a03eab241 100644 --- a/source/contour_httpproxy_test.go +++ b/source/contour_httpproxy_test.go @@ -187,7 +187,7 @@ func TestNewContourHTTPProxySource(t *testing.T) { fakeDynamicClient, _ := newDynamicKubernetesClient() _, err := NewContourHTTPProxySource( - context.TODO(), + t.Context(), fakeDynamicClient, "", ti.annotationFilter, @@ -1048,12 +1048,12 @@ func testHTTPProxyEndpoints(t *testing.T) { for _, httpProxy := range httpProxies { converted, err := convertHTTPProxyToUnstructured(httpProxy, scheme) require.NoError(t, err) - _, err = fakeDynamicClient.Resource(projectcontour.HTTPProxyGVR).Namespace(httpProxy.Namespace).Create(context.Background(), converted, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(projectcontour.HTTPProxyGVR).Namespace(httpProxy.Namespace).Create(t.Context(), converted, metav1.CreateOptions{}) require.NoError(t, err) } httpProxySource, err := NewContourHTTPProxySource( - context.TODO(), + t.Context(), fakeDynamicClient, ti.targetNamespace, ti.annotationFilter, @@ -1063,7 +1063,7 @@ func testHTTPProxyEndpoints(t *testing.T) { ) require.NoError(t, err) - res, err := httpProxySource.Endpoints(context.Background()) + res, err := httpProxySource.Endpoints(t.Context()) if ti.expectError { assert.Error(t, err) } else { diff --git a/source/crd_test.go b/source/crd_test.go index 6d2ab6369..44b18ef5c 100644 --- a/source/crd_test.go +++ b/source/crd_test.go @@ -18,7 +18,6 @@ package source import ( "bytes" - "context" "encoding/json" "fmt" "io" @@ -701,7 +700,7 @@ func TestCRDSource_NoInformer(t *testing.T) { cs := &crdSource{informer: nil} called := false - cs.AddEventHandler(context.Background(), func() { called = true }) + cs.AddEventHandler(t.Context(), func() { called = true }) require.False(t, called, "handler must not be called when informer is nil") } @@ -825,7 +824,7 @@ func TestCRDSource_Watch(t *testing.T) { func validateCRDResource(t *testing.T, src Source, expectError bool) { t.Helper() cs := src.(*crdSource) - result, err := cs.List(context.Background(), &metav1.ListOptions{}) + result, err := cs.List(t.Context(), &metav1.ListOptions{}) if expectError { require.Errorf(t, err, "Received err %v", err) } else { diff --git a/source/empty_test.go b/source/empty_test.go index 778d70331..0a4fbf1fb 100644 --- a/source/empty_test.go +++ b/source/empty_test.go @@ -17,14 +17,13 @@ limitations under the License. package source import ( - "context" "testing" ) func TestEmptySourceReturnsEmpty(t *testing.T) { e := NewEmptySource() - endpoints, err := e.Endpoints(context.Background()) + endpoints, err := e.Endpoints(t.Context()) if err != nil { t.Errorf("Expected no error but got %s", err.Error()) } diff --git a/source/endpoints_test.go b/source/endpoints_test.go index 681d09792..4e288df4a 100644 --- a/source/endpoints_test.go +++ b/source/endpoints_test.go @@ -14,7 +14,6 @@ limitations under the License. package source import ( - "context" "testing" "github.com/stretchr/testify/assert" @@ -219,7 +218,7 @@ func TestEndpointTargetsFromServices(t *testing.T) { serviceInformer := informerFactory.Core().V1().Services() for _, svc := range tt.services { - _, err := client.CoreV1().Services(tt.namespace).Create(context.Background(), svc, metav1.CreateOptions{}) + _, err := client.CoreV1().Services(tt.namespace).Create(t.Context(), svc, metav1.CreateOptions{}) assert.NoError(t, err) err = serviceInformer.Informer().GetIndexer().Add(svc) diff --git a/source/f5_transportserver_test.go b/source/f5_transportserver_test.go index 4418cefee..5ac70b14d 100644 --- a/source/f5_transportserver_test.go +++ b/source/f5_transportserver_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "encoding/json" "testing" @@ -342,19 +341,19 @@ func TestF5TransportServerEndpoints(t *testing.T) { assert.NoError(t, transportServer.UnmarshalJSON(transportServerJSON)) // Create TransportServer resources - _, err = fakeDynamicClient.Resource(f5TransportServerGVR).Namespace(defaultF5TransportServerNamespace).Create(context.Background(), &transportServer, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(f5TransportServerGVR).Namespace(defaultF5TransportServerNamespace).Create(t.Context(), &transportServer, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewF5TransportServerSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultF5TransportServerNamespace, tc.annotationFilter) + source, err := NewF5TransportServerSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultF5TransportServerNamespace, tc.annotationFilter) require.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(f5TransportServerGVR).Namespace(defaultF5TransportServerNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(f5TransportServerGVR).Namespace(defaultF5TransportServerNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) assert.Len(t, endpoints, len(tc.expected)) assert.Equal(t, tc.expected, endpoints) diff --git a/source/f5_virtualserver_test.go b/source/f5_virtualserver_test.go index eb05bd8cf..44bb22f3a 100644 --- a/source/f5_virtualserver_test.go +++ b/source/f5_virtualserver_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "encoding/json" "testing" @@ -584,19 +583,19 @@ func TestF5VirtualServerEndpoints(t *testing.T) { assert.NoError(t, virtualServer.UnmarshalJSON(virtualServerJSON)) // Create VirtualServer resources - _, err = fakeDynamicClient.Resource(f5VirtualServerGVR).Namespace(defaultF5VirtualServerNamespace).Create(context.Background(), &virtualServer, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(f5VirtualServerGVR).Namespace(defaultF5VirtualServerNamespace).Create(t.Context(), &virtualServer, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewF5VirtualServerSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultF5VirtualServerNamespace, tc.annotationFilter) + source, err := NewF5VirtualServerSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultF5VirtualServerNamespace, tc.annotationFilter) require.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(f5VirtualServerGVR).Namespace(defaultF5VirtualServerNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(f5VirtualServerGVR).Namespace(defaultF5VirtualServerNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) assert.Len(t, endpoints, len(tc.expected)) validateEndpoints(t, endpoints, tc.expected) diff --git a/source/gloo_proxy_test.go b/source/gloo_proxy_test.go index b79e73c09..1fc62cc0b 100644 --- a/source/gloo_proxy_test.go +++ b/source/gloo_proxy_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "encoding/json" "fmt" "testing" @@ -31,6 +30,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" fakeDynamic "k8s.io/client-go/dynamic/fake" fakeKube "k8s.io/client-go/kubernetes/fake" + "sigs.k8s.io/external-dns/endpoint" ) @@ -536,49 +536,49 @@ func TestGlooSource(t *testing.T) { assert.NoError(t, proxyMetadataStaticSourceUnstructured.UnmarshalJSON(proxyMetadataStaticSvcAsJSON)) assert.NoError(t, targetAnnotatedProxySourceUnstructured.UnmarshalJSON(targetAnnotatedProxySvcAsJSON)) - _, err = fakeKubernetesClient.CoreV1().Services(internalProxySvc.GetNamespace()).Create(context.Background(), &internalProxySvc, metav1.CreateOptions{}) + _, err = fakeKubernetesClient.CoreV1().Services(internalProxySvc.GetNamespace()).Create(t.Context(), &internalProxySvc, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeKubernetesClient.CoreV1().Services(externalProxySvc.GetNamespace()).Create(context.Background(), &externalProxySvc, metav1.CreateOptions{}) + _, err = fakeKubernetesClient.CoreV1().Services(externalProxySvc.GetNamespace()).Create(t.Context(), &externalProxySvc, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeKubernetesClient.CoreV1().Services(proxyWithMetadataStaticSvc.GetNamespace()).Create(context.Background(), &proxyWithMetadataStaticSvc, metav1.CreateOptions{}) + _, err = fakeKubernetesClient.CoreV1().Services(proxyWithMetadataStaticSvc.GetNamespace()).Create(t.Context(), &proxyWithMetadataStaticSvc, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeKubernetesClient.CoreV1().Services(targetAnnotatedProxySvc.GetNamespace()).Create(context.Background(), &targetAnnotatedProxySvc, metav1.CreateOptions{}) + _, err = fakeKubernetesClient.CoreV1().Services(targetAnnotatedProxySvc.GetNamespace()).Create(t.Context(), &targetAnnotatedProxySvc, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeKubernetesClient.NetworkingV1().Ingresses(gatewayIngressAnnotatedProxyIngress.GetNamespace()).Create(context.Background(), &gatewayIngressAnnotatedProxyIngress, metav1.CreateOptions{}) + _, err = fakeKubernetesClient.NetworkingV1().Ingresses(gatewayIngressAnnotatedProxyIngress.GetNamespace()).Create(t.Context(), &gatewayIngressAnnotatedProxyIngress, metav1.CreateOptions{}) assert.NoError(t, err) // Create proxy resources - _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(context.Background(), &internalProxyUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(t.Context(), &internalProxyUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(context.Background(), &externalProxyUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(t.Context(), &externalProxyUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(context.Background(), &proxyMetadataStaticUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(t.Context(), &proxyMetadataStaticUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(context.Background(), &targetAnnotatedProxyUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(t.Context(), &targetAnnotatedProxyUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(context.Background(), &gatewayIngressAnnotatedProxyUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(proxyGVR).Namespace(defaultGlooNamespace).Create(t.Context(), &gatewayIngressAnnotatedProxyUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) // Create proxy source - _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(internalProxySource.Namespace).Create(context.Background(), &internalProxySourceUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(internalProxySource.Namespace).Create(t.Context(), &internalProxySourceUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(externalProxySource.Namespace).Create(context.Background(), &externalProxySourceUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(externalProxySource.Namespace).Create(t.Context(), &externalProxySourceUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(proxyWithMetadataStaticSource.Namespace).Create(context.Background(), &proxyMetadataStaticSourceUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(proxyWithMetadataStaticSource.Namespace).Create(t.Context(), &proxyMetadataStaticSourceUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(targetAnnotatedProxySource.Namespace).Create(context.Background(), &targetAnnotatedProxySourceUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(virtualServiceGVR).Namespace(targetAnnotatedProxySource.Namespace).Create(t.Context(), &targetAnnotatedProxySourceUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) // Create gateway resource - _, err = fakeDynamicClient.Resource(gatewayGVR).Namespace(gatewayIngressAnnotatedProxyGateway.Namespace).Create(context.Background(), &gatewayIngressAnnotatedProxyGatewayUnstructured, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(gatewayGVR).Namespace(gatewayIngressAnnotatedProxyGateway.Namespace).Create(t.Context(), &gatewayIngressAnnotatedProxyGatewayUnstructured, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewGlooSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, []string{defaultGlooNamespace}) + source, err := NewGlooSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, []string{defaultGlooNamespace}) assert.NoError(t, err) assert.NotNil(t, source) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) assert.Len(t, endpoints, 11) diff --git a/source/informers/informers_test.go b/source/informers/informers_test.go index 24329b367..53b23cc95 100644 --- a/source/informers/informers_test.go +++ b/source/informers/informers_test.go @@ -17,7 +17,6 @@ limitations under the License. package informers import ( - "context" "reflect" "testing" @@ -68,7 +67,7 @@ func TestWaitForCacheSync(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - ctx := context.Background() + ctx := t.Context() factory := &mockInformerFactory{syncResults: tt.syncResults} err := WaitForCacheSync(ctx, factory) @@ -110,7 +109,7 @@ func TestWaitForDynamicCacheSync(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - ctx := context.Background() + ctx := t.Context() factory := &mockDynamicInformerFactory{syncResults: tt.syncResults} err := WaitForDynamicCacheSync(ctx, factory) diff --git a/source/ingress_test.go b/source/ingress_test.go index 4cafd9ad4..75e8f95f6 100644 --- a/source/ingress_test.go +++ b/source/ingress_test.go @@ -27,6 +27,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/kubernetes/fake" + "sigs.k8s.io/external-dns/internal/testutils" "sigs.k8s.io/external-dns/endpoint" @@ -1417,7 +1418,7 @@ func testIngressEndpoints(t *testing.T) { } source, _ := NewIngressSource( - context.TODO(), + t.Context(), fakeClient, ti.targetNamespace, ti.annotationFilter, diff --git a/source/istio_gateway_test.go b/source/istio_gateway_test.go index 33989de89..cf1b1c48f 100644 --- a/source/istio_gateway_test.go +++ b/source/istio_gateway_test.go @@ -34,6 +34,7 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/client-go/kubernetes/fake" + "sigs.k8s.io/external-dns/internal/testutils" "sigs.k8s.io/external-dns/source/annotations" @@ -170,7 +171,7 @@ func TestNewIstioGatewaySource(t *testing.T) { t.Parallel() _, err := NewIstioGatewaySource( - context.TODO(), + t.Context(), fake.NewClientset(), istiofake.NewSimpleClientset(), "", @@ -1484,7 +1485,7 @@ func testGatewayEndpoints(t *testing.T) { for _, lb := range ti.lbServices { service := lb.Service() - _, err := fakeKubernetesClient.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := fakeKubernetesClient.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) } @@ -1493,19 +1494,19 @@ func testGatewayEndpoints(t *testing.T) { if ingress.Namespace != targetNamespace { targetNamespace = v1.NamespaceAll } - _, err := fakeKubernetesClient.NetworkingV1().Ingresses(ingress.Namespace).Create(context.Background(), ingress, metav1.CreateOptions{}) + _, err := fakeKubernetesClient.NetworkingV1().Ingresses(ingress.Namespace).Create(t.Context(), ingress, metav1.CreateOptions{}) require.NoError(t, err) } fakeIstioClient := istiofake.NewSimpleClientset() for _, config := range ti.configItems { gatewayCfg := config.Config() - _, err := fakeIstioClient.NetworkingV1beta1().Gateways(ti.targetNamespace).Create(context.Background(), gatewayCfg, metav1.CreateOptions{}) + _, err := fakeIstioClient.NetworkingV1beta1().Gateways(ti.targetNamespace).Create(t.Context(), gatewayCfg, metav1.CreateOptions{}) require.NoError(t, err) } gatewaySource, err := NewIstioGatewaySource( - context.TODO(), + t.Context(), fakeKubernetesClient, fakeIstioClient, targetNamespace, @@ -1516,7 +1517,7 @@ func testGatewayEndpoints(t *testing.T) { ) require.NoError(t, err) - res, err := gatewaySource.Endpoints(context.Background()) + res, err := gatewaySource.Endpoints(t.Context()) if ti.expectError { assert.Error(t, err) } else { @@ -1614,7 +1615,7 @@ func TestGatewaySource_GWSelectorMatchServiceSelector(t *testing.T) { }, } - _, err = fakeIstioClient.NetworkingV1beta1().Gateways(gw.Namespace).Create(context.Background(), gw, metav1.CreateOptions{}) + _, err = fakeIstioClient.NetworkingV1beta1().Gateways(gw.Namespace).Create(t.Context(), gw, metav1.CreateOptions{}) require.NoError(t, err) src, err := NewIstioGatewaySource( @@ -1699,7 +1700,7 @@ func TestTransformerInIstioGatewaySource(t *testing.T) { fakeClient := fake.NewClientset() - _, err := fakeClient.CoreV1().Services(svc.Namespace).Create(context.Background(), svc, metav1.CreateOptions{}) + _, err := fakeClient.CoreV1().Services(svc.Namespace).Create(t.Context(), svc, metav1.CreateOptions{}) require.NoError(t, err) src, err := NewIstioGatewaySource( diff --git a/source/istio_virtualservice_test.go b/source/istio_virtualservice_test.go index f7efed564..09d4ac1d7 100644 --- a/source/istio_virtualservice_test.go +++ b/source/istio_virtualservice_test.go @@ -192,7 +192,7 @@ func TestNewIstioVirtualServiceSource(t *testing.T) { t.Parallel() _, err := NewIstioVirtualServiceSource( - context.TODO(), + t.Context(), fake.NewClientset(), istiofake.NewSimpleClientset(), "", @@ -716,7 +716,7 @@ func testEndpointsFromVirtualServiceConfig(t *testing.T) { if source, err := newTestVirtualServiceSource(ti.lbServices, ti.ingresses, []fakeGatewayConfig{ti.gwconfig}); err != nil { require.NoError(t, err) - } else if endpoints, err := source.endpointsFromVirtualService(context.Background(), ti.vsconfig.Config()); err != nil { + } else if endpoints, err := source.endpointsFromVirtualService(t.Context(), ti.vsconfig.Config()); err != nil { require.NoError(t, err) } else { validateEndpoints(t, endpoints, ti.expected) @@ -1966,30 +1966,30 @@ func testVirtualServiceEndpoints(t *testing.T) { for _, lb := range ti.lbServices { service := lb.Service() - _, err := fakeKubernetesClient.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := fakeKubernetesClient.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) } for _, ing := range ti.ingresses { ingress := ing.Ingress() - _, err := fakeKubernetesClient.NetworkingV1().Ingresses(ingress.Namespace).Create(context.Background(), ingress, metav1.CreateOptions{}) + _, err := fakeKubernetesClient.NetworkingV1().Ingresses(ingress.Namespace).Create(t.Context(), ingress, metav1.CreateOptions{}) require.NoError(t, err) } fakeIstioClient := istiofake.NewSimpleClientset() for _, gateway := range gateways { - _, err := fakeIstioClient.NetworkingV1beta1().Gateways(gateway.Namespace).Create(context.Background(), gateway, metav1.CreateOptions{}) + _, err := fakeIstioClient.NetworkingV1beta1().Gateways(gateway.Namespace).Create(t.Context(), gateway, metav1.CreateOptions{}) require.NoError(t, err) } for _, vService := range virtualservices { - _, err := fakeIstioClient.NetworkingV1beta1().VirtualServices(vService.Namespace).Create(context.Background(), vService, metav1.CreateOptions{}) + _, err := fakeIstioClient.NetworkingV1beta1().VirtualServices(vService.Namespace).Create(t.Context(), vService, metav1.CreateOptions{}) require.NoError(t, err) } virtualServiceSource, err := NewIstioVirtualServiceSource( - context.TODO(), + t.Context(), fakeKubernetesClient, fakeIstioClient, ti.targetNamespace, @@ -2000,7 +2000,7 @@ func testVirtualServiceEndpoints(t *testing.T) { ) require.NoError(t, err) - res, err := virtualServiceSource.Endpoints(context.Background()) + res, err := virtualServiceSource.Endpoints(t.Context()) if ti.expectError { assert.Error(t, err) } else { @@ -2143,21 +2143,21 @@ func TestVirtualServiceSourceGetGateway(t *testing.T) { {name: "EmptyGateway", fields: fields{ virtualServiceSource: func() *virtualServiceSource { vs, _ := newTestVirtualServiceSource(nil, nil, nil); return vs }(), }, args: args{ - ctx: context.TODO(), + ctx: t.Context(), gatewayStr: "", virtualService: nil, }, want: nil, expectedErrStr: ""}, {name: "MeshGateway", fields: fields{ virtualServiceSource: func() *virtualServiceSource { vs, _ := newTestVirtualServiceSource(nil, nil, nil); return vs }(), }, args: args{ - ctx: context.TODO(), + ctx: t.Context(), gatewayStr: IstioMeshGateway, virtualService: nil, }, want: nil, expectedErrStr: ""}, {name: "MissingGateway", fields: fields{ virtualServiceSource: func() *virtualServiceSource { vs, _ := newTestVirtualServiceSource(nil, nil, nil); return vs }(), }, args: args{ - ctx: context.TODO(), + ctx: t.Context(), gatewayStr: "doesnt/exist", virtualService: &networkingv1beta1.VirtualService{ TypeMeta: metav1.TypeMeta{}, @@ -2169,7 +2169,7 @@ func TestVirtualServiceSourceGetGateway(t *testing.T) { {name: "InvalidGatewayStr", fields: fields{ virtualServiceSource: func() *virtualServiceSource { vs, _ := newTestVirtualServiceSource(nil, nil, nil); return vs }(), }, args: args{ - ctx: context.TODO(), + ctx: t.Context(), gatewayStr: "1/2/3/", virtualService: &networkingv1beta1.VirtualService{}, }, want: nil, expectedErrStr: "invalid ingress name (name or namespace/name) found \"1/2/3/\""}, @@ -2182,7 +2182,7 @@ func TestVirtualServiceSourceGetGateway(t *testing.T) { return vs }(), }, args: args{ - ctx: context.TODO(), + ctx: t.Context(), gatewayStr: "bar/foo", virtualService: &networkingv1beta1.VirtualService{ TypeMeta: metav1.TypeMeta{}, @@ -2285,7 +2285,7 @@ func TestIstioVirtualServiceSource_GWServiceSelectorMatchServiceSelector(t *test }, } - _, err := fakeKubeClient.CoreV1().Services(svc.Namespace).Create(context.Background(), svc, metav1.CreateOptions{}) + _, err := fakeKubeClient.CoreV1().Services(svc.Namespace).Create(t.Context(), svc, metav1.CreateOptions{}) require.NoError(t, err) gw := &networkingv1beta1.Gateway{ @@ -2303,7 +2303,7 @@ func TestIstioVirtualServiceSource_GWServiceSelectorMatchServiceSelector(t *test }, } - _, err = fakeIstioClient.NetworkingV1beta1().Gateways(gw.Namespace).Create(context.Background(), gw, metav1.CreateOptions{}) + _, err = fakeIstioClient.NetworkingV1beta1().Gateways(gw.Namespace).Create(t.Context(), gw, metav1.CreateOptions{}) require.NoError(t, err) gwService := &networkingv1beta1.VirtualService{ diff --git a/source/kong_tcpingress_test.go b/source/kong_tcpingress_test.go index 9c9933994..b1bb0c4ab 100644 --- a/source/kong_tcpingress_test.go +++ b/source/kong_tcpingress_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "encoding/json" "testing" @@ -360,19 +359,19 @@ func TestKongTCPIngressEndpoints(t *testing.T) { assert.NoError(t, tcpi.UnmarshalJSON(tcpIngressAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(kongGroupdVersionResource).Namespace(defaultKongNamespace).Create(context.Background(), &tcpi, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(kongGroupdVersionResource).Namespace(defaultKongNamespace).Create(t.Context(), &tcpi, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewKongTCPIngressSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultKongNamespace, "kubernetes.io/ingress.class=kong", ti.ignoreHostnameAnnotation) + source, err := NewKongTCPIngressSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultKongNamespace, "kubernetes.io/ingress.class=kong", ti.ignoreHostnameAnnotation) assert.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(kongGroupdVersionResource).Namespace(defaultKongNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(kongGroupdVersionResource).Namespace(defaultKongNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) diff --git a/source/node_test.go b/source/node_test.go index ca6126f5c..faa90ee4f 100644 --- a/source/node_test.go +++ b/source/node_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "fmt" "maps" "math/rand" @@ -90,7 +89,7 @@ func testNodeSourceNewNodeSource(t *testing.T) { t.Parallel() _, err := NewNodeSource( - context.TODO(), + t.Context(), fake.NewClientset(), ti.annotationFilter, ti.fqdnTemplate, @@ -431,12 +430,12 @@ func testNodeSourceEndpoints(t *testing.T) { }, } - _, err := kubeClient.CoreV1().Nodes().Create(context.Background(), node, metav1.CreateOptions{}) + _, err := kubeClient.CoreV1().Nodes().Create(t.Context(), node, metav1.CreateOptions{}) require.NoError(t, err) // Create our object under test and get the endpoints. client, err := NewNodeSource( - context.TODO(), + t.Context(), kubeClient, tc.annotationFilter, tc.fqdnTemplate, @@ -447,7 +446,7 @@ func testNodeSourceEndpoints(t *testing.T) { ) require.NoError(t, err) - endpoints, err := client.Endpoints(context.Background()) + endpoints, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { diff --git a/source/openshift_route_fqdn_test.go b/source/openshift_route_fqdn_test.go index a4fecc319..21cfedafa 100644 --- a/source/openshift_route_fqdn_test.go +++ b/source/openshift_route_fqdn_test.go @@ -14,7 +14,6 @@ limitations under the License. package source import ( - "context" "testing" routev1 "github.com/openshift/api/route/v1" @@ -24,6 +23,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/intstr" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/source/annotations" ) @@ -330,7 +330,7 @@ func TestOpenShiftFqdnTemplatingExamples(t *testing.T) { t.Run(tt.title, func(t *testing.T) { kubeClient := fake.NewClientset() for _, ocp := range tt.ocpRoute { - _, err := kubeClient.RouteV1().Routes(ocp.Namespace).Create(context.Background(), ocp, metav1.CreateOptions{}) + _, err := kubeClient.RouteV1().Routes(ocp.Namespace).Create(t.Context(), ocp, metav1.CreateOptions{}) require.NoError(t, err) } diff --git a/source/openshift_route_test.go b/source/openshift_route_test.go index d9b1a9b57..383bad9f7 100644 --- a/source/openshift_route_test.go +++ b/source/openshift_route_test.go @@ -143,7 +143,7 @@ func testOcpRouteSourceNewOcpRouteSource(t *testing.T) { t.Parallel() _, err := NewOcpRouteSource( - context.TODO(), + t.Context(), fake.NewSimpleClientset(), "", ti.annotationFilter, @@ -521,14 +521,14 @@ func testOcpRouteSourceEndpoints(t *testing.T) { t.Parallel() // Create a Kubernetes testing client fakeClient := fake.NewSimpleClientset() - _, err := fakeClient.RouteV1().Routes(tc.ocpRoute.Namespace).Create(context.Background(), tc.ocpRoute, metav1.CreateOptions{}) + _, err := fakeClient.RouteV1().Routes(tc.ocpRoute.Namespace).Create(t.Context(), tc.ocpRoute, metav1.CreateOptions{}) require.NoError(t, err) labelSelector, err := labels.Parse(tc.labelFilter) require.NoError(t, err) source, err := NewOcpRouteSource( - context.TODO(), + t.Context(), fakeClient, "", "", @@ -540,7 +540,7 @@ func testOcpRouteSourceEndpoints(t *testing.T) { ) require.NoError(t, err) - res, err := source.Endpoints(context.Background()) + res, err := source.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { diff --git a/source/pod_test.go b/source/pod_test.go index 6944117bb..5808a16b0 100644 --- a/source/pod_test.go +++ b/source/pod_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "fmt" "math/rand" "testing" @@ -934,7 +933,7 @@ func TestPodSourceLogs(t *testing.T) { } { t.Run(tc.title, func(t *testing.T) { kubernetes := fake.NewClientset() - ctx := context.Background() + ctx := t.Context() // Create the nodes for _, node := range tc.nodes { if _, err := kubernetes.CoreV1().Nodes().Create(ctx, node, metav1.CreateOptions{}); err != nil { @@ -1102,7 +1101,7 @@ func TestPodTransformerInPodSource(t *testing.T) { }, } - _, err := fakeClient.CoreV1().Pods(pod.Namespace).Create(context.Background(), pod, metav1.CreateOptions{}) + _, err := fakeClient.CoreV1().Pods(pod.Namespace).Create(t.Context(), pod, metav1.CreateOptions{}) require.NoError(t, err) // Should not error when creating the source @@ -1183,7 +1182,7 @@ func TestPodTransformerInPodSource(t *testing.T) { }, } - _, err := fakeClient.CoreV1().Pods(pod.Namespace).Create(context.Background(), pod, metav1.CreateOptions{}) + _, err := fakeClient.CoreV1().Pods(pod.Namespace).Create(t.Context(), pod, metav1.CreateOptions{}) require.NoError(t, err) // Should not error when creating the source diff --git a/source/service_test.go b/source/service_test.go index c92de5914..b482269c9 100644 --- a/source/service_test.go +++ b/source/service_test.go @@ -160,7 +160,7 @@ func testServiceSourceNewServiceSource(t *testing.T) { t.Parallel() _, err := NewServiceSource( - context.TODO(), + t.Context(), fake.NewClientset(), "", ti.annotationFilter, @@ -190,9 +190,9 @@ func testServiceSourceNewServiceSource(t *testing.T) { // testServiceSourceEndpoints tests that various services generate the correct endpoints. func testServiceSourceEndpoints(t *testing.T) { - exampleDotComIP4, err := net.DefaultResolver.LookupNetIP(context.Background(), "ip4", "example.com") + exampleDotComIP4, err := net.DefaultResolver.LookupNetIP(t.Context(), "ip4", "example.com") assert.NoError(t, err) - exampleDotComIP6, err := net.DefaultResolver.LookupNetIP(context.Background(), "ip6", "example.com") + exampleDotComIP6, err := net.DefaultResolver.LookupNetIP(t.Context(), "ip6", "example.com") assert.NoError(t, err) t.Parallel() @@ -1132,7 +1132,7 @@ func testServiceSourceEndpoints(t *testing.T) { }, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) var sourceLabel labels.Selector @@ -1145,7 +1145,7 @@ func testServiceSourceEndpoints(t *testing.T) { // Create our object under test and get the endpoints. client, err := NewServiceSource( - context.TODO(), + t.Context(), kubernetes, tc.targetNamespace, tc.annotationFilter, @@ -1166,7 +1166,7 @@ func testServiceSourceEndpoints(t *testing.T) { require.NoError(t, err) - res, err := client.Endpoints(context.Background()) + res, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { @@ -1356,13 +1356,13 @@ func testMultipleServicesEndpoints(t *testing.T) { }, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) } // Create our object under test and get the endpoints. client, err := NewServiceSource( - context.TODO(), + t.Context(), kubernetes, tc.targetNamespace, tc.annotationFilter, @@ -1382,7 +1382,7 @@ func testMultipleServicesEndpoints(t *testing.T) { ) require.NoError(t, err) - res, err := client.Endpoints(context.Background()) + res, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { @@ -1656,7 +1656,7 @@ func TestClusterIpServices(t *testing.T) { }, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) var labelSelector labels.Selector @@ -1668,7 +1668,7 @@ func TestClusterIpServices(t *testing.T) { } // Create our object under test and get the endpoints. client, _ := NewServiceSource( - context.TODO(), + t.Context(), kubernetes, tc.targetNamespace, tc.annotationFilter, @@ -1688,7 +1688,7 @@ func TestClusterIpServices(t *testing.T) { ) require.NoError(t, err) - endpoints, err := client.Endpoints(context.Background()) + endpoints, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { @@ -2442,7 +2442,7 @@ func TestServiceSourceNodePortServices(t *testing.T) { // Create the nodes for _, node := range tc.nodes { - if _, err := kubernetes.CoreV1().Nodes().Create(context.Background(), node, metav1.CreateOptions{}); err != nil { + if _, err := kubernetes.CoreV1().Nodes().Create(t.Context(), node, metav1.CreateOptions{}); err != nil { t.Fatal(err) } } @@ -2468,7 +2468,7 @@ func TestServiceSourceNodePortServices(t *testing.T) { }, } - _, err := kubernetes.CoreV1().Pods(tc.svcNamespace).Create(context.Background(), pod, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Pods(tc.svcNamespace).Create(t.Context(), pod, metav1.CreateOptions{}) require.NoError(t, err) } @@ -2491,12 +2491,12 @@ func TestServiceSourceNodePortServices(t *testing.T) { }, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) // Create our object under test and get the endpoints. client, _ := NewServiceSource( - context.TODO(), + t.Context(), kubernetes, tc.targetNamespace, tc.annotationFilter, @@ -2516,7 +2516,7 @@ func TestServiceSourceNodePortServices(t *testing.T) { ) require.NoError(t, err) - endpoints, err := client.Endpoints(context.Background()) + endpoints, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { @@ -3347,7 +3347,7 @@ func TestHeadlessServices(t *testing.T) { }, Status: v1.ServiceStatus{}, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) var endpointSliceEndpoints []discoveryv1.Endpoint @@ -3369,7 +3369,7 @@ func TestHeadlessServices(t *testing.T) { }, } - _, err = kubernetes.CoreV1().Pods(tc.svcNamespace).Create(context.Background(), pod, metav1.CreateOptions{}) + _, err = kubernetes.CoreV1().Pods(tc.svcNamespace).Create(t.Context(), pod, metav1.CreateOptions{}) require.NoError(t, err) ep := discoveryv1.Endpoint{ @@ -3396,16 +3396,16 @@ func TestHeadlessServices(t *testing.T) { AddressType: discoveryv1.AddressTypeIPv4, Endpoints: endpointSliceEndpoints, } - _, err = kubernetes.DiscoveryV1().EndpointSlices(tc.svcNamespace).Create(context.Background(), endpointSlice, metav1.CreateOptions{}) + _, err = kubernetes.DiscoveryV1().EndpointSlices(tc.svcNamespace).Create(t.Context(), endpointSlice, metav1.CreateOptions{}) require.NoError(t, err) for _, node := range tc.nodes { - _, err = kubernetes.CoreV1().Nodes().Create(context.Background(), &node, metav1.CreateOptions{}) + _, err = kubernetes.CoreV1().Nodes().Create(t.Context(), &node, metav1.CreateOptions{}) require.NoError(t, err) } // Create our object under test and get the endpoints. client, _ := NewServiceSource( - context.TODO(), + t.Context(), kubernetes, tc.targetNamespace, "", @@ -3425,7 +3425,7 @@ func TestHeadlessServices(t *testing.T) { ) require.NoError(t, err) - endpoints, err := client.Endpoints(context.Background()) + endpoints, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { @@ -3894,17 +3894,17 @@ func TestMultipleHeadlessServicesPointingToPodsOnTheSameNode(t *testing.T) { } for _, svc := range headless { - _, err := kubernetes.CoreV1().Services(svc.Namespace).Create(context.Background(), svc, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(svc.Namespace).Create(t.Context(), svc, metav1.CreateOptions{}) require.NoError(t, err) } for _, pod := range pods { - _, err := kubernetes.CoreV1().Pods(pod.Namespace).Create(context.Background(), pod, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Pods(pod.Namespace).Create(t.Context(), pod, metav1.CreateOptions{}) require.NoError(t, err) } for _, ep := range endpoints { - _, err := kubernetes.DiscoveryV1().EndpointSlices(ep.Namespace).Create(context.Background(), ep, metav1.CreateOptions{}) + _, err := kubernetes.DiscoveryV1().EndpointSlices(ep.Namespace).Create(t.Context(), ep, metav1.CreateOptions{}) require.NoError(t, err) } @@ -3930,7 +3930,7 @@ func TestMultipleHeadlessServicesPointingToPodsOnTheSameNode(t *testing.T) { require.NoError(t, err) assert.NotNil(t, src) - got, err := src.Endpoints(context.Background()) + got, err := src.Endpoints(t.Context()) require.NoError(t, err) want := []*endpoint.Endpoint{ @@ -4319,7 +4319,7 @@ func TestHeadlessServicesHostIP(t *testing.T) { }, Status: v1.ServiceStatus{}, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) var endpointsSlicesEndpoints []discoveryv1.Endpoint @@ -4340,7 +4340,7 @@ func TestHeadlessServicesHostIP(t *testing.T) { }, } - _, err = kubernetes.CoreV1().Pods(tc.svcNamespace).Create(context.Background(), pod, metav1.CreateOptions{}) + _, err = kubernetes.CoreV1().Pods(tc.svcNamespace).Create(t.Context(), pod, metav1.CreateOptions{}) require.NoError(t, err) ep := discoveryv1.Endpoint{ @@ -4363,12 +4363,12 @@ func TestHeadlessServicesHostIP(t *testing.T) { AddressType: discoveryv1.AddressTypeIPv4, Endpoints: endpointsSlicesEndpoints, } - _, err = kubernetes.DiscoveryV1().EndpointSlices(tc.svcNamespace).Create(context.Background(), endpointSlice, metav1.CreateOptions{}) + _, err = kubernetes.DiscoveryV1().EndpointSlices(tc.svcNamespace).Create(t.Context(), endpointSlice, metav1.CreateOptions{}) require.NoError(t, err) // Create our object under test and get the endpoints. client, _ := NewServiceSource( - context.TODO(), + t.Context(), kubernetes, tc.targetNamespace, "", @@ -4388,7 +4388,7 @@ func TestHeadlessServicesHostIP(t *testing.T) { ) require.NoError(t, err) - endpoints, err := client.Endpoints(context.Background()) + endpoints, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { @@ -4574,12 +4574,12 @@ func TestExternalServices(t *testing.T) { }, Status: v1.ServiceStatus{}, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(t.Context(), service, metav1.CreateOptions{}) require.NoError(t, err) // Create our object under test and get the endpoints. client, _ := NewServiceSource( - context.TODO(), + t.Context(), kubernetes, tc.targetNamespace, "", @@ -4599,7 +4599,7 @@ func TestExternalServices(t *testing.T) { ) require.NoError(t, err) - endpoints, err := client.Endpoints(context.Background()) + endpoints, err := client.Endpoints(t.Context()) if tc.expectError { require.Error(t, err) } else { @@ -4638,11 +4638,11 @@ func BenchmarkServiceEndpoints(b *testing.B) { }, } - _, err := kubernetes.CoreV1().Services(service.Namespace).Create(context.Background(), service, metav1.CreateOptions{}) + _, err := kubernetes.CoreV1().Services(service.Namespace).Create(b.Context(), service, metav1.CreateOptions{}) require.NoError(b, err) client, err := NewServiceSource( - context.TODO(), + b.Context(), kubernetes, v1.NamespaceAll, "", @@ -4663,7 +4663,7 @@ func BenchmarkServiceEndpoints(b *testing.B) { require.NoError(b, err) for b.Loop() { - _, err := client.Endpoints(context.Background()) + _, err := client.Endpoints(b.Context()) require.NoError(b, err) } } @@ -4774,7 +4774,7 @@ func TestNewServiceSourceWithServiceTypeFilters_Unsupported(t *testing.T) { serviceTypeFilter := []string{"ClusterIP", "ServiceTypeNotExist"} svc, err := NewServiceSource( - context.TODO(), + t.Context(), fake.NewClientset(), "default", "", @@ -5035,7 +5035,7 @@ func TestPodTransformerInServiceSource(t *testing.T) { }, } - _, err := fakeClient.CoreV1().Pods(pod.Namespace).Create(context.Background(), pod, metav1.CreateOptions{}) + _, err := fakeClient.CoreV1().Pods(pod.Namespace).Create(t.Context(), pod, metav1.CreateOptions{}) require.NoError(t, err) // Should not error when creating the source diff --git a/source/skipper_routegroup_test.go b/source/skipper_routegroup_test.go index bd59401aa..c88c936e5 100644 --- a/source/skipper_routegroup_test.go +++ b/source/skipper_routegroup_test.go @@ -17,11 +17,11 @@ limitations under the License. package source import ( - "context" "errors" "testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/source/annotations" "sigs.k8s.io/external-dns/source/fqdn" @@ -797,7 +797,7 @@ func TestRouteGroupsEndpoints(t *testing.T) { tt.source.fqdnTemplate = tmpl } - got, err := tt.source.Endpoints(context.Background()) + got, err := tt.source.Endpoints(t.Context()) if err != nil && !tt.wantErr { t.Errorf("Got error, but does not want to get an error: %v", err) } @@ -831,7 +831,7 @@ func TestResourceLabelIsSet(t *testing.T) { }, } - got, _ := source.Endpoints(context.Background()) + got, _ := source.Endpoints(t.Context()) for _, ep := range got { if _, ok := ep.Labels[endpoint.ResourceLabelKey]; !ok { t.Errorf("Failed to set resource label on ep %v", ep) diff --git a/source/store_test.go b/source/store_test.go index ddba19558..a3434db20 100644 --- a/source/store_test.go +++ b/source/store_test.go @@ -37,8 +37,9 @@ import ( "k8s.io/client-go/kubernetes" fakeKube "k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/rest" - "sigs.k8s.io/external-dns/source/types" gateway "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned" + + "sigs.k8s.io/external-dns/source/types" ) type MockClientGenerator struct { @@ -279,7 +280,7 @@ func (m *minimalMockClientGenerator) OpenShiftClient() (openshift.Interface, err func (m *minimalMockClientGenerator) RESTConfig() (*rest.Config, error) { return nil, errMock } func TestBuildWithConfig_InvalidSource(t *testing.T) { - ctx := context.Background() + ctx := t.Context() p := &minimalMockClientGenerator{} cfg := &Config{LabelFilter: labels.NewSelector()} diff --git a/source/traefik_proxy_test.go b/source/traefik_proxy_test.go index 9b7f8946c..265ec52f1 100644 --- a/source/traefik_proxy_test.go +++ b/source/traefik_proxy_test.go @@ -17,7 +17,6 @@ limitations under the License. package source import ( - "context" "encoding/json" "fmt" "testing" @@ -351,19 +350,19 @@ func TestTraefikProxyIngressRouteEndpoints(t *testing.T) { assert.NoError(t, ir.UnmarshalJSON(ingressRouteAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(ingressRouteGVR).Namespace(defaultTraefikNamespace).Create(context.Background(), &ir, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(ingressRouteGVR).Namespace(defaultTraefikNamespace).Create(t.Context(), &ir, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewTraefikSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, false, false) + source, err := NewTraefikSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, false, false) assert.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(ingressRouteGVR).Namespace(defaultTraefikNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(ingressRouteGVR).Namespace(defaultTraefikNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) @@ -643,19 +642,19 @@ func TestTraefikProxyIngressRouteTCPEndpoints(t *testing.T) { require.NoError(t, ir.UnmarshalJSON(ingressRouteAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(ingressRouteTCPGVR).Namespace(defaultTraefikNamespace).Create(context.Background(), &ir, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(ingressRouteTCPGVR).Namespace(defaultTraefikNamespace).Create(t.Context(), &ir, metav1.CreateOptions{}) require.NoError(t, err) - source, err := NewTraefikSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, false, false) + source, err := NewTraefikSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, false, false) require.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(ingressRouteTCPGVR).Namespace(defaultTraefikNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(ingressRouteTCPGVR).Namespace(defaultTraefikNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) @@ -783,19 +782,19 @@ func TestTraefikProxyIngressRouteUDPEndpoints(t *testing.T) { assert.NoError(t, ir.UnmarshalJSON(ingressRouteAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(ingressRouteUDPGVR).Namespace(defaultTraefikNamespace).Create(context.Background(), &ir, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(ingressRouteUDPGVR).Namespace(defaultTraefikNamespace).Create(t.Context(), &ir, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewTraefikSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, false, false) + source, err := NewTraefikSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, false, false) assert.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(ingressRouteUDPGVR).Namespace(defaultTraefikNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(ingressRouteUDPGVR).Namespace(defaultTraefikNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) @@ -1111,19 +1110,19 @@ func TestTraefikProxyOldIngressRouteEndpoints(t *testing.T) { assert.NoError(t, ir.UnmarshalJSON(ingressRouteAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(oldIngressRouteGVR).Namespace(defaultTraefikNamespace).Create(context.Background(), &ir, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(oldIngressRouteGVR).Namespace(defaultTraefikNamespace).Create(t.Context(), &ir, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewTraefikSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, true, false) + source, err := NewTraefikSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, true, false) assert.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(oldIngressRouteGVR).Namespace(defaultTraefikNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(oldIngressRouteGVR).Namespace(defaultTraefikNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) @@ -1403,19 +1402,19 @@ func TestTraefikProxyOldIngressRouteTCPEndpoints(t *testing.T) { assert.NoError(t, ir.UnmarshalJSON(ingressRouteAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(oldIngressRouteTCPGVR).Namespace(defaultTraefikNamespace).Create(context.Background(), &ir, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(oldIngressRouteTCPGVR).Namespace(defaultTraefikNamespace).Create(t.Context(), &ir, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewTraefikSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, true, false) + source, err := NewTraefikSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, true, false) assert.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(oldIngressRouteTCPGVR).Namespace(defaultTraefikNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(oldIngressRouteTCPGVR).Namespace(defaultTraefikNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) @@ -1543,19 +1542,19 @@ func TestTraefikProxyOldIngressRouteUDPEndpoints(t *testing.T) { assert.NoError(t, ir.UnmarshalJSON(ingressRouteAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(oldIngressRouteUDPGVR).Namespace(defaultTraefikNamespace).Create(context.Background(), &ir, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(oldIngressRouteUDPGVR).Namespace(defaultTraefikNamespace).Create(t.Context(), &ir, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewTraefikSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, true, false) + source, err := NewTraefikSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, true, false) assert.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(oldIngressRouteUDPGVR).Namespace(defaultTraefikNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(oldIngressRouteUDPGVR).Namespace(defaultTraefikNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) @@ -1704,19 +1703,19 @@ func TestTraefikAPIGroupFlags(t *testing.T) { assert.NoError(t, ir.UnmarshalJSON(ingressRouteAsJSON)) // Create proxy resources - _, err = fakeDynamicClient.Resource(ti.gvr).Namespace(defaultTraefikNamespace).Create(context.Background(), &ir, metav1.CreateOptions{}) + _, err = fakeDynamicClient.Resource(ti.gvr).Namespace(defaultTraefikNamespace).Create(t.Context(), &ir, metav1.CreateOptions{}) assert.NoError(t, err) - source, err := NewTraefikSource(context.TODO(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, ti.enableLegacy, ti.disableNew) + source, err := NewTraefikSource(t.Context(), fakeDynamicClient, fakeKubernetesClient, defaultTraefikNamespace, "kubernetes.io/ingress.class=traefik", ti.ignoreHostnameAnnotation, ti.enableLegacy, ti.disableNew) assert.NoError(t, err) assert.NotNil(t, source) count := &unstructured.UnstructuredList{} for len(count.Items) < 1 { - count, _ = fakeDynamicClient.Resource(ti.gvr).Namespace(defaultTraefikNamespace).List(context.Background(), metav1.ListOptions{}) + count, _ = fakeDynamicClient.Resource(ti.gvr).Namespace(defaultTraefikNamespace).List(t.Context(), metav1.ListOptions{}) } - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) assert.NoError(t, err) validateEndpoints(t, endpoints, ti.expected) }) @@ -1724,7 +1723,7 @@ func TestTraefikAPIGroupFlags(t *testing.T) { } func TestAddEventHandler_AllBranches(t *testing.T) { - ctx := context.Background() + ctx := t.Context() handlerCalled := false handler := func() { handlerCalled = true } diff --git a/source/wrappers/dedupsource_test.go b/source/wrappers/dedupsource_test.go index ad680465d..6ce86b715 100644 --- a/source/wrappers/dedupsource_test.go +++ b/source/wrappers/dedupsource_test.go @@ -17,11 +17,11 @@ limitations under the License. package wrappers import ( - "context" "testing" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/internal/testutils" logtest "sigs.k8s.io/external-dns/internal/testutils/log" @@ -148,7 +148,7 @@ func testDedupEndpoints(t *testing.T) { // Create our object under test and get the endpoints. source := NewDedupSource(mockSource) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) if err != nil { t.Fatal(err) } @@ -304,7 +304,7 @@ func TestDedupEndpointsValidation(t *testing.T) { mockSource.On("Endpoints").Return(tt.endpoints, nil) sr := NewDedupSource(mockSource) - endpoints, err := sr.Endpoints(context.Background()) + endpoints, err := sr.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, tt.expected) @@ -349,7 +349,7 @@ func TestDedupSource_WarnsOnInvalidEndpoint(t *testing.T) { mockSource.On("Endpoints").Return([]*endpoint.Endpoint{tt.endpoint}, nil) src := NewDedupSource(mockSource) - _, err := src.Endpoints(context.Background()) + _, err := src.Endpoints(t.Context()) require.NoError(t, err) logtest.TestHelperLogContains(tt.wantLogMsg, hook, t) diff --git a/source/wrappers/multisource_test.go b/source/wrappers/multisource_test.go index 9ba418c2f..76f3a1f92 100644 --- a/source/wrappers/multisource_test.go +++ b/source/wrappers/multisource_test.go @@ -17,12 +17,12 @@ limitations under the License. package wrappers import ( - "context" "errors" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/source" "sigs.k8s.io/external-dns/endpoint" @@ -93,7 +93,7 @@ func testMultiSourceEndpoints(t *testing.T) { source := NewMultiSource(sources, nil, false) // Get endpoints from the source. - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) // Validate returned endpoints against desired endpoints. @@ -120,7 +120,7 @@ func testMultiSourceEndpointsWithError(t *testing.T) { source := NewMultiSource([]source.Source{src}, nil, false) // Get endpoints from our source. - _, err := source.Endpoints(context.Background()) + _, err := source.Endpoints(t.Context()) assert.EqualError(t, err, "some error") // Validate that the nested source was called. @@ -158,7 +158,7 @@ func testMultiSourceEndpointsDefaultTargets(t *testing.T) { // Test with forceDefaultTargets=false (default behavior) source := NewMultiSource([]source.Source{src}, defaultTargets, false) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, expectedEndpoints) @@ -188,7 +188,7 @@ func testMultiSourceEndpointsDefaultTargets(t *testing.T) { // Test with forceDefaultTargets=false (default behavior) source := NewMultiSource([]source.Source{src}, defaultTargets, false) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, expectedEndpoints) @@ -226,7 +226,7 @@ func testMultiSourceEndpointsDefaultTargets(t *testing.T) { // Test with forceDefaultTargets=true (legacy behavior) source := NewMultiSource([]source.Source{src}, defaultTargets, true) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, expectedEndpoints) @@ -261,7 +261,7 @@ func testMultiSourceEndpointsDefaultTargets(t *testing.T) { // Test with forceDefaultTargets=true source := NewMultiSource([]source.Source{src}, defaultTargets, true) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, expectedEndpoints) diff --git a/source/wrappers/nat64source_test.go b/source/wrappers/nat64source_test.go index b4dd32209..5c7c5f076 100644 --- a/source/wrappers/nat64source_test.go +++ b/source/wrappers/nat64source_test.go @@ -17,12 +17,12 @@ limitations under the License. package wrappers import ( - "context" "net/netip" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/internal/testutils" "sigs.k8s.io/external-dns/source" @@ -80,7 +80,7 @@ func testNat64Source(t *testing.T) { source, err := NewNAT64Source(mockSource, []string{"2001:DB8::/96"}) require.NoError(t, err) - endpoints, err := source.Endpoints(context.Background()) + endpoints, err := source.Endpoints(t.Context()) require.NoError(t, err) // Validate returned endpoints against desired endpoints. @@ -261,7 +261,7 @@ func TestNat64SourceEndpoints_VariousCases(t *testing.T) { src, err := NewNAT64Source(mockSource, []string{"2001:db8::/96"}) require.NoError(t, err) - eps, err := src.Endpoints(context.Background()) + eps, err := src.Endpoints(t.Context()) tc.asserts(eps, err) mockSource.AssertExpectations(t) diff --git a/source/wrappers/post_processor_test.go b/source/wrappers/post_processor_test.go index 4de7802d5..32bdae7fc 100644 --- a/source/wrappers/post_processor_test.go +++ b/source/wrappers/post_processor_test.go @@ -17,7 +17,6 @@ limitations under the License. package wrappers import ( - "context" "testing" "time" @@ -155,7 +154,7 @@ func TestPostProcessorEndpointsWithTTL(t *testing.T) { ttl, _ := time.ParseDuration(tt.ttl) src := NewPostProcessor(ms, WithTTL(ttl)) - endpoints, err := src.Endpoints(context.Background()) + endpoints, err := src.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, tt.expected) }) @@ -236,7 +235,7 @@ func TestPostProcessorEndpointsWithPreferAlias(t *testing.T) { ms.On("Endpoints").Return(tt.endpoints, nil) src := NewPostProcessor(ms, WithPostProcessorPreferAlias(tt.preferAlias)) - endpoints, err := src.Endpoints(context.Background()) + endpoints, err := src.Endpoints(t.Context()) require.NoError(t, err) validateEndpoints(t, endpoints, tt.expected) }) diff --git a/source/wrappers/targetfiltersource_test.go b/source/wrappers/targetfiltersource_test.go index 0e7205e88..b65852710 100644 --- a/source/wrappers/targetfiltersource_test.go +++ b/source/wrappers/targetfiltersource_test.go @@ -20,7 +20,6 @@ import ( "testing" "github.com/stretchr/testify/require" - "golang.org/x/net/context" "sigs.k8s.io/external-dns/internal/testutils" "sigs.k8s.io/external-dns/source" @@ -58,7 +57,7 @@ func TestEchoSourceReturnGivenSources(t *testing.T) { }} e := testutils.NewMockSource(startEndpoints...) - endpoints, err := e.Endpoints(context.Background()) + endpoints, err := e.Endpoints(t.Context()) if err != nil { t.Errorf("Expected no error but got %s", err.Error()) } @@ -127,7 +126,7 @@ func TestTargetFilterSourceEndpoints(t *testing.T) { echo := testutils.NewMockSource(tt.endpoints...) src := NewTargetFilterSource(echo, tt.filters) - endpoints, err := src.Endpoints(context.Background()) + endpoints, err := src.Endpoints(t.Context()) require.NoError(t, err, "failed to get Endpoints") validateEndpoints(t, endpoints, tt.expected) }) @@ -209,7 +208,7 @@ func TestTargetFilterConcreteTargetFilter(t *testing.T) { echo := testutils.NewMockSource(tt.endpoints...) src := NewTargetFilterSource(echo, tt.filters) - endpoints, err := src.Endpoints(context.Background()) + endpoints, err := src.Endpoints(t.Context()) require.NoError(t, err, "failed to get Endpoints") validateEndpoints(t, endpoints, tt.expected)