@@ -26,7 +26,7 @@ public void Should_not_duplicate_question_mark()
26
26
public void GET_with_leading_slash ( )
27
27
{
28
28
var request = new RestRequest ( "/resource" ) ;
29
- var client = new RestClient ( "http://example.com" ) ;
29
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
30
30
var expected = new Uri ( "http://example.com/resource" ) ;
31
31
var output = client . BuildUri ( request ) ;
32
32
@@ -37,7 +37,7 @@ public void GET_with_leading_slash()
37
37
public void POST_with_leading_slash ( )
38
38
{
39
39
var request = new RestRequest ( "/resource" , Method . POST ) ;
40
- var client = new RestClient ( "http://example.com" ) ;
40
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
41
41
var expected = new Uri ( "http://example.com/resource" ) ;
42
42
var output = client . BuildUri ( request ) ;
43
43
@@ -51,7 +51,7 @@ public void GET_with_leading_slash_and_baseurl_trailing_slash()
51
51
52
52
request . AddParameter ( "foo" , "bar" ) ;
53
53
54
- var client = new RestClient ( "http://example.com/" ) ;
54
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
55
55
var expected = new Uri ( "http://example.com/resource?foo=bar" ) ;
56
56
var output = client . BuildUri ( request ) ;
57
57
@@ -77,7 +77,7 @@ public void GET_wth_trailing_slash_and_query_parameters()
77
77
public void POST_with_leading_slash_and_baseurl_trailing_slash ( )
78
78
{
79
79
var request = new RestRequest ( "/resource" , Method . POST ) ;
80
- var client = new RestClient ( "http://example.com/" ) ;
80
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
81
81
var expected = new Uri ( "http://example.com/resource" ) ;
82
82
var output = client . BuildUri ( request ) ;
83
83
@@ -88,7 +88,7 @@ public void POST_with_leading_slash_and_baseurl_trailing_slash()
88
88
public void GET_with_resource_containing_slashes ( )
89
89
{
90
90
var request = new RestRequest ( "resource/foo" ) ;
91
- var client = new RestClient ( "http://example.com" ) ;
91
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
92
92
var expected = new Uri ( "http://example.com/resource/foo" ) ;
93
93
var output = client . BuildUri ( request ) ;
94
94
@@ -99,7 +99,7 @@ public void GET_with_resource_containing_slashes()
99
99
public void POST_with_resource_containing_slashes ( )
100
100
{
101
101
var request = new RestRequest ( "resource/foo" , Method . POST ) ;
102
- var client = new RestClient ( "http://example.com" ) ;
102
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
103
103
var expected = new Uri ( "http://example.com/resource/foo" ) ;
104
104
var output = client . BuildUri ( request ) ;
105
105
@@ -113,7 +113,7 @@ public void GET_with_resource_containing_tokens()
113
113
114
114
request . AddUrlSegment ( "foo" , "bar" ) ;
115
115
116
- var client = new RestClient ( "http://example.com" ) ;
116
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
117
117
var expected = new Uri ( "http://example.com/resource/bar" ) ;
118
118
var output = client . BuildUri ( request ) ;
119
119
@@ -140,7 +140,7 @@ public void POST_with_resource_containing_tokens()
140
140
141
141
request . AddUrlSegment ( "foo" , "bar" ) ;
142
142
143
- var client = new RestClient ( "http://example.com" ) ;
143
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
144
144
var expected = new Uri ( "http://example.com/resource/bar" ) ;
145
145
var output = client . BuildUri ( request ) ;
146
146
@@ -151,8 +151,8 @@ public void POST_with_resource_containing_tokens()
151
151
public void GET_with_empty_request ( )
152
152
{
153
153
var request = new RestRequest ( ) ;
154
- var client = new RestClient ( "http://example.com/resource" ) ;
155
- var expected = new Uri ( "http://example.com/resource " ) ;
154
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
155
+ var expected = new Uri ( "http://example.com/" ) ;
156
156
var output = client . BuildUri ( request ) ;
157
157
158
158
Assert . Equal ( expected , output ) ;
@@ -162,7 +162,7 @@ public void GET_with_empty_request()
162
162
public void GET_with_empty_request_and_bare_hostname ( )
163
163
{
164
164
var request = new RestRequest ( ) ;
165
- var client = new RestClient ( "http://example.com" ) ;
165
+ var client = new RestClient ( new Uri ( "http://example.com" ) ) ;
166
166
var expected = new Uri ( "http://example.com/" ) ;
167
167
var output = client . BuildUri ( request ) ;
168
168
@@ -199,5 +199,72 @@ public void GET_with_multiple_instances_of_same_key()
199
199
200
200
Assert . Equal ( expected , output ) ;
201
201
}
202
+
203
+ [ Fact ]
204
+ public void GET_with_Uri_containing_tokens ( )
205
+ {
206
+ var request = new RestRequest ( ) ;
207
+
208
+ request . AddUrlSegment ( "foo" , "bar" ) ;
209
+
210
+ var client = new RestClient ( new Uri ( "http://example.com/{foo}" ) ) ;
211
+ var expected = new Uri ( "http://example.com/bar" ) ;
212
+ var output = client . BuildUri ( request ) ;
213
+
214
+ Assert . Equal ( expected , output ) ;
215
+ }
216
+
217
+ [ Fact ]
218
+ public void GET_with_Url_string_containing_tokens ( )
219
+ {
220
+ var request = new RestRequest ( ) ;
221
+
222
+ request . AddUrlSegment ( "foo" , "bar" ) ;
223
+
224
+ var client = new RestClient ( "http://example.com/{foo}" ) ;
225
+ var expected = new Uri ( "http://example.com/bar" ) ;
226
+ var output = client . BuildUri ( request ) ;
227
+
228
+ Assert . Equal ( expected , output ) ;
229
+ }
230
+
231
+ [ Fact ]
232
+ public void GET_with_Uri_and_resource_containing_tokens ( )
233
+ {
234
+ var request = new RestRequest ( "resource/{baz}" ) ;
235
+
236
+ request . AddUrlSegment ( "foo" , "bar" ) ;
237
+ request . AddUrlSegment ( "baz" , "bat" ) ;
238
+
239
+ var client = new RestClient ( new Uri ( "http://example.com/{foo}" ) ) ;
240
+ var expected = new Uri ( "http://example.com/bar/resource/bat" ) ;
241
+ var output = client . BuildUri ( request ) ;
242
+
243
+ Assert . Equal ( expected , output ) ;
244
+ }
245
+
246
+ [ Fact ]
247
+ public void GET_with_Url_string_and_resource_containing_tokens ( )
248
+ {
249
+ var request = new RestRequest ( "resource/{baz}" ) ;
250
+
251
+ request . AddUrlSegment ( "foo" , "bar" ) ;
252
+ request . AddUrlSegment ( "baz" , "bat" ) ;
253
+
254
+ var client = new RestClient ( "http://example.com/{foo}" ) ;
255
+ var expected = new Uri ( "http://example.com/bar/resource/bat" ) ;
256
+ var output = client . BuildUri ( request ) ;
257
+
258
+ Assert . Equal ( expected , output ) ;
259
+ }
260
+
261
+ [ Fact ]
262
+ public void GET_with_Invalid_Url_string_throws_exception ( )
263
+ {
264
+ Assert . Throws < UriFormatException > ( delegate
265
+ {
266
+ var client = new RestClient ( "invalid url" ) ;
267
+ } ) ;
268
+ }
202
269
}
203
270
}
0 commit comments