@@ -147,31 +147,31 @@ public void OpenAsync_should_not_complete_the_second_call_until_the_first_is_com
147
147
}
148
148
149
149
[ Test ]
150
- public void ReceiveMessageAsync_should_throw_an_ArgumentNullException_when_the_serializer_is_null ( )
150
+ public void ReceiveMessageAsync_should_throw_an_ArgumentNullException_when_the_encoderSelector_is_null ( )
151
151
{
152
- IBsonSerializer < int > serializer = null ;
153
- Action act = ( ) => _subject . ReceiveMessageAsync ( 10 , serializer , _messageEncoderSettings , CancellationToken . None ) . Wait ( ) ;
152
+ IMessageEncoderSelector encoderSelector = null ;
153
+ Action act = ( ) => _subject . ReceiveMessageAsync ( 10 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) . Wait ( ) ;
154
154
155
155
act . ShouldThrow < ArgumentNullException > ( ) ;
156
156
}
157
157
158
158
[ Test ]
159
159
public void ReceiveMessageAsync_should_throw_an_ObjectDisposedException_if_the_connection_is_disposed ( )
160
160
{
161
- var serializer = Substitute . For < IBsonSerializer < BsonDocument > > ( ) ;
161
+ var encoderSelector = Substitute . For < IMessageEncoderSelector > ( ) ;
162
162
_subject . Dispose ( ) ;
163
163
164
- Action act = ( ) => _subject . ReceiveMessageAsync ( 10 , serializer , _messageEncoderSettings , CancellationToken . None ) . Wait ( ) ;
164
+ Action act = ( ) => _subject . ReceiveMessageAsync ( 10 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) . Wait ( ) ;
165
165
166
166
act . ShouldThrow < ObjectDisposedException > ( ) ;
167
167
}
168
168
169
169
[ Test ]
170
170
public void ReceiveMessageAsync_should_throw_an_InvalidOperationException_if_the_connection_is_not_open ( )
171
171
{
172
- var serializer = Substitute . For < IBsonSerializer < BsonDocument > > ( ) ;
172
+ var encoderSelector = Substitute . For < IMessageEncoderSelector > ( ) ;
173
173
174
- Action act = ( ) => _subject . ReceiveMessageAsync ( 10 , serializer , _messageEncoderSettings , CancellationToken . None ) . Wait ( ) ;
174
+ Action act = ( ) => _subject . ReceiveMessageAsync ( 10 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) . Wait ( ) ;
175
175
176
176
act . ShouldThrow < InvalidOperationException > ( ) ;
177
177
}
@@ -187,17 +187,18 @@ public void ReceiveMessageAsync_should_complete_when_reply_is_already_on_the_str
187
187
_subject . OpenAsync ( CancellationToken . None ) . Wait ( ) ;
188
188
189
189
var messageToReceive = MessageHelper . BuildSuccessReply < BsonDocument > ( new BsonDocument ( ) , BsonDocumentSerializer . Instance , responseTo : 10 ) ;
190
- MessageHelper . WriteRepliesToStream ( stream , new [ ] { messageToReceive } ) ;
190
+ MessageHelper . WriteResponsesToStream ( stream , new [ ] { messageToReceive } ) ;
191
191
192
- var received = _subject . ReceiveMessageAsync ( 10 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) . Result ;
192
+ var encoderSelector = new ReplyMessageEncoderSelector < BsonDocument > ( BsonDocumentSerializer . Instance ) ;
193
+ var received = _subject . ReceiveMessageAsync ( 10 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) . Result ;
193
194
194
195
var expected = MessageHelper . TranslateMessagesToBsonDocuments ( new [ ] { messageToReceive } ) ;
195
196
var actual = MessageHelper . TranslateMessagesToBsonDocuments ( new [ ] { received } ) ;
196
197
197
198
actual . Should ( ) . BeEquivalentTo ( expected ) ;
198
199
199
200
_listener . ReceivedWithAnyArgs ( ) . ConnectionBeforeReceivingMessage ( default ( ConnectionBeforeReceivingMessageEvent ) ) ;
200
- _listener . ReceivedWithAnyArgs ( ) . ConnectionAfterReceivingMessage < BsonDocument > ( default ( ConnectionAfterReceivingMessageEvent < BsonDocument > ) ) ;
201
+ _listener . ReceivedWithAnyArgs ( ) . ConnectionAfterReceivingMessage ( default ( ConnectionAfterReceivingMessageEvent ) ) ;
201
202
}
202
203
}
203
204
@@ -211,12 +212,13 @@ public void ReceiveMessageAsync_should_complete_when_reply_is_not_already_on_the
211
212
212
213
_subject . OpenAsync ( CancellationToken . None ) . Wait ( ) ;
213
214
214
- var receivedTask = _subject . ReceiveMessageAsync ( 10 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) ;
215
+ var encoderSelector = new ReplyMessageEncoderSelector < BsonDocument > ( BsonDocumentSerializer . Instance ) ;
216
+ var receivedTask = _subject . ReceiveMessageAsync ( 10 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) ;
215
217
216
218
receivedTask . IsCompleted . Should ( ) . BeFalse ( ) ;
217
219
218
220
var messageToReceive = MessageHelper . BuildSuccessReply < BsonDocument > ( new BsonDocument ( ) , BsonDocumentSerializer . Instance , responseTo : 10 ) ;
219
- MessageHelper . WriteRepliesToStream ( stream , new [ ] { messageToReceive } ) ;
221
+ MessageHelper . WriteResponsesToStream ( stream , new [ ] { messageToReceive } ) ;
220
222
221
223
var received = receivedTask . Result ;
222
224
@@ -237,12 +239,13 @@ public void ReceiveMessageAsync_should_handle_out_of_order_replies()
237
239
238
240
_subject . OpenAsync ( CancellationToken . None ) . Wait ( ) ;
239
241
240
- var receivedTask11 = _subject . ReceiveMessageAsync ( 11 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) ;
241
- var receivedTask10 = _subject . ReceiveMessageAsync ( 10 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) ;
242
+ var encoderSelector = new ReplyMessageEncoderSelector < BsonDocument > ( BsonDocumentSerializer . Instance ) ;
243
+ var receivedTask11 = _subject . ReceiveMessageAsync ( 11 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) ;
244
+ var receivedTask10 = _subject . ReceiveMessageAsync ( 10 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) ;
242
245
243
246
var messageToReceive10 = MessageHelper . BuildSuccessReply < BsonDocument > ( new BsonDocument ( ) , BsonDocumentSerializer . Instance , responseTo : 10 ) ;
244
247
var messageToReceive11 = MessageHelper . BuildSuccessReply < BsonDocument > ( new BsonDocument ( ) , BsonDocumentSerializer . Instance , responseTo : 11 ) ;
245
- MessageHelper . WriteRepliesToStream ( stream , new [ ] { messageToReceive10 , messageToReceive11 } ) ;
248
+ MessageHelper . WriteResponsesToStream ( stream , new [ ] { messageToReceive10 , messageToReceive11 } ) ;
246
249
247
250
var received11 = receivedTask11 . Result ;
248
251
var received10 = receivedTask10 . Result ;
@@ -272,8 +275,9 @@ public async Task ReceiveMessageAsync_should_throw_network_exception_to_all_awai
272
275
273
276
await _subject . OpenAsync ( CancellationToken . None ) ;
274
277
275
- var task1 = _subject . ReceiveMessageAsync < BsonDocument > ( 1 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) ;
276
- var task2 = _subject . ReceiveMessageAsync < BsonDocument > ( 2 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) ;
278
+ var encoderSelector = new ReplyMessageEncoderSelector < BsonDocument > ( BsonDocumentSerializer . Instance ) ;
279
+ var task1 = _subject . ReceiveMessageAsync ( 1 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) ;
280
+ var task2 = _subject . ReceiveMessageAsync ( 2 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) ;
277
281
278
282
readTcs . SetException ( new SocketException ( ) ) ;
279
283
@@ -310,7 +314,8 @@ public async Task ReceiveMessageAsync_should_throw_MongoConnectionClosedExceptio
310
314
311
315
await _subject . OpenAsync ( CancellationToken . None ) ;
312
316
313
- var task1 = _subject . ReceiveMessageAsync < BsonDocument > ( 1 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) ;
317
+ var encoderSelector = new ReplyMessageEncoderSelector < BsonDocument > ( BsonDocumentSerializer . Instance ) ;
318
+ var task1 = _subject . ReceiveMessageAsync ( 1 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) ;
314
319
315
320
readTcs . SetException ( new SocketException ( ) ) ;
316
321
@@ -319,7 +324,7 @@ public async Task ReceiveMessageAsync_should_throw_MongoConnectionClosedExceptio
319
324
. WithInnerException < SocketException > ( )
320
325
. And . ConnectionId . Should ( ) . Be ( _subject . ConnectionId ) ;
321
326
322
- var task2 = _subject . ReceiveMessageAsync < BsonDocument > ( 2 , BsonDocumentSerializer . Instance , _messageEncoderSettings , CancellationToken . None ) ;
327
+ var task2 = _subject . ReceiveMessageAsync ( 2 , encoderSelector , _messageEncoderSettings , CancellationToken . None ) ;
323
328
324
329
Func < Task > act2 = ( ) => task2 ;
325
330
act2 . ShouldThrow < MongoConnectionClosedException > ( )
0 commit comments