1
- using NUnit . Framework ;
1
+ using System . Net . Sockets ;
2
+ using NUnit . Framework ;
2
3
using Whois . NET ;
3
4
4
5
namespace WhoisClient_NET . Test ;
@@ -21,7 +22,7 @@ public class IpTests
21
22
[ TestCaseSource ( nameof ( IpTestCases ) ) ]
22
23
public void WhoisClientTest ( string ip , string expectedOrgName , string expectedAddressRange )
23
24
{
24
- var response = WhoisClient . Query ( ip ) ;
25
+ var response = WhoisClient . Query ( ip , new WhoisQueryOptions ( ) ) ;
25
26
response . OrganizationName . Is ( expectedOrgName ) ;
26
27
response . AddressRange . ToString ( ) . Is ( expectedAddressRange ) ;
27
28
}
@@ -30,8 +31,100 @@ public void WhoisClientTest(string ip, string expectedOrgName, string expectedAd
30
31
[ TestCaseSource ( nameof ( IpTestCases ) ) ]
31
32
public async Task WhoisClientAsyncTest ( string ip , string expectedOrgName , string expectedAddressRange )
32
33
{
33
- var response = await WhoisClient . QueryAsync ( ip ) ;
34
+ var response = await WhoisClient . QueryAsync ( ip , new WhoisQueryOptions ( ) ) ;
34
35
response . OrganizationName . Is ( expectedOrgName ) ;
35
36
response . AddressRange . ToString ( ) . Is ( expectedAddressRange ) ;
36
37
}
38
+
39
+ [ Test ]
40
+ public void RawQuery_InvalidWhoisServerSpecified_TransportExceptionSwallowed ( )
41
+ {
42
+ var response = WhoisClient . RawQuery ( "4.4.4.4" , new WhoisQueryOptions { Server = "unknown.server.pp" } ) ;
43
+
44
+ response . Is ( string . Empty ) ;
45
+ }
46
+
47
+ [ Test ]
48
+ public void RawQuery_InvalidWhoisServerSpecified_TransportExceptionRethrown ( )
49
+ {
50
+ TestDelegate action = ( ) => WhoisClient . RawQuery ( "4.4.4.4" , new WhoisQueryOptions
51
+ {
52
+ Server = "unknown.server.pp" ,
53
+ RethrowExceptions = true
54
+ } ) ;
55
+
56
+ var exception = Assert . Throws < AggregateException > ( action ) ! ;
57
+ exception . InnerException . IsInstanceOf < SocketException > ( ) ;
58
+ }
59
+
60
+ [ Test ]
61
+ public void Query_With3Retries_InvalidWhoisServerSpecified_TransportExceptionSwallowed ( )
62
+ {
63
+ var response = WhoisClient . Query ( "4.4.4.4" , new WhoisQueryOptions
64
+ {
65
+ Server = "unknown.server.pp" ,
66
+ Retries = 3
67
+ } ) ;
68
+
69
+ response . Raw . Is ( string . Empty ) ;
70
+ }
71
+
72
+ [ Test ]
73
+ public void Query_With3Retries_InvalidWhoisServerSpecified_TransportExceptionRethrown ( )
74
+ {
75
+ TestDelegate action = ( ) => WhoisClient . Query ( "4.4.4.4" , new WhoisQueryOptions
76
+ {
77
+ Server = "unknown.server.pp" ,
78
+ Retries = 3 ,
79
+ RethrowExceptions = true
80
+ } ) ;
81
+
82
+ var exception = Assert . Throws < AggregateException > ( action ) ! ;
83
+ exception . InnerException . IsInstanceOf < SocketException > ( ) ;
84
+ }
85
+
86
+ [ Test ]
87
+ public async Task RawQueryAsync_InvalidWhoisServerSpecified_TransportExceptionSwallowed ( )
88
+ {
89
+ var response = await WhoisClient . RawQueryAsync ( "4.4.4.4" , new WhoisQueryOptions { Server = "unknown.server.pp" } ) ;
90
+
91
+ response . Is ( string . Empty ) ;
92
+ }
93
+
94
+ [ Test ]
95
+ public void RawQueryAsync_InvalidWhoisServerSpecified_TransportExceptionRethrown ( )
96
+ {
97
+ AsyncTestDelegate action = ( ) => WhoisClient . RawQueryAsync ( "4.4.4.4" , new WhoisQueryOptions
98
+ {
99
+ Server = "unknown.server.pp" ,
100
+ RethrowExceptions = true
101
+ } ) ;
102
+
103
+ Assert . ThrowsAsync < SocketException > ( action ) ;
104
+ }
105
+
106
+ [ Test ]
107
+ public async Task QueryAsync_With3Retries_InvalidWhoisServerSpecified_TransportExceptionSwallowed ( )
108
+ {
109
+ var response = await WhoisClient . QueryAsync ( "4.4.4.4" , new WhoisQueryOptions
110
+ {
111
+ Server = "unknown.server.pp" ,
112
+ Retries = 3
113
+ } ) ;
114
+
115
+ response . Raw . Is ( string . Empty ) ;
116
+ }
117
+
118
+ [ Test ]
119
+ public void QueryAsync_With3Retries_InvalidWhoisServerSpecified_TransportExceptionRethrown ( )
120
+ {
121
+ AsyncTestDelegate action = ( ) => WhoisClient . QueryAsync ( "4.4.4.4" , new WhoisQueryOptions
122
+ {
123
+ Server = "unknown.server.pp" ,
124
+ Retries = 3 ,
125
+ RethrowExceptions = true
126
+ } ) ;
127
+
128
+ Assert . ThrowsAsync < SocketException > ( action ) ;
129
+ }
37
130
}
0 commit comments