@@ -92,7 +92,7 @@ async def asyncSetUp(self):
92
92
self .max_message_size_bytes = await async_client_context .max_message_size_bytes
93
93
94
94
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
95
- async def test_batch_splits_if_num_operations_too_large (self ):
95
+ async def test_3_batch_splits_if_num_operations_too_large (self ):
96
96
listener = OvertCommandListener ()
97
97
client = await self .async_rs_or_single_client (event_listeners = [listener ])
98
98
@@ -116,7 +116,7 @@ async def test_batch_splits_if_num_operations_too_large(self):
116
116
self .assertEqual (first_event .operation_id , second_event .operation_id )
117
117
118
118
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
119
- async def test_batch_splits_if_ops_payload_too_large (self ):
119
+ async def test_4_batch_splits_if_ops_payload_too_large (self ):
120
120
listener = OvertCommandListener ()
121
121
client = await self .async_rs_or_single_client (event_listeners = [listener ])
122
122
@@ -148,7 +148,7 @@ async def test_batch_splits_if_ops_payload_too_large(self):
148
148
149
149
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
150
150
@async_client_context .require_failCommand_fail_point
151
- async def test_collects_write_concern_errors_across_batches (self ):
151
+ async def test_5_collects_write_concern_errors_across_batches (self ):
152
152
listener = OvertCommandListener ()
153
153
client = await self .async_rs_or_single_client (
154
154
event_listeners = [listener ],
@@ -189,7 +189,7 @@ async def test_collects_write_concern_errors_across_batches(self):
189
189
self .assertEqual (len (bulk_write_events ), 2 )
190
190
191
191
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
192
- async def test_collects_write_errors_across_batches_unordered (self ):
192
+ async def test_6_collects_write_errors_across_batches_unordered (self ):
193
193
listener = OvertCommandListener ()
194
194
client = await self .async_rs_or_single_client (event_listeners = [listener ])
195
195
@@ -218,7 +218,7 @@ async def test_collects_write_errors_across_batches_unordered(self):
218
218
self .assertEqual (len (bulk_write_events ), 2 )
219
219
220
220
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
221
- async def test_collects_write_errors_across_batches_ordered (self ):
221
+ async def test_6_collects_write_errors_across_batches_ordered (self ):
222
222
listener = OvertCommandListener ()
223
223
client = await self .async_rs_or_single_client (event_listeners = [listener ])
224
224
@@ -247,7 +247,7 @@ async def test_collects_write_errors_across_batches_ordered(self):
247
247
self .assertEqual (len (bulk_write_events ), 1 )
248
248
249
249
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
250
- async def test_handles_cursor_requiring_getMore (self ):
250
+ async def test_7_handles_cursor_requiring_getMore (self ):
251
251
listener = OvertCommandListener ()
252
252
client = await self .async_rs_or_single_client (event_listeners = [listener ])
253
253
@@ -287,7 +287,7 @@ async def test_handles_cursor_requiring_getMore(self):
287
287
288
288
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
289
289
@async_client_context .require_no_standalone
290
- async def test_handles_cursor_requiring_getMore_within_transaction (self ):
290
+ async def test_8_handles_cursor_requiring_getMore_within_transaction (self ):
291
291
listener = OvertCommandListener ()
292
292
client = await self .async_rs_or_single_client (event_listeners = [listener ])
293
293
@@ -329,7 +329,7 @@ async def test_handles_cursor_requiring_getMore_within_transaction(self):
329
329
330
330
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
331
331
@async_client_context .require_failCommand_fail_point
332
- async def test_handles_getMore_error (self ):
332
+ async def test_9_handles_getMore_error (self ):
333
333
listener = OvertCommandListener ()
334
334
client = await self .async_rs_or_single_client (event_listeners = [listener ])
335
335
@@ -382,7 +382,7 @@ async def test_handles_getMore_error(self):
382
382
self .assertTrue (kill_cursors_event )
383
383
384
384
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
385
- async def test_returns_error_if_unacknowledged_too_large_insert (self ):
385
+ async def test_10_returns_error_if_unacknowledged_too_large_insert (self ):
386
386
listener = OvertCommandListener ()
387
387
client = await self .async_rs_or_single_client (event_listeners = [listener ])
388
388
@@ -441,7 +441,7 @@ async def _setup_namespace_test_models(self):
441
441
return num_models , models
442
442
443
443
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
444
- async def test_no_batch_splits_if_new_namespace_is_not_too_large (self ):
444
+ async def test_11_no_batch_splits_if_new_namespace_is_not_too_large (self ):
445
445
listener = OvertCommandListener ()
446
446
client = await self .async_rs_or_single_client (event_listeners = [listener ])
447
447
@@ -471,7 +471,7 @@ async def test_no_batch_splits_if_new_namespace_is_not_too_large(self):
471
471
self .assertEqual (event .command ["nsInfo" ][0 ]["ns" ], "db.coll" )
472
472
473
473
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
474
- async def test_batch_splits_if_new_namespace_is_too_large (self ):
474
+ async def test_11_batch_splits_if_new_namespace_is_too_large (self ):
475
475
listener = OvertCommandListener ()
476
476
client = await self .async_rs_or_single_client (event_listeners = [listener ])
477
477
@@ -508,25 +508,27 @@ async def test_batch_splits_if_new_namespace_is_too_large(self):
508
508
self .assertEqual (second_event .command ["nsInfo" ][0 ]["ns" ], namespace )
509
509
510
510
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
511
- async def test_returns_error_if_no_writes_can_be_added_to_ops (self ):
511
+ async def test_12_returns_error_if_no_writes_can_be_added_to_ops (self ):
512
512
client = await self .async_rs_or_single_client ()
513
513
514
514
# Document too large.
515
515
b_repeated = "b" * self .max_message_size_bytes
516
516
models = [InsertOne (namespace = "db.coll" , document = {"a" : b_repeated })]
517
- with self .assertRaises (DocumentTooLarge ):
517
+ with self .assertRaises (DocumentTooLarge ) as context :
518
518
await client .bulk_write (models = models )
519
+ self .assertIsNone (context .exception .partial_result )
519
520
520
521
# Namespace too large.
521
522
c_repeated = "c" * self .max_message_size_bytes
522
523
namespace = f"db.{ c_repeated } "
523
524
models = [InsertOne (namespace = namespace , document = {"a" : "b" })]
524
- with self .assertRaises (DocumentTooLarge ):
525
+ with self .assertRaises (DocumentTooLarge ) as context :
525
526
await client .bulk_write (models = models )
527
+ self .assertIsNone (context .exception .partial_result )
526
528
527
529
@async_client_context .require_version_min (8 , 0 , 0 , - 24 )
528
530
@unittest .skipUnless (_HAVE_PYMONGOCRYPT , "pymongocrypt is not installed" )
529
- async def test_returns_error_if_auto_encryption_configured (self ):
531
+ async def test_13_returns_error_if_auto_encryption_configured (self ):
530
532
opts = AutoEncryptionOpts (
531
533
key_vault_namespace = "db.coll" ,
532
534
kms_providers = {"aws" : {"accessKeyId" : "foo" , "secretAccessKey" : "bar" }},
@@ -536,6 +538,7 @@ async def test_returns_error_if_auto_encryption_configured(self):
536
538
models = [InsertOne (namespace = "db.coll" , document = {"a" : "b" })]
537
539
with self .assertRaises (InvalidOperation ) as context :
538
540
await client .bulk_write (models = models )
541
+ self .assertIsNone (context .exception .partial_result )
539
542
self .assertIn (
540
543
"bulk_write does not currently support automatic encryption" , context .exception ._message
541
544
)
0 commit comments