Skip to content
This repository was archived by the owner on Apr 10, 2018. It is now read-only.

Commit 766aa38

Browse files
committed
Added timeouts to tests
1 parent b532124 commit 766aa38

4 files changed

Lines changed: 47 additions & 23 deletions

File tree

RestSharp.Portable.Test/AuthenticationTests.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Net;
77
using System.Security.Cryptography;
88
using System.Text;
9+
using System.Threading;
910
using System.Threading.Tasks;
1011

1112
using Org.BouncyCastle.Crypto;
@@ -38,14 +39,15 @@ public async Task TestHttpBasicAuth(Type factoryType)
3839
{
3940
CookieContainer = new CookieContainer(),
4041
HttpClientFactory = CreateClientFactory(factoryType, false),
42+
Timeout = TimeSpan.FromSeconds(10),
4143
Credentials = new NetworkCredential(username, password),
4244
Authenticator = new HttpBasicAuthenticator(),
4345
})
4446
{
4547
var request = new RestRequest("basic-auth/{username}/{password}", Method.GET);
4648
request.AddUrlSegment("username", username);
4749
request.AddUrlSegment("password", password);
48-
var response = await client.Execute<AuthenticationResult>(request);
50+
var response = await client.Execute<AuthenticationResult>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
4951

5052
Assert.True(response.Data.Authenticated);
5153
Assert.Equal(username, response.Data.User);
@@ -64,14 +66,15 @@ public async Task TestHttpBasicAuthHidden(Type factoryType)
6466
{
6567
CookieContainer = new CookieContainer(),
6668
HttpClientFactory = CreateClientFactory(factoryType, false),
69+
Timeout = TimeSpan.FromSeconds(10),
6770
Credentials = new NetworkCredential(username, password),
6871
Authenticator = new HttpHiddenBasicAuthenticator(),
6972
})
7073
{
7174
var request = new RestRequest("hidden-basic-auth/{username}/{password}", Method.GET);
7275
request.AddUrlSegment("username", username);
7376
request.AddUrlSegment("password", password);
74-
var response = await client.Execute<AuthenticationResult>(request);
77+
var response = await client.Execute<AuthenticationResult>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
7578

7679
Assert.True(response.Data.Authenticated);
7780
Assert.Equal(username, response.Data.User);
@@ -90,14 +93,15 @@ public async Task TestHttpDigestAuth(Type factoryType)
9093
{
9194
CookieContainer = new CookieContainer(),
9295
HttpClientFactory = CreateClientFactory(factoryType, false),
96+
Timeout = TimeSpan.FromSeconds(10),
9397
Credentials = new NetworkCredential(username, password),
9498
Authenticator = new HttpDigestAuthenticator()
9599
})
96100
{
97101
var request = new RestRequest("digest-auth/auth/{username}/{password}", Method.GET);
98102
request.AddUrlSegment("username", username);
99103
request.AddUrlSegment("password", password);
100-
var response = await client.Execute<AuthenticationResult>(request);
104+
var response = await client.Execute<AuthenticationResult>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
101105

102106
Assert.True(response.Data.Authenticated);
103107
Assert.Equal(username, response.Data.User);
@@ -116,6 +120,7 @@ public async Task TestHttpDigestAuthInt(Type factoryType)
116120
{
117121
CookieContainer = new CookieContainer(),
118122
HttpClientFactory = CreateClientFactory(factoryType, false),
123+
Timeout = TimeSpan.FromSeconds(10),
119124
Credentials = new NetworkCredential(username, password),
120125
Authenticator = new HttpDigestAuthenticator()
121126
})
@@ -125,7 +130,7 @@ public async Task TestHttpDigestAuthInt(Type factoryType)
125130
request.AddUrlSegment("username", username);
126131
request.AddUrlSegment("password", password);
127132
////request.AddParameter("param1", "val1");
128-
var response = await client.Execute<AuthenticationResult>(request);
133+
var response = await client.Execute<AuthenticationResult>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
129134

