40
40
41
41
#if ! NETFX_CORE
42
42
using System ;
43
+ using System . Net ;
43
44
using System . Net . Sockets ;
44
45
using System . Threading ;
45
46
using NUnit . Framework ;
@@ -52,14 +53,28 @@ namespace RabbitMQ.Client.Unit
52
53
public class TestTcpClientAdapter
53
54
{
54
55
[ Test ]
55
- public void ConnectAsyncThrowsArgumentExceptionWhenNoAddressForAddressFamilyCanBeFound ( )
56
+ public void TcpClientAdapterHelperGetMatchingHostReturnNoAddressIfFamilyDoesNotMatch ( )
56
57
{
57
- var socket = new Socket ( AddressFamily . Unix , SocketType . Stream , ProtocolType . IP ) ;
58
- var sut = new TcpClientAdapter ( socket ) ;
59
- Assert . Throws < ArgumentException > ( ( ) =>
60
- {
61
- sut . ConnectAsync ( "localhost" , 5672 ) . GetAwaiter ( ) . GetResult ( ) ;
62
- } ) ;
58
+ var address = IPAddress . Parse ( "127.0.0.1" ) ;
59
+ var matchingAddress = TcpClientAdapterHelper . GetMatchingHost ( new [ ] { address } , AddressFamily . InterNetworkV6 ) ;
60
+ Assert . IsNull ( matchingAddress ) ;
61
+ }
62
+
63
+ [ Test ]
64
+ public void TcpClientAdapterHelperGetMatchingHostReturnsSingleAddressIfFamilyIsUnspecified ( )
65
+ {
66
+ var address = IPAddress . Parse ( "1.1.1.1" ) ;
67
+ var matchingAddress = TcpClientAdapterHelper . GetMatchingHost ( new [ ] { address } , AddressFamily . Unspecified ) ;
68
+ Assert . AreEqual ( address , matchingAddress ) ;
69
+ }
70
+
71
+ [ Test ]
72
+ public void TcpClientAdapterHelperGetMatchingHostReturnNoAddressIfFamilyIsUnspecifiedAndThereIsNoSingleMatch ( )
73
+ {
74
+ var address = IPAddress . Parse ( "1.1.1.1" ) ;
75
+ var address2 = IPAddress . Parse ( "2.2.2.2" ) ;
76
+ var matchingAddress = TcpClientAdapterHelper . GetMatchingHost ( new [ ] { address , address2 } , AddressFamily . Unspecified ) ;
77
+ Assert . IsNull ( matchingAddress ) ;
63
78
}
64
79
}
65
80
}
0 commit comments