Skip to content

Commit 69429a5

Browse files
authored
test(cloudflare): modernize zoneDomainFilter test (#5853)
1 parent b91000a commit 69429a5

File tree

1 file changed

+8
-31
lines changed

1 file changed

+8
-31
lines changed

provider/cloudflare/cloudflare_test.go

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1824,7 +1824,6 @@ func TestCloudFlareProvider_Region(t *testing.T) {
18241824
assert.True(t, provider.RegionalServicesConfig.Enabled, "expect regional services to be enabled")
18251825
assert.Equal(t, "us", provider.RegionalServicesConfig.RegionKey, "expected region key to be 'us'")
18261826
}
1827-
18281827
func TestCloudFlareProvider_newCloudFlareChange(t *testing.T) {
18291828
_ = os.Setenv("CF_API_KEY", "xxxxxxxxxxxxxxxxx")
18301829
_ = os.Setenv("CF_API_EMAIL", "[email protected]")
@@ -3218,41 +3217,20 @@ func TestConvertCloudflareErrorInContext(t *testing.T) {
32183217
}
32193218

32203219
func TestCloudFlareZonesDomainFilter(t *testing.T) {
3221-
// Set required environment variables for CloudFlare provider
3222-
t.Setenv("CF_API_TOKEN", "test-token")
3223-
3224-
client := NewMockCloudFlareClient()
3225-
32263220
// Create a domain filter that only matches "bar.com"
32273221
// This should filter out "foo.com" and trigger the debug log
32283222
domainFilter := endpoint.NewDomainFilter([]string{"bar.com"})
32293223

3230-
p, err := NewCloudFlareProvider(
3231-
domainFilter,
3232-
provider.NewZoneIDFilter([]string{""}), // empty zone ID filter so it uses ListZones path
3233-
false, // proxied
3234-
false, // dry run
3235-
RegionalServicesConfig{},
3236-
CustomHostnamesConfig{},
3237-
DNSRecordsConfig{PerPage: 50},
3238-
)
3239-
require.NoError(t, err)
3240-
3241-
// Replace the real client with our mock
3242-
p.Client = client
3224+
p := &CloudFlareProvider{
3225+
Client: NewMockCloudFlareClient(),
3226+
domainFilter: domainFilter,
3227+
}
32433228

32443229
// Capture debug logs to verify the filter log message
3245-
oldLevel := log.GetLevel()
3246-
log.SetLevel(log.DebugLevel)
3247-
defer log.SetLevel(oldLevel)
3248-
3249-
// Use a custom formatter to capture log output
3250-
var logOutput strings.Builder
3251-
log.SetOutput(&logOutput)
3252-
defer log.SetOutput(os.Stderr)
3230+
hook := testutils.LogsUnderTestWithLogLevel(log.DebugLevel, t)
32533231

32543232
// Call Zones() which should trigger the domain filter logic
3255-
zones, err := p.Zones(context.Background())
3233+
zones, err := p.Zones(t.Context())
32563234
require.NoError(t, err)
32573235

32583236
// Should only return the "bar.com" zone since "foo.com" is filtered out
@@ -3261,9 +3239,8 @@ func TestCloudFlareZonesDomainFilter(t *testing.T) {
32613239
assert.Equal(t, "001", zones[0].ID)
32623240

32633241
// Verify that the debug log was written for the filtered zone
3264-
logString := logOutput.String()
3265-
assert.Contains(t, logString, `zone \"foo.com\" not in domain filter`)
3266-
assert.Contains(t, logString, "no zoneIDFilter configured, looking at all zones")
3242+
testutils.TestHelperLogContains("zone \"foo.com\" not in domain filter", hook, t)
3243+
testutils.TestHelperLogContains("no zoneIDFilter configured, looking at all zones", hook, t)
32673244
}
32683245

32693246
func TestZoneIDByNameIteratorError(t *testing.T) {

0 commit comments

Comments
 (0)