130135
Assert.True(response.Data.Authenticated);
131136
Assert.Equal(username, response.Data.User);
@@ -178,6 +183,7 @@ private async Task TestOAuth10(IHttpClientFactory httpClientFactory, ISignatureP
178183
using (var client = new RestClient("http://oauthbin.com/v1/")
179184
{
180185
HttpClientFactory = httpClientFactory,
186+
Timeout = TimeSpan.FromSeconds(10)
181187
})
182188
{
183189
var consumerKey = "key";
@@ -191,7 +197,7 @@ private async Task TestOAuth10(IHttpClientFactory httpClientFactory, ISignatureP
191197

192198
{
193199
var request = new RestRequest("request-token");
194-
var response = await client.Execute(request);
200+
var response = await client.Execute(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
195201
var requestTokenResponse = Encoding.UTF8.GetString(response.RawBytes);
196202
Assert.DoesNotContain('\n', requestTokenResponse);
197203

@@ -220,7 +226,7 @@ private async Task TestOAuth10(IHttpClientFactory httpClientFactory, ISignatureP
220226

221227
{
222228
var request = new RestRequest("access-token");
223-
var response = await client.Execute(request);
229+
var response = await client.Execute(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
224230
var accessTokenResponse = Encoding.UTF8.GetString(response.RawBytes);
225231
Assert.DoesNotContain('\n', accessTokenResponse);
226232

@@ -249,7 +255,7 @@ private async Task TestOAuth10(IHttpClientFactory httpClientFactory, ISignatureP
249255
var request = new RestRequest("echo", Method.POST);
250256
request.AddParameter("one", "1");
251257
request.AddParameter("two", "2");
252-
var response = await client.Execute(request);
258+
var response = await client.Execute(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
253259
var text = Encoding.UTF8.GetString(response.RawBytes);
254260
Assert.DoesNotContain('\n', text);
255261

RestSharp.Portable.Test/IssueTests.cs

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Net;
3+
using System.Threading;
34
using System.Threading.Tasks;
45

56
using RestSharp.Portable.Authenticators;
@@ -23,14 +24,15 @@ public async Task TestIssue12_Post1(Type factoryType)
2324
using (var client = new RestClient("http://httpbin.org/")
2425
{
2526
HttpClientFactory = CreateClientFactory(factoryType, false),
27+
Timeout = TimeSpan.FromSeconds(10)
2628
})
2729
{
2830
var tmp = new string('a', 70000);
2931

3032
var request = new RestRequest("post", Method.POST);
3133
request.AddParameter("param1", tmp);
3234

33-
var response = await client.Execute<HttpBinResponse>(request);
35+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
3436
Assert.NotNull(response.Data);
3537
Assert.NotNull(response.Data.Form);
3638
Assert.True(response.Data.Form.ContainsKey("param1"));
@@ -47,6 +49,7 @@ public async Task TestIssue12_Post2(Type factoryType)
4749
using (var client = new RestClient("http://httpbin.org/")
4850
{
4951
HttpClientFactory = CreateClientFactory(factoryType, false),
52+
Timeout = TimeSpan.FromSeconds(10)
5053
})
5154
{
5255
var tmp = new string('a', 70000);
@@ -55,7 +58,7 @@ public async Task TestIssue12_Post2(Type factoryType)
5558
request.AddParameter("param1", tmp);
5659
request.AddParameter("param2", "param2");
5760

58-
var response = await client.Execute<HttpBinResponse>(request);
61+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
5962
Assert.NotNull(response.Data);
6063
Assert.NotNull(response.Data.Form);
6164
Assert.True(response.Data.Form.ContainsKey("param1"));
@@ -75,6 +78,7 @@ public void TestIssue16(Type factoryType)
7578
using (var client = new RestClient("http://httpbin.org/")
7679
{
7780
HttpClientFactory = CreateClientFactory(factoryType, false),
81+
Timeout = TimeSpan.FromSeconds(10)
7882
})
7983
{
8084
var request = new RestRequest("get?a={a}");
@@ -92,15 +96,16 @@ public void TestIssue19(Type factoryType)
9296
using (var client = new RestClient("http://httpbin.org/")
9397
{
9498
HttpClientFactory = CreateClientFactory(factoryType, false),
99+
Timeout = TimeSpan.FromSeconds(10)
95100
})
96101
{
97102
var req1 = new RestRequest("post", Method.POST);
98103
req1.AddParameter("a", "value-of-a");
99-
var t1 = client.Execute<HttpBinResponse>(req1);
104+
var t1 = client.Execute<HttpBinResponse>(req1, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
100105

101106
var req2 = new RestRequest("post", Method.POST);
102107
req2.AddParameter("ab", "value-of-ab");
103-
var t2 = client.Execute<HttpBinResponse>(req2);
108+
var t2 = client.Execute<HttpBinResponse>(req2, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
104109

105110
Task.WaitAll(t1, t2);
106111

@@ -124,13 +129,14 @@ public async Task TestIssue23(Type factoryType)
124129
using (var client = new RestClient("http://httpbin.org/")
125130
{
126131
HttpClientFactory = CreateClientFactory(factoryType, false),
132+
Timeout = TimeSpan.FromSeconds(10)
127133
})
128134
{
129135
client.Authenticator = new HttpBasicAuthenticator();
130136
client.Credentials = new NetworkCredential("foo", "bar");
131137
var request = new RestRequest("post", Method.GET);
132138
request.AddJsonBody("foo");
133-
await client.Execute(request);
139+
await client.Execute(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
134140
}
135141
}
136142

@@ -142,6 +148,7 @@ public void TestIssue25(Type factoryType)
142148
using (var client = new RestClient("http://httpbin.org/")
143149
{
144150
HttpClientFactory = CreateClientFactory(factoryType, false),
151+
Timeout = TimeSpan.FromSeconds(10)
145152
})
146153
{
147154
var req1 = new RestRequest("post", Method.POST);
@@ -150,8 +157,8 @@ public void TestIssue25(Type factoryType)
150157
var req2 = new RestRequest("post", Method.POST);
151158
req2.AddParameter("ab", "value-of-ab");
152159

153-
var t1 = client.Execute<HttpBinResponse>(req1);
154-
var t2 = client.Execute<HttpBinResponse>(req2);
160+
var t1 = client.Execute<HttpBinResponse>(req1, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
161+
var t2 = client.Execute<HttpBinResponse>(req2, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
155162
Task.WaitAll(t1, t2);
156163

157164
Assert.NotNull(t1.Result.Data);
@@ -174,12 +181,13 @@ public async Task TestIssue29_CollectionModeMultiPart(Type factoryType)
174181
using (var client = new RestClient("http://httpbin.org/")
175182
{
176183
HttpClientFactory = CreateClientFactory(factoryType, false),
184+
Timeout = TimeSpan.FromSeconds(10)
177185
})
178186
{
179187
var req = new RestRequest("post", Method.POST);
180188
req.AddParameter("a", "value-of-a");
181189
req.ContentCollectionMode = ContentCollectionMode.MultiPart;
182-
var resp = await client.Execute<HttpBinResponse>(req);
190+
var resp = await client.Execute<HttpBinResponse>(req, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
183191
Assert.NotNull(resp.Data);
184192
Assert.NotNull(resp.Data.Form);
185193
Assert.True(resp.Data.Form.ContainsKey("a"));
@@ -195,12 +203,13 @@ public async Task TestIssue29_ContentTypeParameter(Type factoryType)
195203
using (var client = new RestClient("http://httpbin.org/")
196204
{
197205
HttpClientFactory = CreateClientFactory(factoryType, false),
206+
Timeout = TimeSpan.FromSeconds(10)
198207
})
199208
{
200209
var req = new RestRequest("post", Method.POST);
201210
req.AddParameter("a", "value-of-a");
202211
req.AddHeader("content-type", "application/x-www-form-urlencoded;charset=utf-8");
203-
var resp = await client.Execute<HttpBinResponse>(req);
212+
var resp = await client.Execute<HttpBinResponse>(req, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
204213
Assert.NotNull(resp.Data);
205214
Assert.NotNull(resp.Data.Form);
206215
Assert.True(resp.Data.Form.ContainsKey("a"));
@@ -216,11 +225,12 @@ public async Task TestIssue53(Type factoryType)
216225
using (var client = new RestClient("http://httpbin.org/")
217226
{
218227
HttpClientFactory = CreateClientFactory(factoryType, false),
228+
Timeout = TimeSpan.FromSeconds(10),
219229
IgnoreResponseStatusCode = true,
220230
})
221231
{
222232
var req = new RestRequest("get", Method.GET);
223-
var resp = await client.Execute<HttpBinResponse>(req);
233+
var resp = await client.Execute<HttpBinResponse>(req, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
224234
Assert.Null(resp.Data);
225235
}
226236
}

RestSharp.Portable.Test/OtherTests.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq;
33
using System.Reflection;
44
using System.Text;
5+
using System.Threading;
56
using System.Threading.Tasks;
67

78
using RestSharp.Portable.HttpClient;
@@ -24,13 +25,14 @@ public async Task TestMultipleRequests(Type factoryType)
2425
using (var client = new RestClient("http://httpbin.org/")
2526
{
2627
HttpClientFactory = CreateClientFactory(factoryType, false),
28+
Timeout = TimeSpan.FromSeconds(10),
2729
})
2830
{
2931
{
3032
var request = new RestRequest("post", Method.POST);
3133
request.AddParameter("param1", "param1");
3234

33-
var response = await client.Execute<HttpBinResponse>(request);
35+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
3436
Assert.NotNull(response.Data);
3537
Assert.NotNull(response.Data.Form);
3638
Assert.True(response.Data.Form.ContainsKey("param1"));
@@ -41,7 +43,7 @@ public async Task TestMultipleRequests(Type factoryType)
4143
var request = new RestRequest("post", Method.POST);
4244
request.AddParameter("param1", "param1+");
4345

44-
var response = await client.Execute<HttpBinResponse>(request);
46+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
4547
Assert.NotNull(response.Data);
4648
Assert.NotNull(response.Data.Form);
4749
Assert.True(response.Data.Form.ContainsKey("param1"));
@@ -58,13 +60,14 @@ public async Task TestPutRequestByteArray(Type factoryType)
5860
using (var client = new RestClient("http://httpbin.org/")
5961
{
6062
HttpClientFactory = CreateClientFactory(factoryType, false),
63+
Timeout = TimeSpan.FromSeconds(10),
6164
})
6265
{
6366
var request = new RestRequest("put", Method.PUT);
6467
var data = Encoding.UTF8.GetBytes("Hello!");
6568
request.AddParameter(string.Empty, data, ParameterType.RequestBody);
6669

67-
var response = await client.Execute<HttpBinResponse>(request);
70+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
6871
Assert.NotNull(response.Data);
6972
Assert.Equal("Hello!", response.Data.Data);
7073
}
@@ -78,6 +81,7 @@ public async Task TestPutRequestJson(Type factoryType)
7881
using (var client = new RestClient("http://httpbin.org/")
7982
{
8083
HttpClientFactory = CreateClientFactory(factoryType, false),
84+
Timeout = TimeSpan.FromSeconds(10),
8185
})
8286
{
8387
var request = new RestRequest("put", Method.PUT);
@@ -87,7 +91,7 @@ public async Task TestPutRequestJson(Type factoryType)
8791
hello = "world",
8892
});
8993

90-
var response = await client.Execute<HttpBinResponse>(request);
94+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
9195
Assert.NotNull(response.Data);
9296
Assert.NotNull(response.Data.Args);
9397
Assert.Contains("hello", response.Data.Args.Keys);
@@ -106,6 +110,7 @@ public void TestUserAgent(Type factoryType)
106110
using (var client = new RestClient("http://httpbin.org/")
107111
{
108112
HttpClientFactory = CreateClientFactory(factoryType, false),
113+
Timeout = TimeSpan.FromSeconds(10),
109114
})
110115
{
111116
Assert.NotNull(client.UserAgent);

RestSharp.Portable.Test/PostHeaderRequestTests.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Threading;
23
using System.Threading.Tasks;
34

45
using RestSharp.Portable.HttpClient;
@@ -21,13 +22,14 @@ public async Task TestRequestParameter(Type factoryType)
2122
using (var client = new RestClient("http://httpbin.org/")
2223
{
2324
HttpClientFactory = CreateClientFactory(factoryType, false),
25+
Timeout = TimeSpan.FromSeconds(10),
2426
})
2527
{
2628
var request = new RestRequest("post", Method.POST);
2729
request.AddHeader("Restsharp-Test1", "TestValue1");
2830
request.AddParameter("param1", "ParamValue1");
2931

30-
var response = await client.Execute<HttpBinResponse>(request);
32+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
3133
Assert.Equal("ParamValue1", response.Data.Form["param1"]);
3234
Assert.Equal("TestValue1", response.Data.Headers["Restsharp-Test1"]);
3335
}
@@ -41,14 +43,15 @@ public async Task TestDefaultParameter(Type factoryType)
4143
using (var client = new RestClient("http://httpbin.org/")
4244
{
4345
HttpClientFactory = CreateClientFactory(factoryType, false),
46+
Timeout = TimeSpan.FromSeconds(10),
4447
})
4548
{
4649
client.AddDefaultParameter("Restsharp-Test2", "TestValue2", ParameterType.HttpHeader);
4750

4851
var request = new RestRequest("post", Method.POST);
4952
request.AddParameter("param1", "ParamValue1");
5053

51-
var response = await client.Execute<HttpBinResponse>(request);
54+
var response = await client.Execute<HttpBinResponse>(request, new CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
5255
Assert.Equal("ParamValue1", response.Data.Form["param1"]);
5356
Assert.Equal("TestValue2", response.Data.Headers["Restsharp-Test2"]);
5457
}

0 commit comments

Comments
 (0)