@@ -27,8 +27,8 @@ public class ConnectionStringTests {
27
27
} ;
28
28
29
29
settings . ConnectivitySettings . Address =
30
- new UriBuilder ( EventStoreClientConnectivitySettings . Default . Address ) {
31
- Scheme = settings . ConnectivitySettings . Address . Scheme
30
+ new UriBuilder ( EventStoreClientConnectivitySettings . Default . ResolvedAddressOrDefault ) {
31
+ Scheme = settings . ConnectivitySettings . ResolvedAddressOrDefault . Scheme
32
32
} . Uri ;
33
33
34
34
yield return new object ? [ ] {
@@ -48,8 +48,8 @@ public class ConnectionStringTests {
48
48
} ;
49
49
50
50
ipGossipSettings . ConnectivitySettings . Address =
51
- new UriBuilder ( EventStoreClientConnectivitySettings . Default . Address ) {
52
- Scheme = ipGossipSettings . ConnectivitySettings . Address . Scheme
51
+ new UriBuilder ( EventStoreClientConnectivitySettings . Default . ResolvedAddressOrDefault ) {
52
+ Scheme = ipGossipSettings . ConnectivitySettings . ResolvedAddressOrDefault . Scheme
53
53
} . Uri ;
54
54
55
55
ipGossipSettings . ConnectivitySettings . DnsGossipSeeds = null ;
@@ -73,7 +73,7 @@ public class ConnectionStringTests {
73
73
singleNodeSettings . ConnectivitySettings . DnsGossipSeeds = null ;
74
74
singleNodeSettings . ConnectivitySettings . IpGossipSeeds = null ;
75
75
singleNodeSettings . ConnectivitySettings . Address = new UriBuilder ( fixture . Create < Uri > ( ) ) {
76
- Scheme = singleNodeSettings . ConnectivitySettings . Address . Scheme
76
+ Scheme = singleNodeSettings . ConnectivitySettings . ResolvedAddressOrDefault . Scheme
77
77
} . Uri ;
78
78
79
79
yield return new object ? [ ] {
@@ -115,7 +115,7 @@ public void tls_verify_cert(bool tlsVerifyCert) {
115
115
var result = EventStoreClientSettings . Create ( connectionString ) ;
116
116
using var handler = result . CreateHttpMessageHandler ? . Invoke ( ) ;
117
117
#if NET
118
- var socketsHandler = Assert . IsType < SocketsHttpHandler > ( handler ) ;
118
+ var socketsHandler = Assert . IsType < SocketsHttpHandler > ( handler ) ;
119
119
if ( ! tlsVerifyCert ) {
120
120
Assert . NotNull ( socketsHandler . SslOptions . RemoteCertificateValidationCallback ) ;
121
121
Assert . True (
@@ -241,8 +241,8 @@ public void with_default_settings() {
241
241
242
242
Assert . Null ( settings . ConnectionName ) ;
243
243
Assert . Equal (
244
- EventStoreClientConnectivitySettings . Default . Address . Scheme ,
245
- settings . ConnectivitySettings . Address . Scheme
244
+ EventStoreClientConnectivitySettings . Default . ResolvedAddressOrDefault . Scheme ,
245
+ settings . ConnectivitySettings . ResolvedAddressOrDefault . Scheme
246
246
) ;
247
247
248
248
Assert . Equal (
@@ -301,7 +301,7 @@ public void use_tls(string connectionString, bool expectedUseTls) {
301
301
var result = EventStoreClientSettings . Create ( connectionString ) ;
302
302
var expectedScheme = expectedUseTls ? "https" : "http" ;
303
303
Assert . NotEqual ( expectedUseTls , result . ConnectivitySettings . Insecure ) ;
304
- Assert . Equal ( expectedScheme , result . ConnectivitySettings . Address . Scheme ) ;
304
+ Assert . Equal ( expectedScheme , result . ConnectivitySettings . ResolvedAddressOrDefault . Scheme ) ;
305
305
}
306
306
307
307
[ Theory ]
@@ -334,7 +334,20 @@ public void allow_tls_override_for_single_node(string connectionString, bool? in
334
334
335
335
var expectedScheme = expectedUseTls ? "https" : "http" ;
336
336
Assert . Equal ( expectedUseTls , ! settings . Insecure ) ;
337
- Assert . Equal ( expectedScheme , result . ConnectivitySettings . Address . Scheme ) ;
337
+ Assert . Equal ( expectedScheme , result . ConnectivitySettings . ResolvedAddressOrDefault . Scheme ) ;
338
+ }
339
+
340
+ [ Theory ]
341
+ [ InlineData ( "esdb://localhost:1234" , "localhost" , 1234 ) ]
342
+ [ InlineData ( "esdb://localhost:1234,localhost:4567" , null , null ) ]
343
+ [ InlineData ( "esdb+discover://localhost:1234" , null , null ) ]
344
+ [ InlineData ( "esdb+discover://localhost:1234,localhost:4567" , null , null ) ]
345
+ public void connection_string_with_custom_ports ( string connectionString , string ? expectedHost , int ? expectedPort ) {
346
+ var result = EventStoreClientSettings . Create ( connectionString ) ;
347
+ var connectivitySettings = result . ConnectivitySettings ;
348
+
349
+ Assert . Equal ( expectedHost , connectivitySettings . Address ? . Host ) ;
350
+ Assert . Equal ( expectedPort , connectivitySettings . Address ? . Port ) ;
338
351
}
339
352
340
353
static string GetConnectionString (
@@ -350,7 +363,7 @@ static string GetScheme(EventStoreClientSettings settings) =>
350
363
351
364
static string GetAuthority ( EventStoreClientSettings settings ) =>
352
365
settings . ConnectivitySettings . IsSingleNode
353
- ? $ "{ settings . ConnectivitySettings . Address . Host } :{ settings . ConnectivitySettings . Address . Port } "
366
+ ? $ "{ settings . ConnectivitySettings . ResolvedAddressOrDefault . Host } :{ settings . ConnectivitySettings . ResolvedAddressOrDefault . Port } "
354
367
: string . Join (
355
368
"," ,
356
369
settings . ConnectivitySettings . GossipSeeds . Select ( x => $ "{ x . GetHost ( ) } :{ x . GetPort ( ) } ")
@@ -447,7 +460,7 @@ public bool Equals(EventStoreClientConnectivitySettings? x, EventStoreClientConn
447
460
if ( x . GetType ( ) != y . GetType ( ) )
448
461
return false ;
449
462
450
- return ( ! x . IsSingleNode || x . Address . Equals ( y . Address ) ) &&
463
+ return ( ! x . IsSingleNode || x . ResolvedAddressOrDefault . Equals ( y . Address ) ) &&
451
464
x . MaxDiscoverAttempts == y . MaxDiscoverAttempts &&
452
465
x . GossipSeeds . SequenceEqual ( y . GossipSeeds ) &&
453
466
x . GossipTimeout . Equals ( y . GossipTimeout ) &&
@@ -461,7 +474,7 @@ public bool Equals(EventStoreClientConnectivitySettings? x, EventStoreClientConn
461
474
public int GetHashCode ( EventStoreClientConnectivitySettings obj ) =>
462
475
obj . GossipSeeds . Aggregate (
463
476
HashCode . Hash
464
- . Combine ( obj . Address . GetHashCode ( ) )
477
+ . Combine ( obj . ResolvedAddressOrDefault . GetHashCode ( ) )
465
478
. Combine ( obj . MaxDiscoverAttempts )
466
479
. Combine ( obj . GossipTimeout )
467
480
. Combine ( obj . DiscoveryInterval )
0 commit comments