Skip to content

Commit cc0c257

Browse files
committed
Simplify Configure calls, fix broken tests
1 parent 5a427a6 commit cc0c257

File tree

4 files changed

+19
-18
lines changed

4 files changed

+19
-18
lines changed

src/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns/Resolver/DnsResolver.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,12 @@ public DnsResolver(TimeProvider timeProvider, ILogger<DnsResolver> logger, IOpti
4848
}
4949
}
5050

51-
internal DnsResolver(DnsResolverOptions options) : this(TimeProvider.System, NullLogger<DnsResolver>.Instance, new OptionsWrapper<DnsResolverOptions>(options))
52-
{
53-
}
54-
55-
internal DnsResolver(IEnumerable<IPEndPoint> servers) : this(new DnsResolverOptions { Servers = servers.ToArray() })
56-
{
57-
}
58-
59-
internal DnsResolver(IPEndPoint server) : this(new DnsResolverOptions { Servers = [server] })
51+
// This constructor is for unit testing only. Does not auto-add system DNS servers.
52+
internal DnsResolver(DnsResolverOptions options)
6053
{
54+
_timeProvider = TimeProvider.System;
55+
_logger = NullLogger<DnsResolver>.Instance;
56+
_options = options;
6157
}
6258

6359
public ValueTask<ServiceResult[]> ResolveServiceAsync(string name, CancellationToken cancellationToken = default)

src/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns/ServiceDiscoveryDnsServiceCollectionExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public static IServiceCollection AddDnsSrvServiceEndpointProvider(this IServiceC
6060

6161
services.AddSingleton<IServiceEndpointProviderFactory, DnsSrvServiceEndpointProviderFactory>();
6262
var options = services.AddOptions<DnsSrvServiceEndpointProviderOptions>();
63-
options.Configure(o => configureOptions.Invoke(o));
63+
options.Configure(configureOptions);
6464

6565
return services;
6666

@@ -109,7 +109,7 @@ public static IServiceCollection AddDnsServiceEndpointProvider(this IServiceColl
109109

110110
services.AddSingleton<IServiceEndpointProviderFactory, DnsServiceEndpointProviderFactory>();
111111
var options = services.AddOptions<DnsServiceEndpointProviderOptions>();
112-
options.Configure(o => configureOptions.Invoke(o));
112+
options.Configure(configureOptions);
113113

114114
return services;
115115
}

test/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns.Tests/ServiceDiscoveryDnsServiceCollectionExtensionsTests.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ public void AddDnsServiceEndpointProviderShouldRegisterDependentServices()
2121
services.AddDnsServiceEndpointProvider();
2222

2323
using var serviceProvider = services.BuildServiceProvider(true);
24-
_ = serviceProvider.GetServices<IServiceEndpointProviderFactory>();
24+
25+
var exception = Record.Exception(() => serviceProvider.GetServices<IServiceEndpointProviderFactory>());
26+
Assert.Null(exception);
2527
}
2628

2729
[Fact]
@@ -31,7 +33,9 @@ public void AddDnsSrvServiceEndpointProviderShouldRegisterDependentServices()
3133
services.AddDnsSrvServiceEndpointProvider();
3234

3335
using var serviceProvider = services.BuildServiceProvider(true);
34-
_ = serviceProvider.GetServices<IServiceEndpointProviderFactory>();
36+
37+
var exception = Record.Exception(() => serviceProvider.GetServices<IServiceEndpointProviderFactory>());
38+
Assert.Null(exception);
3539
}
3640

3741
[Fact]

test/Libraries/Microsoft.Extensions.ServiceDiscovery.Yarp.Tests/YarpServiceDiscoveryTests.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

4-
using Microsoft.Extensions.DependencyInjection;
5-
using Microsoft.Extensions.Hosting;
6-
using Yarp.ReverseProxy.Configuration;
74
using System.Net;
85
using System.Net.Sockets;
9-
using Microsoft.Extensions.ServiceDiscovery.Dns.Resolver;
106
using Microsoft.Extensions.Configuration;
7+
using Microsoft.Extensions.DependencyInjection;
8+
using Microsoft.Extensions.Hosting;
9+
using Microsoft.Extensions.Logging.Abstractions;
1110
using Microsoft.Extensions.Options;
1211
using Microsoft.Extensions.ServiceDiscovery.Dns;
12+
using Microsoft.Extensions.ServiceDiscovery.Dns.Resolver;
13+
using Yarp.ReverseProxy.Configuration;
1314

1415
namespace Microsoft.Extensions.ServiceDiscovery.Yarp.Tests;
1516

@@ -231,7 +232,7 @@ public async Task ServiceDiscoveryDestinationResolverTests_Configuration_Disallo
231232
[Fact]
232233
public async Task ServiceDiscoveryDestinationResolverTests_Dns()
233234
{
234-
DnsResolver resolver = new DnsResolver(new DnsResolverOptions());
235+
DnsResolver resolver = new DnsResolver(TimeProvider.System, NullLogger<DnsResolver>.Instance, new OptionsWrapper<DnsResolverOptions>(new DnsResolverOptions()));
235236

236237
await using var services = new ServiceCollection()
237238
.AddSingleton<IDnsResolver>(resolver)

0 commit comments

Comments
 (0)