Skip to content

Commit 307daaa

Browse files
committed
CDRIVER-1802: Improve error message
1 parent 5ef423c commit 307daaa

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

src/mongoc/mongoc-bulk-operation.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,8 +446,8 @@ _mongoc_bulk_operation_update_with_opts (mongoc_bulk_operation_t *bulk,
446446
bson_set_error (error,
447447
MONGOC_ERROR_COMMAND,
448448
MONGOC_ERROR_COMMAND_INVALID_ARG,
449-
"%s(): update only works with $ operators.",
450-
BSON_FUNC);
449+
"Invalid key '%s': update only works with $ operators.",
450+
bson_iter_key (&iter));
451451
RETURN (false);
452452
}
453453
}

tests/test-bulk.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3317,6 +3317,33 @@ test_bulk_collation_w0_wire4 (void) {
33173317
_test_bulk_collation (0, WIRE_VERSION_COLLATION-1, BULK_UPDATE_ONE);
33183318
}
33193319

3320+
static void
3321+
test_bulk_update_one_error_message (void)
3322+
{
3323+
mongoc_client_t *client;
3324+
mongoc_collection_t *collection;
3325+
mongoc_bulk_operation_t *bulk;
3326+
bson_t reply;
3327+
bson_error_t error;
3328+
3329+
client = mongoc_client_new ("mongodb://server");
3330+
collection = mongoc_client_get_collection (client, "test", "test");
3331+
3332+
bulk = mongoc_collection_create_bulk_operation (collection, true, NULL);
3333+
mongoc_bulk_operation_update_many_with_opts (bulk, tmp_bson ("{'_id': 5}"), tmp_bson ("{'set': {'_id': 6}}"), NULL, &error);
3334+
3335+
ASSERT_ERROR_CONTAINS (error,
3336+
MONGOC_ERROR_COMMAND,
3337+
MONGOC_ERROR_COMMAND_INVALID_ARG,
3338+
"Invalid key 'set': update only works with $ operators");
3339+
3340+
3341+
mongoc_bulk_operation_destroy (bulk);
3342+
mongoc_collection_destroy (collection);
3343+
mongoc_client_destroy (client);
3344+
}
3345+
3346+
33203347
void
33213348
test_bulk_install (TestSuite *suite)
33223349
{
@@ -3481,4 +3508,5 @@ test_bulk_install (TestSuite *suite)
34813508
TestSuite_Add (suite, "/BulkOperation/opts/collation/multi/w0/wire5", test_bulk_collation_multi_w0_wire4);
34823509
TestSuite_Add (suite, "/BulkOperation/opts/collation/multi/w1/wire4", test_bulk_collation_multi_w1_wire5);
34833510
TestSuite_Add (suite, "/BulkOperation/opts/collation/multi/w1/wire4", test_bulk_collation_multi_w1_wire4);
3511+
TestSuite_Add (suite, "/BulkOperation/update_one/error_message", test_bulk_update_one_error_message);
34843512
}

0 commit comments

Comments
 (0)