@@ -12,9 +12,17 @@ namespace PactNet.Tests.Mocks.MockHttpService.Mappers
12
12
{
13
13
public class HttpRequestMessageMapperTests
14
14
{
15
+ IHttpMethodMapper _mockHttpMethodMapper ;
16
+ IHttpContentMapper _mockHttpContentMapper ;
17
+ IHttpBodyContentMapper _mockHttpBodyContentMapper ;
18
+
15
19
public IHttpRequestMessageMapper GetSubject ( )
16
20
{
17
- return new HttpRequestMessageMapper ( ) ;
21
+ _mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
22
+ _mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
23
+ _mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
24
+
25
+ return new HttpRequestMessageMapper ( _mockHttpMethodMapper , _mockHttpContentMapper , _mockHttpBodyContentMapper ) ;
18
26
}
19
27
20
28
[ Fact ]
@@ -36,20 +44,13 @@ public void Convert_WithRequest_CallsHttpMethodMapper()
36
44
Path = "/events"
37
45
} ;
38
46
39
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
40
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
41
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
42
-
43
- mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
47
+ var mapper = GetSubject ( ) ;
44
48
45
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
46
- mockHttpMethodMapper ,
47
- mockHttpContentMapper ,
48
- mockHttpBodyContentMapper ) ;
49
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
49
50
50
51
mapper . Convert ( request ) ;
51
52
52
- mockHttpMethodMapper . Received ( 1 ) . Convert ( request . Method ) ;
53
+ _mockHttpMethodMapper . Received ( 1 ) . Convert ( request . Method ) ;
53
54
}
54
55
55
56
[ Fact ]
@@ -65,17 +66,10 @@ public void Convert_WithHeader_HeaderIsAddedToHttpRequestMessage()
65
66
}
66
67
} ;
67
68
68
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
69
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
70
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
71
-
72
- mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
73
- mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( new HttpBodyContent ( String . Empty , null , null ) ) ;
69
+ var mapper = GetSubject ( ) ;
74
70
75
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
76
- mockHttpMethodMapper ,
77
- mockHttpContentMapper ,
78
- mockHttpBodyContentMapper ) ;
71
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
72
+ _mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( new HttpBodyContent ( String . Empty , null , null ) ) ;
79
73
80
74
var result = mapper . Convert ( request ) ;
81
75
@@ -99,22 +93,15 @@ public void Convert_WithPlainContentTypeHeader_HeaderIsNotAddedToHttpRequestMess
99
93
} ;
100
94
var httpBodyContent = new HttpBodyContent ( String . Empty , contentTypeString , null ) ;
101
95
102
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
103
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
104
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
105
-
106
- mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
107
- mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
96
+ var mapper = GetSubject ( ) ;
108
97
109
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
110
- mockHttpMethodMapper ,
111
- mockHttpContentMapper ,
112
- mockHttpBodyContentMapper ) ;
98
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
99
+ _mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
113
100
114
101
var result = mapper . Convert ( request ) ;
115
102
116
103
Assert . Empty ( result . Headers ) ;
117
- mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
104
+ _mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
118
105
}
119
106
120
107
[ Fact ]
@@ -133,22 +120,15 @@ public void Convert_WithPlainContentTypeHeaderLowercased_HeaderIsNotAddedToHttpR
133
120
} ;
134
121
var httpBodyContent = new HttpBodyContent ( String . Empty , contentTypeString , null ) ;
135
122
136
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
137
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
138
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
139
-
140
- mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
141
- mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
123
+ var mapper = GetSubject ( ) ;
142
124
143
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
144
- mockHttpMethodMapper ,
145
- mockHttpContentMapper ,
146
- mockHttpBodyContentMapper ) ;
125
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
126
+ _mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
147
127
148
128
var result = mapper . Convert ( request ) ;
149
129
150
130
Assert . Empty ( result . Headers ) ;
151
- mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
131
+ _mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
152
132
}
153
133
154
134
[ Fact ]
@@ -169,23 +149,16 @@ public void Convert_WithPlainContentTypeAndUtf8CharsetHeader_HeaderIsNotAddedToH
169
149
} ;
170
150
var httpBodyContent = new HttpBodyContent ( String . Empty , contentTypeString , encoding ) ;
171
151
172
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
173
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
174
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
175
-
176
- mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
177
- mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
152
+ var mapper = GetSubject ( ) ;
178
153
179
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
180
- mockHttpMethodMapper ,
181
- mockHttpContentMapper ,
182
- mockHttpBodyContentMapper ) ;
154
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
155
+ _mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
183
156
184
157
var result = mapper . Convert ( request ) ;
185
158
186
159
Assert . Empty ( result . Headers ) ;
187
- mockHttpBodyContentMapper . Received ( 1 ) . Convert ( request . Body , request . Headers ) ;
188
- mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
160
+ _mockHttpBodyContentMapper . Received ( 1 ) . Convert ( request . Body , request . Headers ) ;
161
+ _mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
189
162
}
190
163
191
164
[ Fact ]
@@ -206,23 +179,16 @@ public void Convert_WithJsonContentTypeAndUnicodeCharsetHeader_HeaderIsNotAddedT
206
179
} ;
207
180
var httpBodyContent = new HttpBodyContent ( String . Empty , contentTypeString , encoding ) ;
208
181
209
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
210
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
211
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
212
-
213
- mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
214
- mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
182
+ var mapper = GetSubject ( ) ;
215
183
216
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
217
- mockHttpMethodMapper ,
218
- mockHttpContentMapper ,
219
- mockHttpBodyContentMapper ) ;
184
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
185
+ _mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
220
186
221
187
var result = mapper . Convert ( request ) ;
222
188
223
189
Assert . Empty ( result . Headers ) ;
224
- mockHttpBodyContentMapper . Received ( 1 ) . Convert ( request . Body , request . Headers ) ;
225
- mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
190
+ _mockHttpBodyContentMapper . Received ( 1 ) . Convert ( request . Body , request . Headers ) ;
191
+ _mockHttpContentMapper . Received ( 1 ) . Convert ( httpBodyContent ) ;
226
192
}
227
193
228
194
[ Fact ]
@@ -242,24 +208,39 @@ public void Convert_WithContentTypeAndCustomHeader_OnlyCustomHeadersIsAddedToHtt
242
208
} ;
243
209
var httpBodyContent = new HttpBodyContent ( String . Empty , contentTypeString , null ) ;
244
210
245
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
246
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
247
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
248
-
249
- mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
250
- mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
211
+ var mapper = GetSubject ( ) ;
251
212
252
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
253
- mockHttpMethodMapper ,
254
- mockHttpContentMapper ,
255
- mockHttpBodyContentMapper ) ;
213
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
214
+ _mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
256
215
257
216
var result = mapper . Convert ( request ) ;
258
217
259
218
Assert . Equal ( request . Headers . Last ( ) . Key , result . Headers . First ( ) . Key ) ;
260
219
Assert . Equal ( request . Headers . Last ( ) . Value , result . Headers . First ( ) . Value . First ( ) ) ;
261
220
}
262
221
222
+ [ Fact ]
223
+ public void Convert_WithContentLengthHeader_ContentLengthHeaderIsNotAdded ( )
224
+ {
225
+ var request = new ProviderServiceRequest
226
+ {
227
+ Method = HttpVerb . Post ,
228
+ Path = "/events" ,
229
+ Headers = new Dictionary < string , string >
230
+ {
231
+ { "Content-Length" , "100" }
232
+ }
233
+ } ;
234
+
235
+ var mapper = GetSubject ( ) ;
236
+
237
+ _mockHttpMethodMapper . Convert ( HttpVerb . Post ) . Returns ( HttpMethod . Post ) ;
238
+
239
+ var result = mapper . Convert ( request ) ;
240
+
241
+ Assert . Equal ( 0 , result . Headers . Count ( ) ) ;
242
+ }
243
+
263
244
[ Fact ]
264
245
public void Convert_WithBody_HttpContentMapperIsCalled ( )
265
246
{
@@ -273,20 +254,13 @@ public void Convert_WithBody_HttpContentMapperIsCalled()
273
254
}
274
255
} ;
275
256
276
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
277
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
278
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
279
-
280
- mockHttpMethodMapper . Convert ( HttpVerb . Get ) . Returns ( HttpMethod . Get ) ;
257
+ var mapper = GetSubject ( ) ;
281
258
282
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
283
- mockHttpMethodMapper ,
284
- mockHttpContentMapper ,
285
- mockHttpBodyContentMapper ) ;
259
+ _mockHttpMethodMapper . Convert ( HttpVerb . Get ) . Returns ( HttpMethod . Get ) ;
286
260
287
261
mapper . Convert ( request ) ;
288
262
289
- mockHttpBodyContentMapper . Received ( 1 ) . Convert ( request . Body , request . Headers ) ;
263
+ _mockHttpBodyContentMapper . Received ( 1 ) . Convert ( request . Body , request . Headers ) ;
290
264
}
291
265
292
266
[ Fact ]
@@ -315,18 +289,11 @@ public void Convert_WithTheWorks_CorrectlyMappedHttpRequestMessageIsReturned()
315
289
} ;
316
290
var httpBodyContent = new HttpBodyContent ( bodyJson , contentTypeString , encoding ) ;
317
291
318
- var mockHttpMethodMapper = Substitute . For < IHttpMethodMapper > ( ) ;
319
- var mockHttpContentMapper = Substitute . For < IHttpContentMapper > ( ) ;
320
- var mockHttpBodyContentMapper = Substitute . For < IHttpBodyContentMapper > ( ) ;
321
-
322
- mockHttpMethodMapper . Convert ( HttpVerb . Get ) . Returns ( HttpMethod . Get ) ;
323
- mockHttpContentMapper . Convert ( httpBodyContent ) . Returns ( new StringContent ( bodyJson , encoding , contentTypeString ) ) ;
324
- mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
292
+ var mapper = GetSubject ( ) ;
325
293
326
- IHttpRequestMessageMapper mapper = new HttpRequestMessageMapper (
327
- mockHttpMethodMapper ,
328
- mockHttpContentMapper ,
329
- mockHttpBodyContentMapper ) ;
294
+ _mockHttpMethodMapper . Convert ( HttpVerb . Get ) . Returns ( HttpMethod . Get ) ;
295
+ _mockHttpContentMapper . Convert ( httpBodyContent ) . Returns ( new StringContent ( bodyJson , encoding , contentTypeString ) ) ;
296
+ _mockHttpBodyContentMapper . Convert ( Arg . Any < object > ( ) , request . Headers ) . Returns ( httpBodyContent ) ;
330
297
331
298
var result = mapper . Convert ( request ) ;
332
299
var requestContent = result . Content . ReadAsStringAsync ( ) . Result ;
0 commit comments