@@ -1080,6 +1080,41 @@ test_command_with_opts_modern (void)
1080
1080
}
1081
1081
1082
1082
1083
+ static void
1084
+ test_command_no_errmsg (void )
1085
+ {
1086
+ mock_server_t * server ;
1087
+ mongoc_client_t * client ;
1088
+ bson_t * cmd ;
1089
+ bson_error_t error ;
1090
+ future_t * future ;
1091
+ request_t * request ;
1092
+
1093
+ server = mock_server_with_autoismaster (0 );
1094
+ mock_server_run (server );
1095
+ client = mongoc_client_new_from_uri (mock_server_get_uri (server ));
1096
+ mongoc_client_set_error_api (client , 2 );
1097
+
1098
+ cmd = tmp_bson ("{'command': 1}" );
1099
+ future = future_client_command_simple (client , "admin" , cmd , NULL , NULL ,
1100
+ & error );
1101
+
1102
+ request = mock_server_receives_command (server , "admin" ,
1103
+ MONGOC_QUERY_SLAVE_OK , NULL );
1104
+
1105
+ /* auth errors have $err, not errmsg. we'd raised "Unknown command error",
1106
+ * see CDRIVER-1928 */
1107
+ mock_server_replies_simple (request , "{'ok': 0, 'code': 7, '$err': 'bad!'}" );
1108
+ ASSERT (!future_get_bool (future ));
1109
+ ASSERT_ERROR_CONTAINS (error , MONGOC_ERROR_SERVER , 7 , "bad!" );
1110
+
1111
+ future_destroy (future );
1112
+ request_destroy (request );
1113
+ mongoc_client_destroy (client );
1114
+ mock_server_destroy (server );
1115
+ }
1116
+
1117
+
1083
1118
static void
1084
1119
test_unavailable_seeds (void )
1085
1120
{
@@ -2541,6 +2576,7 @@ test_client_install (TestSuite *suite)
2541
2576
TestSuite_AddLive (suite , "/Client/command_with_opts/read_prefs" , test_command_with_opts_read_prefs );
2542
2577
TestSuite_AddLive (suite , "/Client/command_with_opts/legacy" , test_command_with_opts_legacy );
2543
2578
TestSuite_AddLive (suite , "/Client/command_with_opts/modern" , test_command_with_opts_modern );
2579
+ TestSuite_AddLive (suite , "/Client/command/no_errmsg" , test_command_no_errmsg );
2544
2580
TestSuite_Add (suite , "/Client/unavailable_seeds" , test_unavailable_seeds );
2545
2581
TestSuite_Add (suite , "/Client/rs_seeds_no_connect/single" , test_rs_seeds_no_connect_single );
2546
2582
TestSuite_Add (suite , "/Client/rs_seeds_no_connect/pooled" , test_rs_seeds_no_connect_pooled );
0 commit comments