mongo 2.11.2 → 2.13.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (970) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CONTRIBUTING.md +8 -36
  5. data/LICENSE +1 -1
  6. data/README.md +54 -53
  7. data/Rakefile +1 -1
  8. data/lib/mongo.rb +7 -1
  9. data/lib/mongo/active_support.rb +1 -1
  10. data/lib/mongo/address.rb +114 -46
  11. data/lib/mongo/address/ipv4.rb +32 -5
  12. data/lib/mongo/address/ipv6.rb +32 -5
  13. data/lib/mongo/address/unix.rb +3 -3
  14. data/lib/mongo/address/validator.rb +1 -1
  15. data/lib/mongo/auth.rb +37 -13
  16. data/lib/mongo/auth/aws.rb +37 -0
  17. data/lib/mongo/auth/aws/conversation.rb +128 -0
  18. data/lib/mongo/auth/aws/credentials_retriever.rb +219 -0
  19. data/lib/mongo/auth/aws/request.rb +257 -0
  20. data/lib/mongo/auth/base.rb +129 -0
  21. data/lib/mongo/auth/conversation_base.rb +52 -0
  22. data/lib/mongo/auth/cr.rb +9 -36
  23. data/lib/mongo/auth/cr/conversation.rb +24 -69
  24. data/lib/mongo/auth/credential_cache.rb +51 -0
  25. data/lib/mongo/auth/gssapi.rb +38 -0
  26. data/lib/mongo/auth/gssapi/conversation.rb +108 -0
  27. data/lib/mongo/auth/ldap.rb +9 -34
  28. data/lib/mongo/auth/ldap/conversation.rb +3 -43
  29. data/lib/mongo/auth/roles.rb +1 -1
  30. data/lib/mongo/auth/sasl_conversation_base.rb +111 -0
  31. data/lib/mongo/auth/scram.rb +39 -51
  32. data/lib/mongo/auth/scram/conversation.rb +12 -502
  33. data/lib/mongo/auth/scram256.rb +31 -0
  34. data/lib/mongo/auth/scram256/conversation.rb +63 -0
  35. data/lib/mongo/auth/scram_conversation_base.rb +402 -0
  36. data/lib/mongo/auth/stringprep.rb +5 -4
  37. data/lib/mongo/auth/stringprep/profiles/sasl.rb +2 -1
  38. data/lib/mongo/auth/stringprep/tables.rb +2 -1
  39. data/lib/mongo/auth/stringprep/unicode_normalize/normalize.rb +1 -0
  40. data/lib/mongo/auth/stringprep/unicode_normalize/tables.rb +1 -0
  41. data/lib/mongo/auth/user.rb +9 -11
  42. data/lib/mongo/auth/user/view.rb +5 -5
  43. data/lib/mongo/auth/x509.rb +14 -32
  44. data/lib/mongo/auth/x509/conversation.rb +15 -42
  45. data/lib/mongo/background_thread.rb +12 -3
  46. data/lib/mongo/bson.rb +1 -1
  47. data/lib/mongo/bulk_write.rb +61 -26
  48. data/lib/mongo/bulk_write/combineable.rb +20 -8
  49. data/lib/mongo/bulk_write/ordered_combiner.rb +1 -1
  50. data/lib/mongo/bulk_write/result.rb +1 -1
  51. data/lib/mongo/bulk_write/result_combiner.rb +1 -1
  52. data/lib/mongo/bulk_write/transformable.rb +9 -10
  53. data/lib/mongo/bulk_write/unordered_combiner.rb +1 -1
  54. data/lib/mongo/bulk_write/validatable.rb +5 -1
  55. data/lib/mongo/client.rb +178 -23
  56. data/lib/mongo/client_encryption.rb +103 -0
  57. data/lib/mongo/cluster.rb +130 -52
  58. data/lib/mongo/cluster/periodic_executor.rb +1 -1
  59. data/lib/mongo/cluster/reapers/cursor_reaper.rb +19 -7
  60. data/lib/mongo/cluster/reapers/socket_reaper.rb +1 -1
  61. data/lib/mongo/cluster/sdam_flow.rb +74 -62
  62. data/lib/mongo/cluster/topology.rb +19 -2
  63. data/lib/mongo/cluster/topology/base.rb +1 -1
  64. data/lib/mongo/cluster/topology/no_replica_set_options.rb +1 -1
  65. data/lib/mongo/cluster/topology/replica_set_no_primary.rb +1 -1
  66. data/lib/mongo/cluster/topology/replica_set_with_primary.rb +1 -1
  67. data/lib/mongo/cluster/topology/sharded.rb +1 -1
  68. data/lib/mongo/cluster/topology/single.rb +1 -1
  69. data/lib/mongo/cluster/topology/unknown.rb +1 -1
  70. data/lib/mongo/cluster_time.rb +1 -1
  71. data/lib/mongo/collection.rb +25 -5
  72. data/lib/mongo/collection/view.rb +7 -3
  73. data/lib/mongo/collection/view/aggregation.rb +7 -4
  74. data/lib/mongo/collection/view/builder.rb +1 -1
  75. data/lib/mongo/collection/view/builder/aggregation.rb +1 -1
  76. data/lib/mongo/collection/view/builder/find_command.rb +9 -1
  77. data/lib/mongo/collection/view/builder/flags.rb +1 -1
  78. data/lib/mongo/collection/view/builder/map_reduce.rb +1 -1
  79. data/lib/mongo/collection/view/builder/modifiers.rb +1 -1
  80. data/lib/mongo/collection/view/builder/op_query.rb +1 -1
  81. data/lib/mongo/collection/view/change_stream.rb +15 -9
  82. data/lib/mongo/collection/view/change_stream/retryable.rb +1 -1
  83. data/lib/mongo/collection/view/explainable.rb +1 -1
  84. data/lib/mongo/collection/view/immutable.rb +1 -1
  85. data/lib/mongo/collection/view/iterable.rb +22 -7
  86. data/lib/mongo/collection/view/map_reduce.rb +9 -6
  87. data/lib/mongo/collection/view/readable.rb +16 -8
  88. data/lib/mongo/collection/view/writable.rb +62 -18
  89. data/lib/mongo/crypt.rb +33 -0
  90. data/lib/mongo/crypt/auto_decryption_context.rb +40 -0
  91. data/lib/mongo/crypt/auto_encrypter.rb +179 -0
  92. data/lib/mongo/crypt/auto_encryption_context.rb +44 -0
  93. data/lib/mongo/crypt/binary.rb +155 -0
  94. data/lib/mongo/crypt/binding.rb +1229 -0
  95. data/lib/mongo/crypt/context.rb +135 -0
  96. data/lib/mongo/crypt/data_key_context.rb +162 -0
  97. data/lib/mongo/crypt/encryption_io.rb +306 -0
  98. data/lib/mongo/crypt/explicit_decryption_context.rb +40 -0
  99. data/lib/mongo/crypt/explicit_encrypter.rb +117 -0
  100. data/lib/mongo/crypt/explicit_encryption_context.rb +89 -0
  101. data/lib/mongo/crypt/handle.rb +315 -0
  102. data/lib/mongo/crypt/hooks.rb +90 -0
  103. data/lib/mongo/crypt/kms_context.rb +67 -0
  104. data/lib/mongo/crypt/status.rb +131 -0
  105. data/lib/mongo/cursor.rb +67 -35
  106. data/lib/mongo/cursor/builder.rb +1 -1
  107. data/lib/mongo/cursor/builder/get_more_command.rb +1 -1
  108. data/lib/mongo/cursor/builder/kill_cursors_command.rb +9 -2
  109. data/lib/mongo/cursor/builder/op_get_more.rb +1 -1
  110. data/lib/mongo/cursor/builder/op_kill_cursors.rb +9 -2
  111. data/lib/mongo/database.rb +27 -7
  112. data/lib/mongo/database/view.rb +15 -6
  113. data/lib/mongo/dbref.rb +10 -3
  114. data/lib/mongo/error.rb +30 -3
  115. data/lib/mongo/error/auth_error.rb +1 -1
  116. data/lib/mongo/error/bulk_write_error.rb +17 -15
  117. data/lib/mongo/error/change_stream_resumable.rb +1 -1
  118. data/lib/mongo/error/closed_stream.rb +1 -1
  119. data/lib/mongo/error/connection_check_out_timeout.rb +1 -1
  120. data/lib/mongo/error/connection_perished.rb +23 -0
  121. data/lib/mongo/error/credential_check_error.rb +26 -0
  122. data/lib/mongo/error/crypt_error.rb +31 -0
  123. data/lib/mongo/error/extra_file_chunk.rb +1 -1
  124. data/lib/mongo/error/{failed_stringprep_validation.rb → failed_string_prep_validation.rb} +0 -0
  125. data/lib/mongo/error/file_not_found.rb +1 -1
  126. data/lib/mongo/error/handshake_error.rb +1 -1
  127. data/lib/mongo/error/insufficient_iteration_count.rb +1 -1
  128. data/lib/mongo/error/invalid_address.rb +1 -1
  129. data/lib/mongo/error/invalid_application_name.rb +1 -1
  130. data/lib/mongo/error/invalid_bulk_operation.rb +1 -1
  131. data/lib/mongo/error/invalid_bulk_operation_type.rb +1 -1
  132. data/lib/mongo/error/invalid_collection_name.rb +1 -1
  133. data/lib/mongo/error/invalid_cursor_operation.rb +27 -0
  134. data/lib/mongo/error/invalid_database_name.rb +1 -1
  135. data/lib/mongo/error/invalid_document.rb +1 -1
  136. data/lib/mongo/error/invalid_file.rb +1 -1
  137. data/lib/mongo/error/invalid_file_revision.rb +1 -1
  138. data/lib/mongo/error/invalid_min_pool_size.rb +1 -1
  139. data/lib/mongo/error/invalid_nonce.rb +2 -2
  140. data/lib/mongo/error/invalid_read_option.rb +1 -1
  141. data/lib/mongo/error/invalid_replacement_document.rb +1 -1
  142. data/lib/mongo/error/invalid_server_auth_response.rb +23 -0
  143. data/lib/mongo/error/invalid_server_preference.rb +6 -1
  144. data/lib/mongo/error/invalid_session.rb +1 -1
  145. data/lib/mongo/error/invalid_signature.rb +1 -1
  146. data/lib/mongo/error/invalid_transaction_operation.rb +1 -1
  147. data/lib/mongo/error/invalid_txt_record.rb +1 -1
  148. data/lib/mongo/error/invalid_update_document.rb +1 -1
  149. data/lib/mongo/error/invalid_uri.rb +1 -1
  150. data/lib/mongo/error/invalid_write_concern.rb +1 -1
  151. data/lib/mongo/error/kms_error.rb +22 -0
  152. data/lib/mongo/error/lint_error.rb +1 -1
  153. data/lib/mongo/error/max_bson_size.rb +15 -4
  154. data/lib/mongo/error/max_message_size.rb +1 -1
  155. data/lib/mongo/error/mismatched_domain.rb +1 -1
  156. data/lib/mongo/error/missing_file_chunk.rb +1 -1
  157. data/lib/mongo/error/missing_password.rb +1 -1
  158. data/lib/mongo/error/missing_resume_token.rb +1 -1
  159. data/lib/mongo/error/missing_scram_server_signature.rb +27 -0
  160. data/lib/mongo/error/mongocryptd_spawn_error.rb +22 -0
  161. data/lib/mongo/error/multi_index_drop.rb +1 -1
  162. data/lib/mongo/error/need_primary_server.rb +1 -1
  163. data/lib/mongo/error/no_server_available.rb +9 -4
  164. data/lib/mongo/error/no_srv_records.rb +1 -1
  165. data/lib/mongo/error/notable.rb +17 -17
  166. data/lib/mongo/error/operation_failure.rb +57 -43
  167. data/lib/mongo/error/parser.rb +17 -6
  168. data/lib/mongo/error/pool_closed_error.rb +1 -1
  169. data/lib/mongo/error/raise_original_error.rb +29 -0
  170. data/lib/mongo/error/session_ended.rb +1 -1
  171. data/lib/mongo/error/socket_error.rb +1 -1
  172. data/lib/mongo/error/socket_timeout_error.rb +1 -1
  173. data/lib/mongo/error/unchangeable_collection_option.rb +1 -1
  174. data/lib/mongo/error/unexpected_chunk_length.rb +1 -1
  175. data/lib/mongo/error/unexpected_response.rb +1 -1
  176. data/lib/mongo/error/unknown_payload_type.rb +1 -1
  177. data/lib/mongo/error/unsupported_array_filters.rb +7 -2
  178. data/lib/mongo/error/unsupported_collation.rb +7 -2
  179. data/lib/mongo/error/unsupported_features.rb +1 -1
  180. data/lib/mongo/error/unsupported_message_type.rb +1 -1
  181. data/lib/mongo/error/unsupported_option.rb +99 -0
  182. data/lib/mongo/error/write_retryable.rb +1 -1
  183. data/lib/mongo/event.rb +1 -1
  184. data/lib/mongo/event/base.rb +1 -1
  185. data/lib/mongo/event/listeners.rb +1 -1
  186. data/lib/mongo/event/publisher.rb +1 -1
  187. data/lib/mongo/event/subscriber.rb +1 -1
  188. data/lib/mongo/grid.rb +1 -1
  189. data/lib/mongo/grid/file.rb +1 -1
  190. data/lib/mongo/grid/file/chunk.rb +1 -1
  191. data/lib/mongo/grid/file/info.rb +4 -3
  192. data/lib/mongo/grid/fs_bucket.rb +7 -2
  193. data/lib/mongo/grid/stream.rb +1 -1
  194. data/lib/mongo/grid/stream/read.rb +1 -1
  195. data/lib/mongo/grid/stream/write.rb +1 -1
  196. data/lib/mongo/id.rb +1 -1
  197. data/lib/mongo/index.rb +2 -1
  198. data/lib/mongo/index/view.rb +61 -14
  199. data/lib/mongo/lint.rb +10 -0
  200. data/lib/mongo/loggable.rb +1 -1
  201. data/lib/mongo/logger.rb +1 -1
  202. data/lib/mongo/monitoring.rb +1 -1
  203. data/lib/mongo/monitoring/cmap_log_subscriber.rb +1 -1
  204. data/lib/mongo/monitoring/command_log_subscriber.rb +12 -5
  205. data/lib/mongo/monitoring/event.rb +1 -1
  206. data/lib/mongo/monitoring/event/cmap.rb +1 -1
  207. data/lib/mongo/monitoring/event/cmap/base.rb +1 -1
  208. data/lib/mongo/monitoring/event/cmap/connection_check_out_failed.rb +2 -2
  209. data/lib/mongo/monitoring/event/cmap/connection_check_out_started.rb +1 -1
  210. data/lib/mongo/monitoring/event/cmap/connection_checked_in.rb +1 -1
  211. data/lib/mongo/monitoring/event/cmap/connection_checked_out.rb +1 -1
  212. data/lib/mongo/monitoring/event/cmap/connection_closed.rb +1 -1
  213. data/lib/mongo/monitoring/event/cmap/connection_created.rb +1 -1
  214. data/lib/mongo/monitoring/event/cmap/connection_ready.rb +1 -1
  215. data/lib/mongo/monitoring/event/cmap/pool_cleared.rb +1 -1
  216. data/lib/mongo/monitoring/event/cmap/pool_closed.rb +1 -1
  217. data/lib/mongo/monitoring/event/cmap/pool_created.rb +1 -1
  218. data/lib/mongo/monitoring/event/command_failed.rb +1 -1
  219. data/lib/mongo/monitoring/event/command_started.rb +15 -4
  220. data/lib/mongo/monitoring/event/command_succeeded.rb +1 -1
  221. data/lib/mongo/monitoring/event/secure.rb +8 -2
  222. data/lib/mongo/monitoring/event/server_closed.rb +1 -1
  223. data/lib/mongo/monitoring/event/server_description_changed.rb +1 -1
  224. data/lib/mongo/monitoring/event/server_heartbeat_failed.rb +1 -1
  225. data/lib/mongo/monitoring/event/server_heartbeat_started.rb +1 -1
  226. data/lib/mongo/monitoring/event/server_heartbeat_succeeded.rb +1 -1
  227. data/lib/mongo/monitoring/event/server_opening.rb +1 -1
  228. data/lib/mongo/monitoring/event/topology_changed.rb +1 -1
  229. data/lib/mongo/monitoring/event/topology_closed.rb +1 -1
  230. data/lib/mongo/monitoring/event/topology_opening.rb +1 -1
  231. data/lib/mongo/monitoring/publishable.rb +5 -8
  232. data/lib/mongo/monitoring/sdam_log_subscriber.rb +1 -1
  233. data/lib/mongo/monitoring/server_closed_log_subscriber.rb +1 -1
  234. data/lib/mongo/monitoring/server_description_changed_log_subscriber.rb +1 -1
  235. data/lib/mongo/monitoring/server_opening_log_subscriber.rb +1 -1
  236. data/lib/mongo/monitoring/topology_changed_log_subscriber.rb +1 -1
  237. data/lib/mongo/monitoring/topology_closed_log_subscriber.rb +1 -1
  238. data/lib/mongo/monitoring/topology_opening_log_subscriber.rb +1 -1
  239. data/lib/mongo/monitoring/unified_sdam_log_subscriber.rb +1 -1
  240. data/lib/mongo/operation.rb +1 -0
  241. data/lib/mongo/operation/aggregate.rb +1 -1
  242. data/lib/mongo/operation/aggregate/command.rb +5 -5
  243. data/lib/mongo/operation/aggregate/op_msg.rb +1 -1
  244. data/lib/mongo/operation/aggregate/result.rb +1 -1
  245. data/lib/mongo/operation/collections_info.rb +3 -33
  246. data/lib/mongo/operation/collections_info/command.rb +40 -0
  247. data/lib/mongo/operation/collections_info/result.rb +1 -1
  248. data/lib/mongo/operation/command.rb +1 -1
  249. data/lib/mongo/operation/command/command.rb +3 -3
  250. data/lib/mongo/operation/command/op_msg.rb +1 -1
  251. data/lib/mongo/operation/count.rb +1 -1
  252. data/lib/mongo/operation/count/command.rb +3 -3
  253. data/lib/mongo/operation/count/op_msg.rb +1 -1
  254. data/lib/mongo/operation/create.rb +1 -1
  255. data/lib/mongo/operation/create/command.rb +3 -3
  256. data/lib/mongo/operation/create/op_msg.rb +1 -1
  257. data/lib/mongo/operation/create_index.rb +1 -1
  258. data/lib/mongo/operation/create_index/command.rb +4 -4
  259. data/lib/mongo/operation/create_index/op_msg.rb +6 -3
  260. data/lib/mongo/operation/create_user.rb +1 -1
  261. data/lib/mongo/operation/create_user/command.rb +4 -4
  262. data/lib/mongo/operation/create_user/op_msg.rb +2 -2
  263. data/lib/mongo/operation/delete.rb +1 -1
  264. data/lib/mongo/operation/delete/bulk_result.rb +1 -1
  265. data/lib/mongo/operation/delete/command.rb +4 -4
  266. data/lib/mongo/operation/delete/legacy.rb +2 -2
  267. data/lib/mongo/operation/delete/op_msg.rb +5 -5
  268. data/lib/mongo/operation/delete/result.rb +2 -2
  269. data/lib/mongo/operation/distinct.rb +1 -1
  270. data/lib/mongo/operation/distinct/command.rb +3 -3
  271. data/lib/mongo/operation/distinct/op_msg.rb +1 -1
  272. data/lib/mongo/operation/drop.rb +1 -1
  273. data/lib/mongo/operation/drop/command.rb +3 -3
  274. data/lib/mongo/operation/drop/op_msg.rb +1 -1
  275. data/lib/mongo/operation/drop_database.rb +1 -1
  276. data/lib/mongo/operation/drop_database/command.rb +3 -3
  277. data/lib/mongo/operation/drop_database/op_msg.rb +1 -1
  278. data/lib/mongo/operation/drop_index.rb +1 -1
  279. data/lib/mongo/operation/drop_index/command.rb +4 -4
  280. data/lib/mongo/operation/drop_index/op_msg.rb +2 -2
  281. data/lib/mongo/operation/explain.rb +1 -1
  282. data/lib/mongo/operation/explain/command.rb +3 -3
  283. data/lib/mongo/operation/explain/legacy.rb +3 -3
  284. data/lib/mongo/operation/explain/op_msg.rb +1 -1
  285. data/lib/mongo/operation/explain/result.rb +1 -1
  286. data/lib/mongo/operation/find.rb +1 -1
  287. data/lib/mongo/operation/find/command.rb +3 -3
  288. data/lib/mongo/operation/find/legacy.rb +3 -3
  289. data/lib/mongo/operation/find/legacy/result.rb +1 -1
  290. data/lib/mongo/operation/find/op_msg.rb +2 -9
  291. data/lib/mongo/operation/find/result.rb +1 -1
  292. data/lib/mongo/operation/get_more.rb +1 -1
  293. data/lib/mongo/operation/get_more/command.rb +3 -3
  294. data/lib/mongo/operation/get_more/legacy.rb +2 -2
  295. data/lib/mongo/operation/get_more/op_msg.rb +2 -9
  296. data/lib/mongo/operation/get_more/result.rb +1 -1
  297. data/lib/mongo/operation/indexes.rb +1 -1
  298. data/lib/mongo/operation/indexes/command.rb +3 -3
  299. data/lib/mongo/operation/indexes/legacy.rb +4 -4
  300. data/lib/mongo/operation/indexes/op_msg.rb +1 -1
  301. data/lib/mongo/operation/indexes/result.rb +1 -1
  302. data/lib/mongo/operation/insert.rb +3 -2
  303. data/lib/mongo/operation/insert/bulk_result.rb +6 -2
  304. data/lib/mongo/operation/insert/command.rb +8 -7
  305. data/lib/mongo/operation/insert/legacy.rb +10 -5
  306. data/lib/mongo/operation/insert/op_msg.rb +7 -7
  307. data/lib/mongo/operation/insert/result.rb +7 -4
  308. data/lib/mongo/operation/kill_cursors.rb +1 -1
  309. data/lib/mongo/operation/kill_cursors/command.rb +3 -3
  310. data/lib/mongo/operation/kill_cursors/legacy.rb +2 -2
  311. data/lib/mongo/operation/kill_cursors/op_msg.rb +1 -1
  312. data/lib/mongo/operation/list_collections.rb +1 -1
  313. data/lib/mongo/operation/list_collections/command.rb +4 -4
  314. data/lib/mongo/operation/list_collections/op_msg.rb +2 -2
  315. data/lib/mongo/operation/list_collections/result.rb +1 -1
  316. data/lib/mongo/operation/map_reduce.rb +1 -1
  317. data/lib/mongo/operation/map_reduce/command.rb +3 -3
  318. data/lib/mongo/operation/map_reduce/op_msg.rb +1 -1
  319. data/lib/mongo/operation/map_reduce/result.rb +1 -1
  320. data/lib/mongo/operation/op_msg_base.rb +3 -3
  321. data/lib/mongo/operation/parallel_scan.rb +1 -1
  322. data/lib/mongo/operation/parallel_scan/command.rb +5 -5
  323. data/lib/mongo/operation/parallel_scan/op_msg.rb +2 -2
  324. data/lib/mongo/operation/parallel_scan/result.rb +1 -1
  325. data/lib/mongo/operation/remove_user.rb +1 -1
  326. data/lib/mongo/operation/remove_user/command.rb +4 -4
  327. data/lib/mongo/operation/remove_user/op_msg.rb +2 -2
  328. data/lib/mongo/operation/result.rb +64 -31
  329. data/lib/mongo/operation/shared/bypass_document_validation.rb +10 -4
  330. data/lib/mongo/operation/shared/causal_consistency_supported.rb +3 -3
  331. data/lib/mongo/operation/shared/collections_info_or_list_collections.rb +56 -0
  332. data/lib/mongo/operation/shared/executable.rb +47 -27
  333. data/lib/mongo/operation/shared/executable_no_validate.rb +3 -3
  334. data/lib/mongo/operation/shared/executable_transaction_label.rb +1 -1
  335. data/lib/mongo/operation/shared/idable.rb +1 -1
  336. data/lib/mongo/operation/shared/limited.rb +10 -2
  337. data/lib/mongo/operation/shared/object_id_generator.rb +1 -1
  338. data/lib/mongo/operation/shared/op_msg_or_command.rb +8 -6
  339. data/lib/mongo/operation/shared/op_msg_or_find_command.rb +9 -7
  340. data/lib/mongo/operation/shared/op_msg_or_list_indexes_command.rb +9 -7
  341. data/lib/mongo/operation/shared/polymorphic_lookup.rb +1 -1
  342. data/lib/mongo/operation/shared/polymorphic_result.rb +1 -1
  343. data/lib/mongo/operation/shared/read_preference_supported.rb +74 -22
  344. data/lib/mongo/operation/shared/response_handling.rb +84 -9
  345. data/lib/mongo/operation/shared/result/aggregatable.rb +1 -1
  346. data/lib/mongo/operation/shared/result/use_legacy_error_parser.rb +1 -1
  347. data/lib/mongo/operation/shared/sessions_supported.rb +86 -22
  348. data/lib/mongo/operation/shared/specifiable.rb +32 -20
  349. data/lib/mongo/operation/shared/write.rb +33 -20
  350. data/lib/mongo/operation/shared/write_concern_supported.rb +6 -6
  351. data/lib/mongo/operation/update.rb +1 -1
  352. data/lib/mongo/operation/update/bulk_result.rb +1 -1
  353. data/lib/mongo/operation/update/command.rb +4 -4
  354. data/lib/mongo/operation/update/legacy.rb +2 -2
  355. data/lib/mongo/operation/update/legacy/result.rb +1 -1
  356. data/lib/mongo/operation/update/op_msg.rb +5 -5
  357. data/lib/mongo/operation/update/result.rb +2 -2
  358. data/lib/mongo/operation/update_user.rb +1 -1
  359. data/lib/mongo/operation/update_user/command.rb +4 -4
  360. data/lib/mongo/operation/update_user/op_msg.rb +2 -2
  361. data/lib/mongo/operation/users_info.rb +1 -1
  362. data/lib/mongo/operation/users_info/command.rb +4 -4
  363. data/lib/mongo/operation/users_info/op_msg.rb +2 -2
  364. data/lib/mongo/operation/users_info/result.rb +1 -1
  365. data/lib/mongo/options.rb +1 -1
  366. data/lib/mongo/options/mapper.rb +1 -1
  367. data/lib/mongo/options/redacted.rb +1 -1
  368. data/lib/mongo/protocol/bit_vector.rb +3 -2
  369. data/lib/mongo/protocol/compressed.rb +7 -6
  370. data/lib/mongo/protocol/delete.rb +1 -1
  371. data/lib/mongo/protocol/get_more.rb +1 -1
  372. data/lib/mongo/protocol/insert.rb +4 -2
  373. data/lib/mongo/protocol/kill_cursors.rb +1 -1
  374. data/lib/mongo/protocol/message.rb +95 -16
  375. data/lib/mongo/protocol/msg.rb +189 -38
  376. data/lib/mongo/protocol/query.rb +8 -10
  377. data/lib/mongo/protocol/registry.rb +1 -1
  378. data/lib/mongo/protocol/reply.rb +1 -1
  379. data/lib/mongo/protocol/serializers.rb +51 -16
  380. data/lib/mongo/protocol/update.rb +1 -1
  381. data/lib/mongo/retryable.rb +24 -11
  382. data/lib/mongo/semaphore.rb +1 -1
  383. data/lib/mongo/server.rb +42 -11
  384. data/lib/mongo/server/app_metadata.rb +17 -4
  385. data/lib/mongo/server/connection.rb +40 -126
  386. data/lib/mongo/server/connection_base.rb +106 -19
  387. data/lib/mongo/server/connection_common.rb +135 -0
  388. data/lib/mongo/server/connection_pool.rb +57 -2
  389. data/lib/mongo/server/connection_pool/populator.rb +2 -2
  390. data/lib/mongo/server/context.rb +1 -1
  391. data/lib/mongo/server/description.rb +53 -13
  392. data/lib/mongo/server/description/features.rb +12 -3
  393. data/lib/mongo/server/monitor.rb +118 -72
  394. data/lib/mongo/server/monitor/app_metadata.rb +1 -1
  395. data/lib/mongo/server/monitor/connection.rb +62 -96
  396. data/lib/mongo/server/pending_connection.rb +204 -1
  397. data/lib/mongo/server/round_trip_time_averager.rb +12 -3
  398. data/lib/mongo/server_selector.rb +2 -1
  399. data/lib/mongo/server_selector/base.rb +40 -0
  400. data/lib/mongo/server_selector/nearest.rb +25 -15
  401. data/lib/mongo/server_selector/primary.rb +23 -22
  402. data/lib/mongo/server_selector/primary_preferred.rb +25 -15
  403. data/lib/mongo/server_selector/secondary.rb +25 -15
  404. data/lib/mongo/server_selector/secondary_preferred.rb +28 -27
  405. data/lib/mongo/server_selector/selectable.rb +30 -15
  406. data/lib/mongo/session.rb +15 -4
  407. data/lib/mongo/session/server_session.rb +1 -1
  408. data/lib/mongo/session/session_pool.rb +9 -4
  409. data/lib/mongo/socket.rb +120 -30
  410. data/lib/mongo/socket/ssl.rb +110 -32
  411. data/lib/mongo/socket/tcp.rb +41 -24
  412. data/lib/mongo/socket/unix.rb +14 -6
  413. data/lib/mongo/srv.rb +1 -1
  414. data/lib/mongo/srv/monitor.rb +74 -43
  415. data/lib/mongo/srv/resolver.rb +1 -1
  416. data/lib/mongo/srv/result.rb +1 -2
  417. data/lib/mongo/timeout.rb +49 -0
  418. data/lib/mongo/topology_version.rb +80 -0
  419. data/lib/mongo/uri.rb +84 -41
  420. data/lib/mongo/uri/srv_protocol.rb +10 -2
  421. data/lib/mongo/version.rb +2 -2
  422. data/lib/mongo/write_concern.rb +1 -1
  423. data/lib/mongo/write_concern/acknowledged.rb +1 -1
  424. data/lib/mongo/write_concern/base.rb +1 -1
  425. data/lib/mongo/write_concern/unacknowledged.rb +1 -1
  426. data/mongo.gemspec +2 -4
  427. data/spec/NOTES.aws-auth.md +291 -0
  428. data/spec/README.aws-auth.md +318 -0
  429. data/spec/README.md +282 -14
  430. data/spec/integration/auth_spec.rb +74 -1
  431. data/spec/integration/aws_auth_request_spec.rb +74 -0
  432. data/spec/integration/aws_credentials_retriever_spec.rb +103 -0
  433. data/spec/integration/bson_symbol_spec.rb +34 -0
  434. data/spec/integration/change_stream_spec.rb +123 -51
  435. data/spec/integration/{client_options_spec.rb → client_authentication_options_spec.rb} +15 -15
  436. data/spec/integration/client_construction_aws_auth_spec.rb +191 -0
  437. data/spec/integration/client_construction_spec.rb +101 -2
  438. data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +353 -0
  439. data/spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb +303 -0
  440. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +72 -0
  441. data/spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb +79 -0
  442. data/spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb +221 -0
  443. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +601 -0
  444. data/spec/integration/client_side_encryption/bson_size_limit_spec.rb +187 -0
  445. data/spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb +78 -0
  446. data/spec/integration/client_side_encryption/client_close_spec.rb +63 -0
  447. data/spec/integration/client_side_encryption/corpus_spec.rb +233 -0
  448. data/spec/integration/client_side_encryption/custom_endpoint_spec.rb +132 -0
  449. data/spec/integration/client_side_encryption/data_key_spec.rb +165 -0
  450. data/spec/integration/client_side_encryption/explicit_encryption_spec.rb +114 -0
  451. data/spec/integration/client_side_encryption/external_key_vault_spec.rb +141 -0
  452. data/spec/integration/client_side_encryption/views_spec.rb +44 -0
  453. data/spec/integration/client_update_spec.rb +154 -0
  454. data/spec/integration/collection_indexes_prose_spec.rb +55 -0
  455. data/spec/integration/command_monitoring_spec.rb +33 -7
  456. data/spec/integration/command_spec.rb +55 -19
  457. data/spec/integration/connect_single_rs_name_spec.rb +5 -3
  458. data/spec/integration/connection_spec.rb +115 -9
  459. data/spec/integration/crud_spec.rb +162 -0
  460. data/spec/integration/cursor_reaping_spec.rb +16 -11
  461. data/spec/integration/fork_reconnect_spec.rb +143 -0
  462. data/spec/integration/get_more_spec.rb +10 -3
  463. data/spec/integration/heartbeat_events_spec.rb +1 -1
  464. data/spec/integration/read_preference_spec.rb +67 -11
  465. data/spec/integration/reconnect_spec.rb +7 -7
  466. data/spec/integration/retryable_errors_spec.rb +35 -16
  467. data/spec/integration/{retryable_writes_spec.rb → retryable_writes/retryable_writes_36_and_older_spec.rb} +55 -51
  468. data/spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb +401 -0
  469. data/spec/integration/retryable_writes/shared/adds_diagnostics.rb +15 -0
  470. data/spec/integration/retryable_writes/shared/does_not_support_retries.rb +24 -0
  471. data/spec/integration/retryable_writes/shared/only_supports_legacy_retries.rb +25 -0
  472. data/spec/integration/retryable_writes/shared/performs_legacy_retries.rb +215 -0
  473. data/spec/integration/retryable_writes/shared/performs_modern_retries.rb +232 -0
  474. data/spec/integration/retryable_writes/shared/performs_no_retries.rb +110 -0
  475. data/spec/integration/retryable_writes/shared/supports_legacy_retries.rb +19 -0
  476. data/spec/integration/retryable_writes/shared/supports_modern_retries.rb +25 -0
  477. data/spec/integration/retryable_writes/shared/supports_retries.rb +16 -0
  478. data/spec/integration/sdam_error_handling_spec.rb +116 -18
  479. data/spec/integration/sdam_events_spec.rb +1 -0
  480. data/spec/integration/server_spec.rb +42 -26
  481. data/spec/integration/size_limit_spec.rb +94 -0
  482. data/spec/integration/srv_monitoring_spec.rb +16 -8
  483. data/spec/integration/step_down_spec.rb +15 -15
  484. data/spec/integration/transactions_api_examples_spec.rb +59 -0
  485. data/spec/integration/transactions_examples_spec.rb +5 -2
  486. data/spec/integration/x509_auth_spec.rb +109 -0
  487. data/spec/kerberos/kerberos_spec.rb +91 -0
  488. data/spec/lite_spec_helper.rb +41 -33
  489. data/spec/mongo/address/ipv4_spec.rb +1 -1
  490. data/spec/mongo/address_spec.rb +20 -14
  491. data/spec/mongo/auth/cr_spec.rb +15 -7
  492. data/spec/mongo/auth/gssapi/conversation_spec.rb +121 -0
  493. data/spec/mongo/auth/invalid_mechanism_spec.rb +1 -1
  494. data/spec/mongo/auth/ldap/conversation_spec.rb +1 -1
  495. data/spec/mongo/auth/ldap_spec.rb +8 -4
  496. data/spec/mongo/auth/scram/conversation_spec.rb +120 -334
  497. data/spec/mongo/auth/scram256/conversation_spec.rb +171 -0
  498. data/spec/mongo/auth/{scram/negotiation_spec.rb → scram_negotiation_spec.rb} +79 -75
  499. data/spec/mongo/auth/scram_spec.rb +55 -85
  500. data/spec/mongo/auth/user/view_spec.rb +39 -7
  501. data/spec/mongo/auth/user_spec.rb +13 -1
  502. data/spec/mongo/auth/x509/conversation_spec.rb +1 -1
  503. data/spec/mongo/auth/x509_spec.rb +13 -9
  504. data/spec/mongo/auth_spec.rb +4 -4
  505. data/spec/mongo/bulk_write/result_spec.rb +11 -7
  506. data/spec/mongo/bulk_write_spec.rb +208 -4
  507. data/spec/mongo/client_construction_spec.rb +496 -88
  508. data/spec/mongo/client_encryption_spec.rb +405 -0
  509. data/spec/mongo/client_spec.rb +21 -2
  510. data/spec/mongo/cluster/cursor_reaper_spec.rb +12 -8
  511. data/spec/mongo/cluster/socket_reaper_spec.rb +14 -3
  512. data/spec/mongo/cluster_spec.rb +23 -2
  513. data/spec/mongo/collection/view/aggregation_spec.rb +6 -4
  514. data/spec/mongo/collection/view/builder/find_command_spec.rb +17 -6
  515. data/spec/mongo/collection/view/change_stream_resume_spec.rb +392 -0
  516. data/spec/mongo/collection/view/change_stream_spec.rb +3 -321
  517. data/spec/mongo/collection/view/iterable_spec.rb +38 -0
  518. data/spec/mongo/collection/view/map_reduce_spec.rb +9 -5
  519. data/spec/mongo/collection/view/readable_spec.rb +15 -1
  520. data/spec/mongo/collection/view/writable_spec.rb +208 -1
  521. data/spec/mongo/collection/view_spec.rb +1 -1
  522. data/spec/mongo/collection_spec.rb +35 -52
  523. data/spec/mongo/crypt/auto_decryption_context_spec.rb +90 -0
  524. data/spec/mongo/crypt/auto_encrypter_spec.rb +187 -0
  525. data/spec/mongo/crypt/auto_encryption_context_spec.rb +107 -0
  526. data/spec/mongo/crypt/binary_spec.rb +115 -0
  527. data/spec/mongo/crypt/binding/binary_spec.rb +56 -0
  528. data/spec/mongo/crypt/binding/context_spec.rb +257 -0
  529. data/spec/mongo/crypt/binding/helpers_spec.rb +46 -0
  530. data/spec/mongo/crypt/binding/mongocrypt_spec.rb +144 -0
  531. data/spec/mongo/crypt/binding/status_spec.rb +99 -0
  532. data/spec/mongo/crypt/binding/version_spec.rb +22 -0
  533. data/spec/mongo/crypt/binding_unloaded_spec.rb +20 -0
  534. data/spec/mongo/crypt/data_key_context_spec.rb +213 -0
  535. data/spec/mongo/crypt/encryption_io_spec.rb +136 -0
  536. data/spec/mongo/crypt/explicit_decryption_context_spec.rb +72 -0
  537. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +170 -0
  538. data/spec/mongo/crypt/handle_spec.rb +232 -0
  539. data/spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb +108 -0
  540. data/spec/mongo/crypt/status_spec.rb +152 -0
  541. data/spec/mongo/cursor/builder/get_more_command_spec.rb +6 -1
  542. data/spec/mongo/cursor/builder/op_get_more_spec.rb +6 -1
  543. data/spec/mongo/cursor/builder/op_kill_cursors_spec.rb +61 -0
  544. data/spec/mongo/cursor_spec.rb +33 -5
  545. data/spec/mongo/database_spec.rb +26 -2
  546. data/spec/mongo/error/bulk_write_error_spec.rb +49 -0
  547. data/spec/mongo/error/crypt_error_spec.rb +26 -0
  548. data/spec/mongo/error/max_bson_size_spec.rb +35 -0
  549. data/spec/mongo/error/no_server_available_spec.rb +11 -1
  550. data/spec/mongo/error/notable_spec.rb +59 -0
  551. data/spec/mongo/error/operation_failure_heavy_spec.rb +58 -0
  552. data/spec/mongo/error/operation_failure_spec.rb +130 -72
  553. data/spec/mongo/error/unsupported_option_spec.rb +54 -0
  554. data/spec/mongo/grid/fs_bucket_spec.rb +18 -0
  555. data/spec/mongo/grid/stream/write_spec.rb +32 -0
  556. data/spec/mongo/index/view_spec.rb +166 -0
  557. data/spec/mongo/operation/aggregate/result_spec.rb +6 -1
  558. data/spec/mongo/operation/aggregate_spec.rb +1 -1
  559. data/spec/mongo/operation/collections_info_spec.rb +1 -1
  560. data/spec/mongo/operation/command_spec.rb +3 -3
  561. data/spec/mongo/operation/create_index_spec.rb +3 -3
  562. data/spec/mongo/operation/create_user_spec.rb +3 -3
  563. data/spec/mongo/operation/delete/bulk_spec.rb +18 -6
  564. data/spec/mongo/operation/delete/op_msg_spec.rb +23 -20
  565. data/spec/mongo/operation/delete_spec.rb +7 -7
  566. data/spec/mongo/operation/drop_index_spec.rb +2 -2
  567. data/spec/mongo/operation/find/legacy_spec.rb +27 -6
  568. data/spec/mongo/operation/get_more_spec.rb +6 -1
  569. data/spec/mongo/operation/indexes_spec.rb +1 -1
  570. data/spec/mongo/operation/insert/bulk_spec.rb +21 -7
  571. data/spec/mongo/operation/insert/command_spec.rb +4 -0
  572. data/spec/mongo/operation/insert/op_msg_spec.rb +25 -20
  573. data/spec/mongo/operation/insert_spec.rb +12 -12
  574. data/spec/mongo/operation/limited_spec.rb +5 -3
  575. data/spec/mongo/operation/map_reduce_spec.rb +2 -2
  576. data/spec/mongo/operation/read_preference_legacy_spec.rb +363 -0
  577. data/spec/mongo/operation/read_preference_op_msg_spec.rb +304 -0
  578. data/spec/mongo/operation/remove_user_spec.rb +3 -3
  579. data/spec/mongo/operation/result_spec.rb +6 -1
  580. data/spec/mongo/operation/update/bulk_spec.rb +18 -6
  581. data/spec/mongo/operation/update/command_spec.rb +4 -0
  582. data/spec/mongo/operation/update/op_msg_spec.rb +25 -20
  583. data/spec/mongo/operation/update_spec.rb +7 -7
  584. data/spec/mongo/operation/update_user_spec.rb +1 -1
  585. data/spec/mongo/protocol/compressed_spec.rb +2 -3
  586. data/spec/mongo/protocol/delete_spec.rb +9 -8
  587. data/spec/mongo/protocol/get_more_spec.rb +9 -8
  588. data/spec/mongo/protocol/insert_spec.rb +9 -8
  589. data/spec/mongo/protocol/kill_cursors_spec.rb +6 -5
  590. data/spec/mongo/protocol/msg_spec.rb +57 -53
  591. data/spec/mongo/protocol/query_spec.rb +12 -12
  592. data/spec/mongo/protocol/registry_spec.rb +1 -1
  593. data/spec/mongo/protocol/reply_spec.rb +1 -1
  594. data/spec/mongo/protocol/update_spec.rb +10 -9
  595. data/spec/mongo/retryable_spec.rb +71 -70
  596. data/spec/mongo/server/app_metadata_shared.rb +56 -0
  597. data/spec/mongo/server/app_metadata_spec.rb +8 -1
  598. data/spec/mongo/server/connection_auth_spec.rb +31 -12
  599. data/spec/mongo/server/connection_pool_spec.rb +1 -32
  600. data/spec/mongo/server/connection_spec.rb +143 -74
  601. data/spec/mongo/server/monitor/app_metadata_spec.rb +8 -1
  602. data/spec/mongo/server/monitor/connection_spec.rb +7 -81
  603. data/spec/mongo/server/monitor_spec.rb +76 -17
  604. data/spec/mongo/server/round_trip_time_averager_spec.rb +5 -3
  605. data/spec/mongo/server_selector/nearest_spec.rb +1 -0
  606. data/spec/mongo/server_selector/primary_preferred_spec.rb +1 -0
  607. data/spec/mongo/server_selector/primary_spec.rb +18 -0
  608. data/spec/mongo/server_selector/secondary_preferred_spec.rb +18 -1
  609. data/spec/mongo/server_selector/secondary_spec.rb +1 -0
  610. data/spec/mongo/server_selector_spec.rb +0 -1
  611. data/spec/mongo/session/session_pool_spec.rb +7 -3
  612. data/spec/mongo/socket/ssl_spec.rb +134 -100
  613. data/spec/mongo/socket/tcp_spec.rb +3 -11
  614. data/spec/mongo/socket/unix_spec.rb +2 -2
  615. data/spec/mongo/socket_spec.rb +9 -9
  616. data/spec/mongo/srv/monitor_spec.rb +88 -69
  617. data/spec/mongo/timeout_spec.rb +39 -0
  618. data/spec/mongo/uri/srv_protocol_spec.rb +2 -2
  619. data/spec/mongo/uri_spec.rb +74 -12
  620. data/spec/mongo/write_concern_spec.rb +13 -1
  621. data/spec/{support → runners}/auth.rb +19 -7
  622. data/spec/runners/change_streams/outcome.rb +42 -0
  623. data/spec/runners/change_streams/spec.rb +57 -0
  624. data/spec/runners/change_streams/test.rb +229 -0
  625. data/spec/{support → runners}/cmap.rb +1 -1
  626. data/spec/{support → runners}/cmap/verifier.rb +1 -1
  627. data/spec/{support → runners}/command_monitoring.rb +2 -2
  628. data/spec/runners/connection_string.rb +359 -4
  629. data/spec/{support → runners}/crud.rb +11 -11
  630. data/spec/{support → runners}/crud/context.rb +1 -1
  631. data/spec/{support → runners}/crud/operation.rb +127 -33
  632. data/spec/{support → runners}/crud/outcome.rb +1 -1
  633. data/spec/{support → runners}/crud/requirement.rb +1 -1
  634. data/spec/{support → runners}/crud/spec.rb +13 -1
  635. data/spec/{support → runners}/crud/test.rb +8 -26
  636. data/spec/runners/crud/test_base.rb +69 -0
  637. data/spec/{support → runners}/crud/verifier.rb +29 -13
  638. data/spec/{support → runners}/gridfs.rb +1 -1
  639. data/spec/{support/server_discovery_and_monitoring.rb → runners/sdam.rb} +41 -22
  640. data/spec/runners/sdam/verifier.rb +26 -8
  641. data/spec/{support → runners}/sdam_monitoring.rb +1 -1
  642. data/spec/{support → runners}/server_selection.rb +0 -0
  643. data/spec/{support → runners}/server_selection_rtt.rb +0 -0
  644. data/spec/{support → runners}/transactions.rb +10 -13
  645. data/spec/{support → runners}/transactions/context.rb +1 -1
  646. data/spec/{support → runners}/transactions/operation.rb +5 -1
  647. data/spec/{support → runners}/transactions/spec.rb +1 -1
  648. data/spec/{support → runners}/transactions/test.rb +82 -56
  649. data/spec/spec_helper.rb +0 -5
  650. data/spec/spec_tests/auth_spec.rb +5 -3
  651. data/spec/spec_tests/change_streams_spec.rb +39 -4
  652. data/spec/spec_tests/client_side_encryption_spec.rb +11 -0
  653. data/spec/spec_tests/cmap_spec.rb +5 -0
  654. data/spec/spec_tests/command_monitoring_spec.rb +3 -0
  655. data/spec/spec_tests/connection_string_spec.rb +3 -1
  656. data/spec/spec_tests/crud_spec.rb +2 -0
  657. data/spec/spec_tests/data/auth/connection-string.yml +69 -0
  658. data/spec/spec_tests/data/change_streams/change-streams-errors.yml +30 -0
  659. data/spec/spec_tests/data/change_streams/change-streams-resume-errorLabels.yml +1105 -0
  660. data/spec/spec_tests/data/change_streams/change-streams-resume-whitelist.yml +1107 -0
  661. data/spec/spec_tests/data/change_streams/change-streams.yml +5 -4
  662. data/spec/spec_tests/data/client_side_encryption/aggregate.yml +134 -0
  663. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +526 -0
  664. data/spec/spec_tests/data/client_side_encryption/badSchema.yml +73 -0
  665. data/spec/spec_tests/data/client_side_encryption/basic.yml +116 -0
  666. data/spec/spec_tests/data/client_side_encryption/bulk.yml +88 -0
  667. data/spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml +100 -0
  668. data/spec/spec_tests/data/client_side_encryption/bypassedCommand.yml +42 -0
  669. data/spec/spec_tests/data/client_side_encryption/count.yml +61 -0
  670. data/spec/spec_tests/data/client_side_encryption/countDocuments.yml +59 -0
  671. data/spec/spec_tests/data/client_side_encryption/delete.yml +105 -0
  672. data/spec/spec_tests/data/client_side_encryption/distinct.yml +73 -0
  673. data/spec/spec_tests/data/client_side_encryption/explain.yml +64 -0
  674. data/spec/spec_tests/data/client_side_encryption/find.yml +119 -0
  675. data/spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml +57 -0
  676. data/spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml +57 -0
  677. data/spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml +57 -0
  678. data/spec/spec_tests/data/client_side_encryption/getMore.yml +68 -0
  679. data/spec/spec_tests/data/client_side_encryption/insert.yml +102 -0
  680. data/spec/spec_tests/data/client_side_encryption/keyAltName.yml +71 -0
  681. data/spec/spec_tests/data/client_side_encryption/localKMS.yml +54 -0
  682. data/spec/spec_tests/data/client_side_encryption/localSchema.yml +72 -0
  683. data/spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml +69 -0
  684. data/spec/spec_tests/data/client_side_encryption/maxWireVersion.yml +20 -0
  685. data/spec/spec_tests/data/client_side_encryption/missingKey.yml +49 -0
  686. data/spec/spec_tests/data/client_side_encryption/replaceOne.yml +64 -0
  687. data/spec/spec_tests/data/client_side_encryption/types.yml +527 -0
  688. data/spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml +25 -0
  689. data/spec/spec_tests/data/client_side_encryption/updateMany.yml +77 -0
  690. data/spec/spec_tests/data/client_side_encryption/updateOne.yml +171 -0
  691. data/spec/spec_tests/data/crud_v2/aggregate-merge.yml +1 -1
  692. data/spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml +33 -11
  693. data/spec/spec_tests/data/crud_v2/bulkWrite-delete-hint-clientError.yml +63 -0
  694. data/spec/spec_tests/data/crud_v2/bulkWrite-delete-hint-serverError.yml +92 -0
  695. data/spec/spec_tests/data/crud_v2/bulkWrite-delete-hint.yml +103 -0
  696. data/spec/spec_tests/data/crud_v2/bulkWrite-update-hint-clientError.yml +90 -0
  697. data/spec/spec_tests/data/crud_v2/bulkWrite-update-hint-serverError.yml +147 -0
  698. data/spec/spec_tests/data/crud_v2/bulkWrite-update-hint.yml +164 -0
  699. data/spec/spec_tests/data/crud_v2/deleteMany-hint-clientError.yml +43 -0
  700. data/spec/spec_tests/data/crud_v2/deleteMany-hint-serverError.yml +62 -0
  701. data/spec/spec_tests/data/crud_v2/deleteMany-hint.yml +58 -0
  702. data/spec/spec_tests/data/crud_v2/deleteOne-hint-clientError.yml +41 -0
  703. data/spec/spec_tests/data/crud_v2/deleteOne-hint-serverError.yml +60 -0
  704. data/spec/spec_tests/data/crud_v2/deleteOne-hint.yml +57 -0
  705. data/spec/spec_tests/data/crud_v2/find-allowdiskuse-clientError.yml +28 -0
  706. data/spec/spec_tests/data/crud_v2/find-allowdiskuse-serverError.yml +44 -0
  707. data/spec/spec_tests/data/crud_v2/find-allowdiskuse.yml +50 -0
  708. data/spec/spec_tests/data/crud_v2/findOneAndDelete-hint-clientError.yml +45 -0
  709. data/spec/spec_tests/data/crud_v2/findOneAndDelete-hint-serverError.yml +60 -0
  710. data/spec/spec_tests/data/crud_v2/findOneAndDelete-hint.yml +56 -0
  711. data/spec/spec_tests/data/crud_v2/findOneAndReplace-hint-clientError.yml +40 -0
  712. data/spec/spec_tests/data/crud_v2/findOneAndReplace-hint-serverError.yml +59 -0
  713. data/spec/spec_tests/data/crud_v2/findOneAndReplace-hint.yml +55 -0
  714. data/spec/spec_tests/data/crud_v2/findOneAndUpdate-hint-clientError.yml +40 -0
  715. data/spec/spec_tests/data/crud_v2/findOneAndUpdate-hint-serverError.yml +58 -0
  716. data/spec/spec_tests/data/crud_v2/findOneAndUpdate-hint.yml +55 -0
  717. data/spec/spec_tests/data/crud_v2/replaceOne-hint.yml +61 -0
  718. data/spec/spec_tests/data/crud_v2/unacknowledged-bulkWrite-delete-hint-clientError.yml +60 -0
  719. data/spec/spec_tests/data/crud_v2/unacknowledged-bulkWrite-update-hint-clientError.yml +88 -0
  720. data/spec/spec_tests/data/crud_v2/unacknowledged-deleteMany-hint-clientError.yml +40 -0
  721. data/spec/spec_tests/data/crud_v2/unacknowledged-deleteOne-hint-clientError.yml +38 -0
  722. data/spec/spec_tests/data/crud_v2/unacknowledged-findOneAndDelete-hint-clientError.yml +42 -0
  723. data/spec/spec_tests/data/crud_v2/unacknowledged-findOneAndReplace-hint-clientError.yml +40 -0
  724. data/spec/spec_tests/data/crud_v2/unacknowledged-findOneAndUpdate-hint-clientError.yml +40 -0
  725. data/spec/spec_tests/data/crud_v2/unacknowledged-replaceOne-hint-clientError.yml +40 -0
  726. data/spec/spec_tests/data/crud_v2/unacknowledged-updateMany-hint-clientError.yml +43 -0
  727. data/spec/spec_tests/data/crud_v2/unacknowledged-updateOne-hint-clientError.yml +40 -0
  728. data/spec/spec_tests/data/crud_v2/updateMany-hint-clientError.yml +45 -0
  729. data/spec/spec_tests/data/crud_v2/updateMany-hint-serverError.yml +66 -0
  730. data/spec/spec_tests/data/crud_v2/updateMany-hint.yml +65 -0
  731. data/spec/spec_tests/data/crud_v2/updateOne-hint-clientError.yml +43 -0
  732. data/spec/spec_tests/data/crud_v2/updateOne-hint-serverError.yml +62 -0
  733. data/spec/spec_tests/data/crud_v2/updateOne-hint.yml +61 -0
  734. data/spec/spec_tests/data/crud_v2/updateWithPipelines.yml +65 -0
  735. data/spec/spec_tests/data/dns_seedlist_discovery/direct-connection-false.yml +10 -0
  736. data/spec/spec_tests/data/dns_seedlist_discovery/direct-connection-true.yml +5 -0
  737. data/spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml +1 -4
  738. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-2.6.yml +215 -0
  739. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.2.yml +58 -0
  740. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.4.yml +95 -0
  741. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-4.2.yml +36 -0
  742. data/spec/spec_tests/data/retryable_writes/bulkWrite-errorLabels.yml +77 -0
  743. data/spec/spec_tests/data/retryable_writes/bulkWrite-serverErrors.yml +37 -0
  744. data/spec/spec_tests/data/retryable_writes/deleteOne-errorLabels.yml +48 -0
  745. data/spec/spec_tests/data/retryable_writes/deleteOne-serverErrors.yml +22 -0
  746. data/spec/spec_tests/data/retryable_writes/findOneAndDelete-errorLabels.yml +49 -0
  747. data/spec/spec_tests/data/retryable_writes/findOneAndDelete-serverErrors.yml +23 -0
  748. data/spec/spec_tests/data/retryable_writes/findOneAndReplace-errorLabels.yml +52 -0
  749. data/spec/spec_tests/data/retryable_writes/findOneAndReplace-serverErrors.yml +25 -0
  750. data/spec/spec_tests/data/retryable_writes/findOneAndUpdate-errorLabels.yml +52 -0
  751. data/spec/spec_tests/data/retryable_writes/findOneAndUpdate-serverErrors.yml +24 -0
  752. data/spec/spec_tests/data/retryable_writes/insertMany-errorLabels.yml +54 -0
  753. data/spec/spec_tests/data/retryable_writes/insertMany-serverErrors.yml +24 -0
  754. data/spec/spec_tests/data/retryable_writes/insertOne-errorLabels.yml +44 -0
  755. data/spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml +90 -0
  756. data/spec/spec_tests/data/retryable_writes/replaceOne-errorLabels.yml +53 -0
  757. data/spec/spec_tests/data/retryable_writes/replaceOne-serverErrors.yml +23 -0
  758. data/spec/spec_tests/data/retryable_writes/updateOne-errorLabels.yml +53 -0
  759. data/spec/spec_tests/data/retryable_writes/updateOne-serverErrors.yml +23 -0
  760. data/spec/spec_tests/data/sdam/errors/error_handling_handshake.yml +54 -0
  761. data/spec/spec_tests/data/sdam/errors/non-stale-network-error.yml +46 -0
  762. data/spec/spec_tests/data/sdam/errors/non-stale-network-timeout-error.yml +37 -0
  763. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedAtShutdown.yml +60 -0
  764. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedDueToReplStateChange.yml +60 -0
  765. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMaster.yml +60 -0
  766. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMasterNoSlaveOk.yml +60 -0
  767. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMasterOrSecondary.yml +60 -0
  768. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-PrimarySteppedDown.yml +60 -0
  769. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-ShutdownInProgress.yml +60 -0
  770. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedAtShutdown.yml +51 -0
  771. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedDueToReplStateChange.yml +51 -0
  772. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMaster.yml +51 -0
  773. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMasterNoSlaveOk.yml +51 -0
  774. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMasterOrSecondary.yml +51 -0
  775. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-PrimarySteppedDown.yml +51 -0
  776. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-ShutdownInProgress.yml +51 -0
  777. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedAtShutdown.yml +60 -0
  778. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedDueToReplStateChange.yml +60 -0
  779. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMaster.yml +60 -0
  780. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMasterNoSlaveOk.yml +60 -0
  781. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMasterOrSecondary.yml +60 -0
  782. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-PrimarySteppedDown.yml +60 -0
  783. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-ShutdownInProgress.yml +60 -0
  784. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedAtShutdown.yml +46 -0
  785. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedDueToReplStateChange.yml +46 -0
  786. data/spec/spec_tests/data/sdam/errors/post-42-NotMaster.yml +46 -0
  787. data/spec/spec_tests/data/sdam/errors/post-42-NotMasterNoSlaveOk.yml +46 -0
  788. data/spec/spec_tests/data/sdam/errors/post-42-NotMasterOrSecondary.yml +46 -0
  789. data/spec/spec_tests/data/sdam/errors/post-42-PrimarySteppedDown.yml +46 -0
  790. data/spec/spec_tests/data/sdam/errors/post-42-ShutdownInProgress.yml +46 -0
  791. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedAtShutdown.yml +46 -0
  792. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedDueToReplStateChange.yml +46 -0
  793. data/spec/spec_tests/data/sdam/errors/pre-42-NotMaster.yml +46 -0
  794. data/spec/spec_tests/data/sdam/errors/pre-42-NotMasterNoSlaveOk.yml +46 -0
  795. data/spec/spec_tests/data/sdam/errors/pre-42-NotMasterOrSecondary.yml +46 -0
  796. data/spec/spec_tests/data/sdam/errors/pre-42-PrimarySteppedDown.yml +46 -0
  797. data/spec/spec_tests/data/sdam/errors/pre-42-ShutdownInProgress.yml +46 -0
  798. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedAtShutdown.yml +89 -0
  799. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedDueToReplStateChange.yml +89 -0
  800. data/spec/spec_tests/data/sdam/errors/stale-generation-NotMaster.yml +89 -0
  801. data/spec/spec_tests/data/sdam/errors/stale-generation-NotMasterNoSlaveOk.yml +89 -0
  802. data/spec/spec_tests/data/sdam/errors/stale-generation-NotMasterOrSecondary.yml +89 -0
  803. data/spec/spec_tests/data/sdam/errors/stale-generation-PrimarySteppedDown.yml +89 -0
  804. data/spec/spec_tests/data/sdam/errors/stale-generation-ShutdownInProgress.yml +89 -0
  805. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedAtShutdown.yml +89 -0
  806. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedDueToReplStateChange.yml +89 -0
  807. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMaster.yml +89 -0
  808. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMasterNoSlaveOk.yml +89 -0
  809. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMasterOrSecondary.yml +89 -0
  810. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-PrimarySteppedDown.yml +89 -0
  811. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-ShutdownInProgress.yml +89 -0
  812. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-network.yml +80 -0
  813. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-timeout.yml +80 -0
  814. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedAtShutdown.yml +89 -0
  815. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedDueToReplStateChange.yml +89 -0
  816. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMaster.yml +89 -0
  817. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMasterNoSlaveOk.yml +89 -0
  818. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMasterOrSecondary.yml +89 -0
  819. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-PrimarySteppedDown.yml +89 -0
  820. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-ShutdownInProgress.yml +89 -0
  821. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-network.yml +80 -0
  822. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-timeout.yml +80 -0
  823. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedAtShutdown.yml +64 -0
  824. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedDueToReplStateChange.yml +64 -0
  825. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMaster.yml +64 -0
  826. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMasterNoSlaveOk.yml +64 -0
  827. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMasterOrSecondary.yml +64 -0
  828. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-PrimarySteppedDown.yml +64 -0
  829. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-ShutdownInProgress.yml +64 -0
  830. data/spec/spec_tests/data/sdam/rs/compatible.yml +2 -0
  831. data/spec/spec_tests/data/sdam/rs/compatible_unknown.yml +2 -0
  832. data/spec/spec_tests/data/sdam/rs/discover_arbiters.yml +2 -2
  833. data/spec/spec_tests/data/sdam/rs/discover_arbiters_replicaset.yml +43 -0
  834. data/spec/spec_tests/data/sdam/rs/discover_ghost.yml +35 -0
  835. data/spec/spec_tests/data/sdam/rs/{ghost_discovered.yml → discover_ghost_replicaset.yml} +1 -1
  836. data/spec/spec_tests/data/sdam/rs/discover_hidden.yml +50 -0
  837. data/spec/spec_tests/data/sdam/rs/discover_hidden_replicaset.yml +50 -0
  838. data/spec/spec_tests/data/sdam/rs/discover_passives.yml +2 -2
  839. data/spec/spec_tests/data/sdam/rs/discover_passives_replicaset.yml +81 -0
  840. data/spec/spec_tests/data/sdam/rs/discover_primary.yml +2 -2
  841. data/spec/spec_tests/data/sdam/rs/discover_primary_replicaset.yml +42 -0
  842. data/spec/spec_tests/data/sdam/rs/discover_rsother.yml +49 -0
  843. data/spec/spec_tests/data/sdam/rs/{rsother_discovered.yml → discover_rsother_replicaset.yml} +1 -1
  844. data/spec/spec_tests/data/sdam/rs/discover_secondary.yml +2 -2
  845. data/spec/spec_tests/data/sdam/rs/discover_secondary_replicaset.yml +43 -0
  846. data/spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml +2 -0
  847. data/spec/spec_tests/data/sdam/rs/incompatible_ghost.yml +4 -4
  848. data/spec/spec_tests/data/sdam/rs/incompatible_other.yml +3 -1
  849. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml +23 -27
  850. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml +73 -0
  851. data/spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml +79 -56
  852. data/spec/spec_tests/data/sdam/rs/repeated.yml +101 -0
  853. data/spec/spec_tests/data/sdam/rs/replicaset_rsnp.yml +20 -0
  854. data/spec/spec_tests/data/sdam/rs/{primary_address_change.yml → ruby_primary_address_change.yml} +2 -0
  855. data/spec/spec_tests/data/sdam/rs/{secondary_wrong_set_name_with_primary_second.yml → ruby_secondary_wrong_set_name_with_primary_second.yml} +0 -0
  856. data/spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml +3 -2
  857. data/spec/spec_tests/data/sdam/rs/too_new.yml +2 -0
  858. data/spec/spec_tests/data/sdam/rs/topology_version_equal.yml +66 -0
  859. data/spec/spec_tests/data/sdam/rs/topology_version_greater.yml +189 -0
  860. data/spec/spec_tests/data/sdam/rs/topology_version_less.yml +62 -0
  861. data/spec/spec_tests/data/sdam/sharded/discover_single_mongos.yml +23 -0
  862. data/spec/spec_tests/data/sdam/sharded/{primary_address_change.yml → ruby_primary_different_address.yml} +1 -1
  863. data/spec/spec_tests/data/sdam/sharded/{primary_mismatched_me.yml → ruby_primary_mismatched_me.yml} +1 -1
  864. data/spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml +1 -1
  865. data/spec/spec_tests/data/sdam/single/direct_connection_mongos.yml +2 -2
  866. data/spec/spec_tests/data/sdam/single/direct_connection_replicaset.yml +22 -0
  867. data/spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml +2 -2
  868. data/spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml +2 -2
  869. data/spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml +2 -2
  870. data/spec/spec_tests/data/sdam/single/direct_connection_slave.yml +1 -1
  871. data/spec/spec_tests/data/sdam/single/direct_connection_standalone.yml +2 -2
  872. data/spec/spec_tests/data/sdam/single/{unavailable_seed.yml → direct_connection_unavailable_seed.yml} +2 -2
  873. data/spec/spec_tests/data/sdam/single/direct_connection_wrong_set_name.yml +38 -0
  874. data/spec/spec_tests/data/sdam/{sharded/single_mongos.yml → single/discover_standalone.yml} +7 -6
  875. data/spec/spec_tests/data/sdam/single/discover_unavailable_seed.yml +28 -0
  876. data/spec/spec_tests/data/sdam/single/{primary_address_change.yml → ruby_primary_different_address.yml} +1 -1
  877. data/spec/spec_tests/data/sdam/single/{primary_mismatched_me.yml → ruby_primary_mismatched_me.yml} +1 -1
  878. data/spec/spec_tests/data/sdam/single/too_old_then_upgraded.yml +46 -0
  879. data/spec/spec_tests/data/sdam_monitoring/{replica_set_with_primary_change.yml → replica_set_primary_address_change.yml} +27 -5
  880. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml +26 -74
  881. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml +20 -16
  882. data/spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml +73 -0
  883. data/spec/spec_tests/data/transactions/create-collection.yml +131 -0
  884. data/spec/spec_tests/data/transactions/create-index.yml +152 -0
  885. data/spec/spec_tests/data/transactions/error-labels.yml +87 -21
  886. data/spec/spec_tests/data/transactions/mongos-recovery-token.yml +1 -0
  887. data/spec/spec_tests/data/transactions/pin-mongos.yml +2 -3
  888. data/spec/spec_tests/data/transactions/retryable-abort-errorLabels.yml +124 -0
  889. data/spec/spec_tests/data/transactions/retryable-abort.yml +17 -2
  890. data/spec/spec_tests/data/transactions/retryable-commit-errorLabels.yml +132 -0
  891. data/spec/spec_tests/data/transactions/retryable-commit.yml +24 -9
  892. data/spec/spec_tests/data/uri_options/auth-options.yml +10 -0
  893. data/spec/spec_tests/data/uri_options/connection-options.yml +43 -0
  894. data/spec/spec_tests/data/uri_options/ruby-auth-options.yml +12 -0
  895. data/spec/spec_tests/data/uri_options/ruby-connection-options.yml +57 -0
  896. data/spec/spec_tests/data/uri_options/tls-options.yml +75 -4
  897. data/spec/spec_tests/dns_seedlist_discovery_spec.rb +3 -1
  898. data/spec/spec_tests/gridfs_spec.rb +2 -0
  899. data/spec/spec_tests/max_staleness_spec.rb +3 -1
  900. data/spec/spec_tests/read_write_concern_connection_string_spec.rb +3 -1
  901. data/spec/spec_tests/read_write_concern_operaton_spec.rb +10 -0
  902. data/spec/spec_tests/retryable_reads_spec.rb +2 -0
  903. data/spec/spec_tests/retryable_writes_spec.rb +8 -1
  904. data/spec/spec_tests/sdam_monitoring_spec.rb +3 -1
  905. data/spec/spec_tests/sdam_spec.rb +70 -1
  906. data/spec/spec_tests/server_selection_rtt_spec.rb +2 -0
  907. data/spec/spec_tests/server_selection_spec.rb +2 -0
  908. data/spec/spec_tests/transactions_api_spec.rb +5 -0
  909. data/spec/spec_tests/transactions_spec.rb +5 -0
  910. data/spec/spec_tests/uri_options_spec.rb +8 -8
  911. data/spec/stress/cleanup_spec.rb +43 -0
  912. data/spec/stress/connection_pool_stress_spec.rb +1 -5
  913. data/spec/stress/connection_pool_timing_spec.rb +9 -9
  914. data/spec/stress/fork_reconnect_stress_spec.rb +109 -0
  915. data/spec/support/authorization.rb +1 -11
  916. data/spec/support/aws_utils.rb +62 -0
  917. data/spec/support/aws_utils/base.rb +134 -0
  918. data/spec/support/aws_utils/inspector.rb +224 -0
  919. data/spec/support/aws_utils/orchestrator.rb +370 -0
  920. data/spec/support/aws_utils/provisioner.rb +360 -0
  921. data/spec/support/background_thread_registry.rb +6 -2
  922. data/spec/support/certificates/README.md +4 -0
  923. data/spec/support/certificates/server-second-level-bundle.pem +77 -77
  924. data/spec/support/certificates/server-second-level.crt +52 -52
  925. data/spec/support/certificates/server-second-level.key +25 -25
  926. data/spec/support/certificates/server-second-level.pem +77 -77
  927. data/spec/support/client_registry.rb +24 -27
  928. data/spec/support/cluster_config.rb +10 -1
  929. data/spec/support/cluster_tools.rb +11 -4
  930. data/spec/support/common_shortcuts.rb +55 -0
  931. data/spec/support/constraints.rb +43 -7
  932. data/spec/support/crypt.rb +154 -0
  933. data/spec/support/crypt/corpus/corpus-key-aws.json +33 -0
  934. data/spec/support/crypt/corpus/corpus-key-local.json +31 -0
  935. data/spec/support/crypt/corpus/corpus-schema.json +2057 -0
  936. data/spec/support/crypt/corpus/corpus.json +3657 -0
  937. data/spec/support/crypt/corpus/corpus_encrypted.json +4152 -0
  938. data/spec/support/crypt/data_keys/key_document_aws.json +34 -0
  939. data/spec/support/crypt/data_keys/key_document_local.json +31 -0
  940. data/spec/support/crypt/external/external-key.json +31 -0
  941. data/spec/support/crypt/external/external-schema.json +19 -0
  942. data/spec/support/crypt/limits/limits-doc.json +102 -0
  943. data/spec/support/crypt/limits/limits-key.json +31 -0
  944. data/spec/support/crypt/limits/limits-schema.json +1405 -0
  945. data/spec/support/crypt/schema_maps/schema_map_aws.json +17 -0
  946. data/spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json +12 -0
  947. data/spec/support/crypt/schema_maps/schema_map_local.json +18 -0
  948. data/spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json +12 -0
  949. data/spec/support/event_subscriber.rb +94 -84
  950. data/spec/support/lite_constraints.rb +74 -1
  951. data/spec/support/matchers.rb +19 -0
  952. data/spec/support/shared/protocol.rb +2 -0
  953. data/spec/support/shared/scram_conversation.rb +100 -0
  954. data/spec/support/shared/server_selector.rb +81 -1
  955. data/spec/support/shared/session.rb +29 -21
  956. data/spec/support/spec_config.rb +92 -22
  957. data/spec/support/spec_setup.rb +8 -4
  958. data/spec/support/utils.rb +263 -32
  959. metadata +1285 -682
  960. metadata.gz.sig +0 -0
  961. data/lib/mongo/cluster/srv_monitor.rb +0 -127
  962. data/lib/mongo/server/connectable.rb +0 -107
  963. data/lib/mongo/srv/warning_result.rb +0 -35
  964. data/spec/enterprise_auth/kerberos_spec.rb +0 -58
  965. data/spec/mongo/cluster/srv_monitor_spec.rb +0 -214
  966. data/spec/mongo/operation/read_preference_spec.rb +0 -245
  967. data/spec/support/change_streams.rb +0 -262
  968. data/spec/support/change_streams/operation.rb +0 -89
  969. data/spec/support/connection_string.rb +0 -354
  970. data/spec/support/crud/test_base.rb +0 -22
@@ -1,5 +1,10 @@
1
- module Utils
1
+ autoload :Base64, 'base64'
2
+ autoload :JSON, 'json'
3
+ module Net
4
+ autoload :HTTP, 'net/http'
5
+ end
2
6
 
7
+ module Utils
3
8
  # Converts a 'camelCase' string or symbol to a :under_score symbol.
4
9
  def underscore(str)
5
10
  str = str.to_s
@@ -85,12 +90,57 @@ module Utils
85
90
  def convert_client_options(spec_test_options)
86
91
  uri = Mongo::URI.new('mongodb://localhost')
87
92
  spec_test_options.reduce({}) do |opts, (name, value)|
88
- uri.send(:add_uri_option, name, value.to_s, opts)
93
+ if name == 'autoEncryptOpts'
94
+ opts.merge!(
95
+ auto_encryption_options: convert_auto_encryption_client_options(value)
96
+ .merge(
97
+ # Spawn mongocryptd on non-default port for sharded cluster tests
98
+ extra_options: {
99
+ mongocryptd_spawn_args: ["--port=#{SpecConfig.instance.mongocryptd_port}"],
100
+ mongocryptd_uri: "mongodb://localhost:#{SpecConfig.instance.mongocryptd_port}",
101
+ }
102
+ )
103
+ )
104
+ else
105
+ uri.send(:add_uri_option, name, value.to_s, opts)
106
+ end
107
+
89
108
  opts
90
109
  end
91
110
  end
92
111
  module_function :convert_client_options
93
112
 
113
+ private def convert_auto_encryption_client_options(opts)
114
+ auto_encrypt_opts = Utils.snakeize_hash(opts)
115
+
116
+ if opts['kmsProviders']['aws']
117
+ # The tests require that AWS credentials be filled in by the driver.
118
+ auto_encrypt_opts[:kms_providers][:aws] = {
119
+ access_key_id: SpecConfig.instance.fle_aws_key,
120
+ secret_access_key: SpecConfig.instance.fle_aws_secret,
121
+ }
122
+ end
123
+
124
+ if opts['kmsProviders']['local']
125
+ auto_encrypt_opts[:kms_providers][:local] = {
126
+ key: BSON::ExtJSON.parse_obj(opts['kmsProviders']['local']['key']).data
127
+ }
128
+ end
129
+
130
+ if opts['keyVaultNamespace']
131
+ auto_encrypt_opts[:key_vault_namespace] = opts['keyVaultNamespace']
132
+ else
133
+ auto_encrypt_opts[:key_vault_namespace] = 'admin.datakeys'
134
+ end
135
+
136
+ if opts['schemaMap']
137
+ auto_encrypt_opts[:schema_map] = BSON::ExtJSON.parse_obj(opts['schemaMap'])
138
+ end
139
+
140
+ auto_encrypt_opts
141
+ end
142
+ module_function :convert_auto_encryption_client_options
143
+
94
144
  def order_hash(hash)
95
145
  Hash[hash.to_a.sort]
96
146
  end
@@ -102,17 +152,10 @@ module Utils
102
152
  events = events.map do |e|
103
153
  command = e.command.dup
104
154
 
105
- # Convert txnNumber field from a BSON integer to an extended JSON int64
106
- if command['txnNumber']
107
- command['txnNumber'] = {
108
- '$numberLong' => command['txnNumber'].value.to_s
109
- }
110
- end
111
-
112
- # Fake $code for map/reduce commands
155
+ # Fake BSON::Code for map/reduce commands
113
156
  %w(map reduce).each do |key|
114
157
  if command[key].is_a?(String)
115
- command[key] = {'$code' => command[key]}
158
+ command[key] = BSON::Code.new(command[key])
116
159
  end
117
160
  end
118
161
 
@@ -135,23 +178,12 @@ module Utils
135
178
  end
136
179
 
137
180
  # The spec tests use 42 as a placeholder value for any getMore cursorId.
138
- command['getMore'] = { '$numberLong' => '42' } if command['getMore']
181
+ command['getMore'] = command['getMore'].class.new(42) if command['getMore']
139
182
 
140
183
  # Remove fields if empty
141
184
  #command.delete('filter') if command['filter'] && command['filter'].empty?
142
185
  command.delete('query') if command['query'] && command['query'].empty?
143
186
 
144
- if filter = command['filter']
145
- # Since the Ruby driver does not implement extended JSON, hack
146
- # the types here manually.
147
- # Note that this code mutates the command.
148
- %w(_id files_id).each do |key|
149
- if filter[key] && filter[key].is_a?(BSON::ObjectId)
150
- filter[key] = {'$oid' => filter[key].to_s}
151
- end
152
- end
153
- end
154
-
155
187
  {
156
188
  'command_started_event' => order_hash(
157
189
  'command' => order_hash(command),
@@ -164,7 +196,7 @@ module Utils
164
196
  # Remove any events from authentication commands.
165
197
  events.reject! do |e|
166
198
  command_name = e['command_started_event']['command_name']
167
- command_name.start_with?('sasl') || command_name == 'authenticate'
199
+ %w(saslStart saslContinue authenticate getnonce).include?(command_name)
168
200
  end
169
201
 
170
202
  events
@@ -200,21 +232,220 @@ module Utils
200
232
  out_k = Utils.underscore(k).to_sym
201
233
  v
202
234
  when 'writeConcern'
203
- # Write concern option is called :write on the client, but
204
- # :write_concern on all levels below the client.
205
- out_k = :write_concern
206
- # The client expects write concern value to only have symbol keys.
207
- Hash[v.map do |sub_k, sub_v|
208
- [sub_k.to_sym, sub_v]
209
- end]
235
+ if v == {}
236
+ # Tests added in SPEC-1352 specify {writeConcern: {}} but what
237
+ # they mean is for the driver to use the default write concern,
238
+ # which for Ruby means no write concern is specified at all.
239
+ #
240
+ # This nil return requires the compact call below to get rid of
241
+ # the nils before outgoing options are constructed.
242
+ next nil
243
+ else
244
+ # Write concern option is called :write on the client, but
245
+ # :write_concern on all levels below the client.
246
+ out_k = :write_concern
247
+ # The client expects write concern value to only have symbol keys.
248
+ Hash[v.map do |sub_k, sub_v|
249
+ [sub_k.to_sym, sub_v]
250
+ end]
251
+ end
210
252
  else
211
253
  raise "Unhandled operation option #{k}"
212
254
  end
213
255
  [out_k, out_v]
214
- end]
256
+ end.compact]
215
257
  else
216
258
  {}
217
259
  end
218
260
  end
219
261
  module_function :convert_operation_options
262
+
263
+ def int64_value(value)
264
+ if value.respond_to?(:value)
265
+ # bson-ruby >= 4.6.0
266
+ value.value
267
+ else
268
+ value.instance_variable_get('@integer')
269
+ end
270
+ end
271
+ module_function :int64_value
272
+
273
+ URI_OPTION_MAP = {
274
+ app_name: 'appName',
275
+ auth_mech: 'authMechanism',
276
+ auth_source: 'authsource',
277
+ replica_set: 'replicaSet',
278
+ ssl_ca_cert: 'tlsCAFile',
279
+ ssl_cert: 'tlsCertificateKeyFile',
280
+ ssl_key: 'tlsCertificateKeyFile',
281
+ }.freeze
282
+
283
+ module_function def create_mongodb_uri(address_strs, **opts)
284
+ creds = if opts[:username]
285
+ "#{opts[:username]}:#{opts[:password]}@"
286
+ else
287
+ ''
288
+ end
289
+ uri = "mongodb://#{creds}#{address_strs.join(',')}/"
290
+ if opts[:database]
291
+ uri << opts[:database]
292
+ end
293
+ if uri_options = opts[:uri_options]
294
+ uri << '?'
295
+
296
+ uri_options.each do |k, v|
297
+ uri << '&'
298
+
299
+ write_k = URI_OPTION_MAP[k] || k
300
+
301
+ if k == :compressors
302
+ write_v = v.join(',')
303
+ elsif k == :auth_mech
304
+ if v
305
+ write_v = Mongo::URI::AUTH_MECH_MAP.key(v)
306
+ unless write_v
307
+ raise "Unhandled auth mech value: #{v}"
308
+ end
309
+ else
310
+ next
311
+ end
312
+ else
313
+ write_v = v
314
+ end
315
+
316
+ uri << "#{write_k}=#{write_v}"
317
+ end
318
+ end
319
+
320
+ uri
321
+ end
322
+
323
+ # Client-Side encryption tests introduce the $$type syntax for determining
324
+ # equality in command started events. The $$type key specifies which type of
325
+ # BSON object is expected in the result. If the $$type key is present, only
326
+ # check the class of the result.
327
+ def match_with_type?(expected, actual)
328
+ if expected.is_a?(Hash) && expected.key?('$$type')
329
+ case expected['$$type']
330
+ when 'binData'
331
+ expected_class = BSON::Binary
332
+ expected_key = '$binary'
333
+ when 'long'
334
+ expected_class = BSON::Int64
335
+ expected_key = '$numberLong'
336
+ else
337
+ raise "Tests do not currently support matching against $$type #{v['$$type']}"
338
+ end
339
+
340
+ actual.is_a?(expected_class) || actual.key?(expected_key)
341
+ elsif expected.is_a?(Hash) && actual.is_a?(Hash)
342
+ same_keys = (expected.keys - actual.keys).empty? &&
343
+ (actual.keys - expected.keys).empty?
344
+
345
+ same_values = expected.keys.all? do |key|
346
+ match_with_type?(expected[key], actual[key])
347
+ end
348
+
349
+ same_keys && same_values
350
+ elsif expected.is_a?(Array) && actual.is_a?(Array)
351
+ same_length = expected.length == actual.length
352
+
353
+ same_values = expected.map.with_index do |_, idx|
354
+ match_with_type?(expected[idx], actual[idx])
355
+ end.all?
356
+
357
+ same_length && same_values
358
+ elsif expected == 42
359
+ actual.is_a?(Numeric) || actual.is_a?(BSON::Int32) || actual.is_a?(BSON::Int64)
360
+ else
361
+ expected == actual
362
+ end
363
+ end
364
+ module_function :match_with_type?
365
+
366
+ module_function def get_ec2_metadata_token(ttl: 30, http: nil)
367
+ http ||= Net::HTTP.new('169.254.169.254')
368
+ req = Net::HTTP::Put.new('/latest/api/token',
369
+ # The TTL is required in order to obtain the metadata token.
370
+ {'x-aws-ec2-metadata-token-ttl-seconds' => ttl.to_s})
371
+ resp = http.request(req)
372
+ if resp.code != '200'
373
+ raise "Metadata token request failed: #{e.class}: #{e}"
374
+ end
375
+ resp.body
376
+ end
377
+
378
+ module_function def ec2_instance_id
379
+ http = Net::HTTP.new('169.254.169.254')
380
+ metadata_token = get_ec2_metadata_token(http: http)
381
+ req = Net::HTTP::Get.new('/latest/dynamic/instance-identity/document',
382
+ {'x-aws-ec2-metadata-token' => metadata_token})
383
+ resp = http.request(req)
384
+ payload = JSON.parse(resp.body)
385
+ payload.fetch('instanceId')
386
+ end
387
+
388
+ module_function def ec2_instance_profile
389
+ http = Net::HTTP.new('169.254.169.254')
390
+ metadata_token = get_ec2_metadata_token(http: http)
391
+ req = Net::HTTP::Get.new('/latest/meta-data/iam/info',
392
+ {'x-aws-ec2-metadata-token' => metadata_token})
393
+ resp = http.request(req)
394
+ if resp.code == '404'
395
+ nil
396
+ else
397
+ payload = JSON.parse(resp.body)
398
+ payload['InstanceProfileArn']
399
+ end
400
+ end
401
+
402
+ module_function def wait_for_instance_profile
403
+ deadline = Time.now + 15
404
+ loop do
405
+ begin
406
+ ip = ec2_instance_profile
407
+ if ip
408
+ puts "Instance profile assigned: #{ip}"
409
+ break
410
+ end
411
+ rescue => e
412
+ puts "Problem retrieving instance profile: #{e.class}: #{e}"
413
+ end
414
+ if Time.now >= deadline
415
+ raise 'Instance profile did not get assigned in 15 seconds'
416
+ end
417
+ sleep 3
418
+ end
419
+ end
420
+
421
+ module_function def wait_for_no_instance_profile
422
+ deadline = Time.now + 15
423
+ loop do
424
+ begin
425
+ ip = ec2_instance_profile
426
+ if ip.nil?
427
+ puts "Instance profile cleared"
428
+ break
429
+ end
430
+ rescue => e
431
+ puts "Problem retrieving instance profile: #{e.class}: #{e}"
432
+ end
433
+ if Time.now >= deadline
434
+ raise 'Instance profile did not get cleared in 15 seconds'
435
+ end
436
+ sleep 3
437
+ end
438
+ end
439
+
440
+ module_function def wrap_forked_child
441
+ begin
442
+ yield
443
+ rescue => e
444
+ STDERR.puts "Failing process #{Process.pid} due to #{e.class}: #{e}"
445
+ exec('/bin/false')
446
+ else
447
+ # Exec so that we do not close any clients etc. in the child.
448
+ exec('/bin/true')
449
+ end
450
+ end
220
451
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.2
4
+ version: 2.13.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -13,8 +13,8 @@ cert_chain:
13
13
  - |
14
14
  -----BEGIN CERTIFICATE-----
15
15
  MIIDRDCCAiygAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtkcml2
16
- ZXItcnVieS9EQz0xMGdlbi9EQz1jb20wHhcNMTkwMTE3MjIzMDE1WhcNMjAwMTE3
17
- MjIzMDE1WjAmMSQwIgYDVQQDDBtkcml2ZXItcnVieS9EQz0xMGdlbi9EQz1jb20w
16
+ ZXItcnVieS9EQz0xMGdlbi9EQz1jb20wHhcNMjAwMTIzMTkzNjAxWhcNMjEwMTIy
17
+ MTkzNjAxWjAmMSQwIgYDVQQDDBtkcml2ZXItcnVieS9EQz0xMGdlbi9EQz1jb20w
18
18
  ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRXUgGvH0ZtWwDPc2umdHw
19
19
  B+INNm6jNTRp8PMyUKxPzxaxX2OiBQk9gLC3zsK9ZmlZu4lNfpHVSCEPoiP/fhPg
20
20
  Kyfq2xld3Qz0Pki5d5i0/r14343MTKiNiFulLlbbdlN0cXeEFNJHUycZnD2LOXwz
@@ -24,14 +24,14 @@ cert_chain:
24
24
  AgMBAAGjfTB7MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRbd1mx
25
25
  fvSaVIwKI+tnEAYDW/B81zAgBgNVHREEGTAXgRVkcml2ZXItcnVieUAxMGdlbi5j
26
26
  b20wIAYDVR0SBBkwF4EVZHJpdmVyLXJ1YnlAMTBnZW4uY29tMA0GCSqGSIb3DQEB
27
- CwUAA4IBAQBtXpljL+EXFgH2YRSkYTNn9WKurclJKqaMTJvJoEm2mX1IbAg+BX+i
28
- Eb+rKelkjezRqVkurzRjif8RI9aGBpAyfobQfHHJNzHQzSFwhEmwlGDQRgQzrDhN
29
- cbkRB2wDgGJNjnjMKLXfeZX+SjWAsHDrOc+Ue9nHs2AdJxCTDgB1MMNGZ1UjLL9/
30
- HhO93otEnxwCVijD9ruORb0bT9LlNKosQQEzrhXtOtNK9k7s7G6Gi0BFMOIJDVyq
31
- bMYVwXXhV8czdzgkQB/ZPWHSbEWXnmkze1mzvqWBCPOVXYrcnL9cnEl/RoxtS1hr
32
- Db6Ac6mCUSYfYHBWpWqxjc45n70i5Xi1
27
+ CwUAA4IBAQBfX4dwxG5PhtxES/LDEOaZIZXyaX6CKe367zhW+HxWbSOXMQJFkIQj
28
+ m7tzT+sDFJXyiOv5cPtfpUam5pTiryzRw5HD6oxlPIt5vO15EJ69v++3m7shMLbw
29
+ amZOajKXmu2ZGZfhOtj7bOTwmOj1AnWLKeOQIR3STvvfZCD+6dt1XenW7CdjCsxE
30
+ ifervPjLFqFPsMOgaxikhgPK6bRtszrQhJSYlifKKzxbX1hYAsmGL7IxjubFSV5r
31
+ gpvfPNWMwyBDlHaNS3GfO6cRRxBOvEG05GUCsvtTY4Bpe8yjE64wg1ymb47LMOnv
32
+ Qb1lGORmf/opg45mluKUYl7pQNZHD0d3
33
33
  -----END CERTIFICATE-----
34
- date: 2019-12-04 00:00:00.000000000 Z
34
+ date: 2020-06-15 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bson
@@ -39,7 +39,7 @@ dependencies:
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 4.6.0
42
+ version: 4.8.2
43
43
  - - "<"
44
44
  - !ruby/object:Gem::Version
45
45
  version: 5.0.0
@@ -49,12 +49,12 @@ dependencies:
49
49
  requirements:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 4.6.0
52
+ version: 4.8.2
53
53
  - - "<"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 5.0.0
56
56
  description: A Ruby driver for MongoDB
57
- email: mongodb-dev@googlegroups.com
57
+ email:
58
58
  executables:
59
59
  - mongo_console
60
60
  extensions: []
@@ -73,13 +73,26 @@ files:
73
73
  - lib/mongo/address/unix.rb
74
74
  - lib/mongo/address/validator.rb
75
75
  - lib/mongo/auth.rb
76
+ - lib/mongo/auth/aws.rb
77
+ - lib/mongo/auth/aws/conversation.rb
78
+ - lib/mongo/auth/aws/credentials_retriever.rb
79
+ - lib/mongo/auth/aws/request.rb
80
+ - lib/mongo/auth/base.rb
81
+ - lib/mongo/auth/conversation_base.rb
76
82
  - lib/mongo/auth/cr.rb
77
83
  - lib/mongo/auth/cr/conversation.rb
84
+ - lib/mongo/auth/credential_cache.rb
85
+ - lib/mongo/auth/gssapi.rb
86
+ - lib/mongo/auth/gssapi/conversation.rb
78
87
  - lib/mongo/auth/ldap.rb
79
88
  - lib/mongo/auth/ldap/conversation.rb
80
89
  - lib/mongo/auth/roles.rb
90
+ - lib/mongo/auth/sasl_conversation_base.rb
81
91
  - lib/mongo/auth/scram.rb
82
92
  - lib/mongo/auth/scram/conversation.rb
93
+ - lib/mongo/auth/scram256.rb
94
+ - lib/mongo/auth/scram256/conversation.rb
95
+ - lib/mongo/auth/scram_conversation_base.rb
83
96
  - lib/mongo/auth/stringprep.rb
84
97
  - lib/mongo/auth/stringprep/profiles/sasl.rb
85
98
  - lib/mongo/auth/stringprep/tables.rb
@@ -100,12 +113,12 @@ files:
100
113
  - lib/mongo/bulk_write/unordered_combiner.rb
101
114
  - lib/mongo/bulk_write/validatable.rb
102
115
  - lib/mongo/client.rb
116
+ - lib/mongo/client_encryption.rb
103
117
  - lib/mongo/cluster.rb
104
118
  - lib/mongo/cluster/periodic_executor.rb
105
119
  - lib/mongo/cluster/reapers/cursor_reaper.rb
106
120
  - lib/mongo/cluster/reapers/socket_reaper.rb
107
121
  - lib/mongo/cluster/sdam_flow.rb
108
- - lib/mongo/cluster/srv_monitor.rb
109
122
  - lib/mongo/cluster/topology.rb
110
123
  - lib/mongo/cluster/topology/base.rb
111
124
  - lib/mongo/cluster/topology/no_replica_set_options.rb
@@ -133,6 +146,22 @@ files:
133
146
  - lib/mongo/collection/view/map_reduce.rb
134
147
  - lib/mongo/collection/view/readable.rb
135
148
  - lib/mongo/collection/view/writable.rb
149
+ - lib/mongo/crypt.rb
150
+ - lib/mongo/crypt/auto_decryption_context.rb
151
+ - lib/mongo/crypt/auto_encrypter.rb
152
+ - lib/mongo/crypt/auto_encryption_context.rb
153
+ - lib/mongo/crypt/binary.rb
154
+ - lib/mongo/crypt/binding.rb
155
+ - lib/mongo/crypt/context.rb
156
+ - lib/mongo/crypt/data_key_context.rb
157
+ - lib/mongo/crypt/encryption_io.rb
158
+ - lib/mongo/crypt/explicit_decryption_context.rb
159
+ - lib/mongo/crypt/explicit_encrypter.rb
160
+ - lib/mongo/crypt/explicit_encryption_context.rb
161
+ - lib/mongo/crypt/handle.rb
162
+ - lib/mongo/crypt/hooks.rb
163
+ - lib/mongo/crypt/kms_context.rb
164
+ - lib/mongo/crypt/status.rb
136
165
  - lib/mongo/cursor.rb
137
166
  - lib/mongo/cursor/builder.rb
138
167
  - lib/mongo/cursor/builder/get_more_command.rb
@@ -148,8 +177,11 @@ files:
148
177
  - lib/mongo/error/change_stream_resumable.rb
149
178
  - lib/mongo/error/closed_stream.rb
150
179
  - lib/mongo/error/connection_check_out_timeout.rb
180
+ - lib/mongo/error/connection_perished.rb
181
+ - lib/mongo/error/credential_check_error.rb
182
+ - lib/mongo/error/crypt_error.rb
151
183
  - lib/mongo/error/extra_file_chunk.rb
152
- - lib/mongo/error/failed_stringprep_validation.rb
184
+ - lib/mongo/error/failed_string_prep_validation.rb
153
185
  - lib/mongo/error/file_not_found.rb
154
186
  - lib/mongo/error/handshake_error.rb
155
187
  - lib/mongo/error/insufficient_iteration_count.rb
@@ -158,6 +190,7 @@ files:
158
190
  - lib/mongo/error/invalid_bulk_operation.rb
159
191
  - lib/mongo/error/invalid_bulk_operation_type.rb
160
192
  - lib/mongo/error/invalid_collection_name.rb
193
+ - lib/mongo/error/invalid_cursor_operation.rb
161
194
  - lib/mongo/error/invalid_database_name.rb
162
195
  - lib/mongo/error/invalid_document.rb
163
196
  - lib/mongo/error/invalid_file.rb
@@ -166,6 +199,7 @@ files:
166
199
  - lib/mongo/error/invalid_nonce.rb
167
200
  - lib/mongo/error/invalid_read_option.rb
168
201
  - lib/mongo/error/invalid_replacement_document.rb
202
+ - lib/mongo/error/invalid_server_auth_response.rb
169
203
  - lib/mongo/error/invalid_server_preference.rb
170
204
  - lib/mongo/error/invalid_session.rb
171
205
  - lib/mongo/error/invalid_signature.rb
@@ -174,6 +208,7 @@ files:
174
208
  - lib/mongo/error/invalid_update_document.rb
175
209
  - lib/mongo/error/invalid_uri.rb
176
210
  - lib/mongo/error/invalid_write_concern.rb
211
+ - lib/mongo/error/kms_error.rb
177
212
  - lib/mongo/error/lint_error.rb
178
213
  - lib/mongo/error/max_bson_size.rb
179
214
  - lib/mongo/error/max_message_size.rb
@@ -181,6 +216,8 @@ files:
181
216
  - lib/mongo/error/missing_file_chunk.rb
182
217
  - lib/mongo/error/missing_password.rb
183
218
  - lib/mongo/error/missing_resume_token.rb
219
+ - lib/mongo/error/missing_scram_server_signature.rb
220
+ - lib/mongo/error/mongocryptd_spawn_error.rb
184
221
  - lib/mongo/error/multi_index_drop.rb
185
222
  - lib/mongo/error/need_primary_server.rb
186
223
  - lib/mongo/error/no_server_available.rb
@@ -189,6 +226,7 @@ files:
189
226
  - lib/mongo/error/operation_failure.rb
190
227
  - lib/mongo/error/parser.rb
191
228
  - lib/mongo/error/pool_closed_error.rb
229
+ - lib/mongo/error/raise_original_error.rb
192
230
  - lib/mongo/error/sdam_error_detection.rb
193
231
  - lib/mongo/error/session_ended.rb
194
232
  - lib/mongo/error/socket_error.rb
@@ -201,6 +239,7 @@ files:
201
239
  - lib/mongo/error/unsupported_collation.rb
202
240
  - lib/mongo/error/unsupported_features.rb
203
241
  - lib/mongo/error/unsupported_message_type.rb
242
+ - lib/mongo/error/unsupported_option.rb
204
243
  - lib/mongo/error/write_retryable.rb
205
244
  - lib/mongo/event.rb
206
245
  - lib/mongo/event/base.rb
@@ -265,6 +304,7 @@ files:
265
304
  - lib/mongo/operation/aggregate/op_msg.rb
266
305
  - lib/mongo/operation/aggregate/result.rb
267
306
  - lib/mongo/operation/collections_info.rb
307
+ - lib/mongo/operation/collections_info/command.rb
268
308
  - lib/mongo/operation/collections_info/result.rb
269
309
  - lib/mongo/operation/command.rb
270
310
  - lib/mongo/operation/command/command.rb
@@ -349,6 +389,7 @@ files:
349
389
  - lib/mongo/operation/result.rb
350
390
  - lib/mongo/operation/shared/bypass_document_validation.rb
351
391
  - lib/mongo/operation/shared/causal_consistency_supported.rb
392
+ - lib/mongo/operation/shared/collections_info_or_list_collections.rb
352
393
  - lib/mongo/operation/shared/executable.rb
353
394
  - lib/mongo/operation/shared/executable_no_validate.rb
354
395
  - lib/mongo/operation/shared/executable_transaction_label.rb
@@ -403,9 +444,9 @@ files:
403
444
  - lib/mongo/semaphore.rb
404
445
  - lib/mongo/server.rb
405
446
  - lib/mongo/server/app_metadata.rb
406
- - lib/mongo/server/connectable.rb
407
447
  - lib/mongo/server/connection.rb
408
448
  - lib/mongo/server/connection_base.rb
449
+ - lib/mongo/server/connection_common.rb
409
450
  - lib/mongo/server/connection_pool.rb
410
451
  - lib/mongo/server/connection_pool/populator.rb
411
452
  - lib/mongo/server/context.rb
@@ -417,6 +458,7 @@ files:
417
458
  - lib/mongo/server/pending_connection.rb
418
459
  - lib/mongo/server/round_trip_time_averager.rb
419
460
  - lib/mongo/server_selector.rb
461
+ - lib/mongo/server_selector/base.rb
420
462
  - lib/mongo/server_selector/nearest.rb
421
463
  - lib/mongo/server_selector/primary.rb
422
464
  - lib/mongo/server_selector/primary_preferred.rb
@@ -434,7 +476,8 @@ files:
434
476
  - lib/mongo/srv/monitor.rb
435
477
  - lib/mongo/srv/resolver.rb
436
478
  - lib/mongo/srv/result.rb
437
- - lib/mongo/srv/warning_result.rb
479
+ - lib/mongo/timeout.rb
480
+ - lib/mongo/topology_version.rb
438
481
  - lib/mongo/uri.rb
439
482
  - lib/mongo/uri/srv_protocol.rb
440
483
  - lib/mongo/version.rb
@@ -443,27 +486,51 @@ files:
443
486
  - lib/mongo/write_concern/base.rb
444
487
  - lib/mongo/write_concern/unacknowledged.rb
445
488
  - mongo.gemspec
489
+ - spec/NOTES.aws-auth.md
490
+ - spec/README.aws-auth.md
446
491
  - spec/README.md
447
492
  - spec/USERS.md
448
493
  - spec/atlas/atlas_connectivity_spec.rb
449
494
  - spec/atlas/operations_spec.rb
450
- - spec/enterprise_auth/kerberos_spec.rb
451
495
  - spec/integration/auth_spec.rb
496
+ - spec/integration/aws_auth_request_spec.rb
497
+ - spec/integration/aws_credentials_retriever_spec.rb
498
+ - spec/integration/bson_symbol_spec.rb
452
499
  - spec/integration/bulk_insert_spec.rb
453
500
  - spec/integration/change_stream_examples_spec.rb
454
501
  - spec/integration/change_stream_spec.rb
502
+ - spec/integration/client_authentication_options_spec.rb
455
503
  - spec/integration/client_connectivity_spec.rb
504
+ - spec/integration/client_construction_aws_auth_spec.rb
456
505
  - spec/integration/client_construction_spec.rb
457
- - spec/integration/client_options_spec.rb
506
+ - spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb
507
+ - spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb
508
+ - spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb
509
+ - spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb
510
+ - spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb
511
+ - spec/integration/client_side_encryption/auto_encryption_spec.rb
512
+ - spec/integration/client_side_encryption/bson_size_limit_spec.rb
513
+ - spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb
514
+ - spec/integration/client_side_encryption/client_close_spec.rb
515
+ - spec/integration/client_side_encryption/corpus_spec.rb
516
+ - spec/integration/client_side_encryption/custom_endpoint_spec.rb
517
+ - spec/integration/client_side_encryption/data_key_spec.rb
518
+ - spec/integration/client_side_encryption/explicit_encryption_spec.rb
519
+ - spec/integration/client_side_encryption/external_key_vault_spec.rb
520
+ - spec/integration/client_side_encryption/views_spec.rb
458
521
  - spec/integration/client_spec.rb
522
+ - spec/integration/client_update_spec.rb
523
+ - spec/integration/collection_indexes_prose_spec.rb
459
524
  - spec/integration/command_monitoring_spec.rb
460
525
  - spec/integration/command_spec.rb
461
526
  - spec/integration/connect_single_rs_name_spec.rb
462
527
  - spec/integration/connection_pool_populator_spec.rb
463
528
  - spec/integration/connection_spec.rb
529
+ - spec/integration/crud_spec.rb
464
530
  - spec/integration/cursor_reaping_spec.rb
465
531
  - spec/integration/docs_examples_spec.rb
466
532
  - spec/integration/error_detection_spec.rb
533
+ - spec/integration/fork_reconnect_spec.rb
467
534
  - spec/integration/get_more_spec.rb
468
535
  - spec/integration/heartbeat_events_spec.rb
469
536
  - spec/integration/mmapv1_spec.rb
@@ -473,8 +540,18 @@ files:
473
540
  - spec/integration/read_preference_spec.rb
474
541
  - spec/integration/reconnect_spec.rb
475
542
  - spec/integration/retryable_errors_spec.rb
543
+ - spec/integration/retryable_writes/retryable_writes_36_and_older_spec.rb
544
+ - spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb
545
+ - spec/integration/retryable_writes/shared/adds_diagnostics.rb
546
+ - spec/integration/retryable_writes/shared/does_not_support_retries.rb
547
+ - spec/integration/retryable_writes/shared/only_supports_legacy_retries.rb
548
+ - spec/integration/retryable_writes/shared/performs_legacy_retries.rb
549
+ - spec/integration/retryable_writes/shared/performs_modern_retries.rb
550
+ - spec/integration/retryable_writes/shared/performs_no_retries.rb
551
+ - spec/integration/retryable_writes/shared/supports_legacy_retries.rb
552
+ - spec/integration/retryable_writes/shared/supports_modern_retries.rb
553
+ - spec/integration/retryable_writes/shared/supports_retries.rb
476
554
  - spec/integration/retryable_writes_errors_spec.rb
477
- - spec/integration/retryable_writes_spec.rb
478
555
  - spec/integration/sdam_error_handling_spec.rb
479
556
  - spec/integration/sdam_events_spec.rb
480
557
  - spec/integration/server_description_spec.rb
@@ -482,11 +559,15 @@ files:
482
559
  - spec/integration/server_selector_spec.rb
483
560
  - spec/integration/server_spec.rb
484
561
  - spec/integration/shell_examples_spec.rb
562
+ - spec/integration/size_limit_spec.rb
485
563
  - spec/integration/srv_monitoring_spec.rb
486
564
  - spec/integration/ssl_uri_options_spec.rb
487
565
  - spec/integration/step_down_spec.rb
488
566
  - spec/integration/time_zone_querying_spec.rb
567
+ - spec/integration/transactions_api_examples_spec.rb
489
568
  - spec/integration/transactions_examples_spec.rb
569
+ - spec/integration/x509_auth_spec.rb
570
+ - spec/kerberos/kerberos_spec.rb
490
571
  - spec/lite_spec_helper.rb
491
572
  - spec/mongo/address/ipv4_spec.rb
492
573
  - spec/mongo/address/ipv6_spec.rb
@@ -494,11 +575,13 @@ files:
494
575
  - spec/mongo/address/validator_spec.rb
495
576
  - spec/mongo/address_spec.rb
496
577
  - spec/mongo/auth/cr_spec.rb
578
+ - spec/mongo/auth/gssapi/conversation_spec.rb
497
579
  - spec/mongo/auth/invalid_mechanism_spec.rb
498
580
  - spec/mongo/auth/ldap/conversation_spec.rb
499
581
  - spec/mongo/auth/ldap_spec.rb
500
582
  - spec/mongo/auth/scram/conversation_spec.rb
501
- - spec/mongo/auth/scram/negotiation_spec.rb
583
+ - spec/mongo/auth/scram256/conversation_spec.rb
584
+ - spec/mongo/auth/scram_negotiation_spec.rb
502
585
  - spec/mongo/auth/scram_spec.rb
503
586
  - spec/mongo/auth/stringprep/profiles/sasl_spec.rb
504
587
  - spec/mongo/auth/stringprep_spec.rb
@@ -513,11 +596,11 @@ files:
513
596
  - spec/mongo/bulk_write/unordered_combiner_spec.rb
514
597
  - spec/mongo/bulk_write_spec.rb
515
598
  - spec/mongo/client_construction_spec.rb
599
+ - spec/mongo/client_encryption_spec.rb
516
600
  - spec/mongo/client_spec.rb
517
601
  - spec/mongo/cluster/cursor_reaper_spec.rb
518
602
  - spec/mongo/cluster/periodic_executor_spec.rb
519
603
  - spec/mongo/cluster/socket_reaper_spec.rb
520
- - spec/mongo/cluster/srv_monitor_spec.rb
521
604
  - spec/mongo/cluster/topology/replica_set_spec.rb
522
605
  - spec/mongo/cluster/topology/sharded_spec.rb
523
606
  - spec/mongo/cluster/topology/single_spec.rb
@@ -530,22 +613,49 @@ files:
530
613
  - spec/mongo/collection/view/builder/flags_spec.rb
531
614
  - spec/mongo/collection/view/builder/modifiers_spec.rb
532
615
  - spec/mongo/collection/view/builder/op_query_spec.rb
616
+ - spec/mongo/collection/view/change_stream_resume_spec.rb
533
617
  - spec/mongo/collection/view/change_stream_spec.rb
534
618
  - spec/mongo/collection/view/explainable_spec.rb
535
619
  - spec/mongo/collection/view/immutable_spec.rb
620
+ - spec/mongo/collection/view/iterable_spec.rb
536
621
  - spec/mongo/collection/view/map_reduce_spec.rb
537
622
  - spec/mongo/collection/view/readable_spec.rb
538
623
  - spec/mongo/collection/view/writable_spec.rb
539
624
  - spec/mongo/collection/view_spec.rb
540
625
  - spec/mongo/collection_spec.rb
626
+ - spec/mongo/crypt/auto_decryption_context_spec.rb
627
+ - spec/mongo/crypt/auto_encrypter_spec.rb
628
+ - spec/mongo/crypt/auto_encryption_context_spec.rb
629
+ - spec/mongo/crypt/binary_spec.rb
630
+ - spec/mongo/crypt/binding/binary_spec.rb
631
+ - spec/mongo/crypt/binding/context_spec.rb
632
+ - spec/mongo/crypt/binding/helpers_spec.rb
633
+ - spec/mongo/crypt/binding/mongocrypt_spec.rb
634
+ - spec/mongo/crypt/binding/status_spec.rb
635
+ - spec/mongo/crypt/binding/version_spec.rb
636
+ - spec/mongo/crypt/binding_unloaded_spec.rb
637
+ - spec/mongo/crypt/data_key_context_spec.rb
638
+ - spec/mongo/crypt/encryption_io_spec.rb
639
+ - spec/mongo/crypt/explicit_decryption_context_spec.rb
640
+ - spec/mongo/crypt/explicit_encryption_context_spec.rb
641
+ - spec/mongo/crypt/handle_spec.rb
642
+ - spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb
643
+ - spec/mongo/crypt/status_spec.rb
541
644
  - spec/mongo/cursor/builder/get_more_command_spec.rb
542
645
  - spec/mongo/cursor/builder/op_get_more_spec.rb
646
+ - spec/mongo/cursor/builder/op_kill_cursors_spec.rb
543
647
  - spec/mongo/cursor_spec.rb
544
648
  - spec/mongo/database_spec.rb
545
649
  - spec/mongo/dbref_spec.rb
650
+ - spec/mongo/error/bulk_write_error_spec.rb
651
+ - spec/mongo/error/crypt_error_spec.rb
652
+ - spec/mongo/error/max_bson_size_spec.rb
546
653
  - spec/mongo/error/no_server_available_spec.rb
654
+ - spec/mongo/error/notable_spec.rb
655
+ - spec/mongo/error/operation_failure_heavy_spec.rb
547
656
  - spec/mongo/error/operation_failure_spec.rb
548
657
  - spec/mongo/error/parser_spec.rb
658
+ - spec/mongo/error/unsupported_option_spec.rb
549
659
  - spec/mongo/event/publisher_spec.rb
550
660
  - spec/mongo/event/subscriber_spec.rb
551
661
  - spec/mongo/grid/file/chunk_spec.rb
@@ -605,7 +715,8 @@ files:
605
715
  - spec/mongo/operation/kill_cursors_spec.rb
606
716
  - spec/mongo/operation/limited_spec.rb
607
717
  - spec/mongo/operation/map_reduce_spec.rb
608
- - spec/mongo/operation/read_preference_spec.rb
718
+ - spec/mongo/operation/read_preference_legacy_spec.rb
719
+ - spec/mongo/operation/read_preference_op_msg_spec.rb
609
720
  - spec/mongo/operation/remove_user_spec.rb
610
721
  - spec/mongo/operation/result_spec.rb
611
722
  - spec/mongo/operation/specifiable_spec.rb
@@ -626,6 +737,7 @@ files:
626
737
  - spec/mongo/protocol/reply_spec.rb
627
738
  - spec/mongo/protocol/update_spec.rb
628
739
  - spec/mongo/retryable_spec.rb
740
+ - spec/mongo/server/app_metadata_shared.rb
629
741
  - spec/mongo/server/app_metadata_spec.rb
630
742
  - spec/mongo/server/connection_auth_spec.rb
631
743
  - spec/mongo/server/connection_pool/populator_spec.rb
@@ -655,25 +767,84 @@ files:
655
767
  - spec/mongo/socket_spec.rb
656
768
  - spec/mongo/srv/monitor_spec.rb
657
769
  - spec/mongo/srv/result_spec.rb
770
+ - spec/mongo/timeout_spec.rb
658
771
  - spec/mongo/uri/srv_protocol_spec.rb
659
772
  - spec/mongo/uri_option_parsing_spec.rb
660
773
  - spec/mongo/uri_spec.rb
661
774
  - spec/mongo/write_concern/acknowledged_spec.rb
662
775
  - spec/mongo/write_concern/unacknowledged_spec.rb
663
776
  - spec/mongo/write_concern_spec.rb
777
+ - spec/runners/auth.rb
778
+ - spec/runners/change_streams/outcome.rb
779
+ - spec/runners/change_streams/spec.rb
780
+ - spec/runners/change_streams/test.rb
781
+ - spec/runners/cmap.rb
782
+ - spec/runners/cmap/verifier.rb
783
+ - spec/runners/command_monitoring.rb
664
784
  - spec/runners/connection_string.rb
785
+ - spec/runners/crud.rb
786
+ - spec/runners/crud/context.rb
787
+ - spec/runners/crud/operation.rb
788
+ - spec/runners/crud/outcome.rb
789
+ - spec/runners/crud/requirement.rb
790
+ - spec/runners/crud/spec.rb
791
+ - spec/runners/crud/test.rb
792
+ - spec/runners/crud/test_base.rb
793
+ - spec/runners/crud/verifier.rb
794
+ - spec/runners/gridfs.rb
665
795
  - spec/runners/read_write_concern_document.rb
796
+ - spec/runners/sdam.rb
666
797
  - spec/runners/sdam/verifier.rb
798
+ - spec/runners/sdam_monitoring.rb
799
+ - spec/runners/server_selection.rb
800
+ - spec/runners/server_selection_rtt.rb
801
+ - spec/runners/transactions.rb
802
+ - spec/runners/transactions/context.rb
803
+ - spec/runners/transactions/operation.rb
804
+ - spec/runners/transactions/spec.rb
805
+ - spec/runners/transactions/test.rb
667
806
  - spec/spec_helper.rb
668
807
  - spec/spec_tests/auth_spec.rb
669
808
  - spec/spec_tests/change_streams_spec.rb
809
+ - spec/spec_tests/client_side_encryption_spec.rb
670
810
  - spec/spec_tests/cmap_spec.rb
671
811
  - spec/spec_tests/command_monitoring_spec.rb
672
812
  - spec/spec_tests/connection_string_spec.rb
673
813
  - spec/spec_tests/crud_spec.rb
674
814
  - spec/spec_tests/data/auth/connection-string.yml
675
815
  - spec/spec_tests/data/change_streams/change-streams-errors.yml
816
+ - spec/spec_tests/data/change_streams/change-streams-resume-errorLabels.yml
817
+ - spec/spec_tests/data/change_streams/change-streams-resume-whitelist.yml
676
818
  - spec/spec_tests/data/change_streams/change-streams.yml
819
+ - spec/spec_tests/data/client_side_encryption/aggregate.yml
820
+ - spec/spec_tests/data/client_side_encryption/badQueries.yml
821
+ - spec/spec_tests/data/client_side_encryption/badSchema.yml
822
+ - spec/spec_tests/data/client_side_encryption/basic.yml
823
+ - spec/spec_tests/data/client_side_encryption/bulk.yml
824
+ - spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml
825
+ - spec/spec_tests/data/client_side_encryption/bypassedCommand.yml
826
+ - spec/spec_tests/data/client_side_encryption/count.yml
827
+ - spec/spec_tests/data/client_side_encryption/countDocuments.yml
828
+ - spec/spec_tests/data/client_side_encryption/delete.yml
829
+ - spec/spec_tests/data/client_side_encryption/distinct.yml
830
+ - spec/spec_tests/data/client_side_encryption/explain.yml
831
+ - spec/spec_tests/data/client_side_encryption/find.yml
832
+ - spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml
833
+ - spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml
834
+ - spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml
835
+ - spec/spec_tests/data/client_side_encryption/getMore.yml
836
+ - spec/spec_tests/data/client_side_encryption/insert.yml
837
+ - spec/spec_tests/data/client_side_encryption/keyAltName.yml
838
+ - spec/spec_tests/data/client_side_encryption/localKMS.yml
839
+ - spec/spec_tests/data/client_side_encryption/localSchema.yml
840
+ - spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml
841
+ - spec/spec_tests/data/client_side_encryption/maxWireVersion.yml
842
+ - spec/spec_tests/data/client_side_encryption/missingKey.yml
843
+ - spec/spec_tests/data/client_side_encryption/replaceOne.yml
844
+ - spec/spec_tests/data/client_side_encryption/types.yml
845
+ - spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml
846
+ - spec/spec_tests/data/client_side_encryption/updateMany.yml
847
+ - spec/spec_tests/data/client_side_encryption/updateOne.yml
677
848
  - spec/spec_tests/data/cmap/connection-must-have-id.yml
678
849
  - spec/spec_tests/data/cmap/connection-must-order-ids.yml
679
850
  - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
@@ -754,8 +925,51 @@ files:
754
925
  - spec/spec_tests/data/crud_v2/aggregate-merge.yml
755
926
  - spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml
756
927
  - spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml
928
+ - spec/spec_tests/data/crud_v2/bulkWrite-delete-hint-clientError.yml
929
+ - spec/spec_tests/data/crud_v2/bulkWrite-delete-hint-serverError.yml
930
+ - spec/spec_tests/data/crud_v2/bulkWrite-delete-hint.yml
931
+ - spec/spec_tests/data/crud_v2/bulkWrite-update-hint-clientError.yml
932
+ - spec/spec_tests/data/crud_v2/bulkWrite-update-hint-serverError.yml
933
+ - spec/spec_tests/data/crud_v2/bulkWrite-update-hint.yml
757
934
  - spec/spec_tests/data/crud_v2/db-aggregate.yml
935
+ - spec/spec_tests/data/crud_v2/deleteMany-hint-clientError.yml
936
+ - spec/spec_tests/data/crud_v2/deleteMany-hint-serverError.yml
937
+ - spec/spec_tests/data/crud_v2/deleteMany-hint.yml
938
+ - spec/spec_tests/data/crud_v2/deleteOne-hint-clientError.yml
939
+ - spec/spec_tests/data/crud_v2/deleteOne-hint-serverError.yml
940
+ - spec/spec_tests/data/crud_v2/deleteOne-hint.yml
941
+ - spec/spec_tests/data/crud_v2/find-allowdiskuse-clientError.yml
942
+ - spec/spec_tests/data/crud_v2/find-allowdiskuse-serverError.yml
943
+ - spec/spec_tests/data/crud_v2/find-allowdiskuse.yml
944
+ - spec/spec_tests/data/crud_v2/findOneAndDelete-hint-clientError.yml
945
+ - spec/spec_tests/data/crud_v2/findOneAndDelete-hint-serverError.yml
946
+ - spec/spec_tests/data/crud_v2/findOneAndDelete-hint.yml
947
+ - spec/spec_tests/data/crud_v2/findOneAndReplace-hint-clientError.yml
948
+ - spec/spec_tests/data/crud_v2/findOneAndReplace-hint-serverError.yml
949
+ - spec/spec_tests/data/crud_v2/findOneAndReplace-hint.yml
950
+ - spec/spec_tests/data/crud_v2/findOneAndUpdate-hint-clientError.yml
951
+ - spec/spec_tests/data/crud_v2/findOneAndUpdate-hint-serverError.yml
952
+ - spec/spec_tests/data/crud_v2/findOneAndUpdate-hint.yml
953
+ - spec/spec_tests/data/crud_v2/replaceOne-hint.yml
954
+ - spec/spec_tests/data/crud_v2/unacknowledged-bulkWrite-delete-hint-clientError.yml
955
+ - spec/spec_tests/data/crud_v2/unacknowledged-bulkWrite-update-hint-clientError.yml
956
+ - spec/spec_tests/data/crud_v2/unacknowledged-deleteMany-hint-clientError.yml
957
+ - spec/spec_tests/data/crud_v2/unacknowledged-deleteOne-hint-clientError.yml
958
+ - spec/spec_tests/data/crud_v2/unacknowledged-findOneAndDelete-hint-clientError.yml
959
+ - spec/spec_tests/data/crud_v2/unacknowledged-findOneAndReplace-hint-clientError.yml
960
+ - spec/spec_tests/data/crud_v2/unacknowledged-findOneAndUpdate-hint-clientError.yml
961
+ - spec/spec_tests/data/crud_v2/unacknowledged-replaceOne-hint-clientError.yml
962
+ - spec/spec_tests/data/crud_v2/unacknowledged-updateMany-hint-clientError.yml
963
+ - spec/spec_tests/data/crud_v2/unacknowledged-updateOne-hint-clientError.yml
964
+ - spec/spec_tests/data/crud_v2/updateMany-hint-clientError.yml
965
+ - spec/spec_tests/data/crud_v2/updateMany-hint-serverError.yml
966
+ - spec/spec_tests/data/crud_v2/updateMany-hint.yml
967
+ - spec/spec_tests/data/crud_v2/updateOne-hint-clientError.yml
968
+ - spec/spec_tests/data/crud_v2/updateOne-hint-serverError.yml
969
+ - spec/spec_tests/data/crud_v2/updateOne-hint.yml
758
970
  - spec/spec_tests/data/crud_v2/updateWithPipelines.yml
971
+ - spec/spec_tests/data/dns_seedlist_discovery/direct-connection-false.yml
972
+ - spec/spec_tests/data/dns_seedlist_discovery/direct-connection-true.yml
759
973
  - spec/spec_tests/data/dns_seedlist_discovery/longer-parent-in-return.yml
760
974
  - spec/spec_tests/data/dns_seedlist_discovery/misformatted-option.yml
761
975
  - spec/spec_tests/data/dns_seedlist_discovery/no-results.yml
@@ -822,6 +1036,10 @@ files:
822
1036
  - spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml
823
1037
  - spec/spec_tests/data/read_write_concern/document/read-concern.yml
824
1038
  - spec/spec_tests/data/read_write_concern/document/write-concern.yml
1039
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-2.6.yml
1040
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.2.yml
1041
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.4.yml
1042
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-4.2.yml
825
1043
  - spec/spec_tests/data/retryable_reads/aggregate-merge.yml
826
1044
  - spec/spec_tests/data/retryable_reads/aggregate-serverErrors.yml
827
1045
  - spec/spec_tests/data/retryable_reads/aggregate.yml
@@ -864,35 +1082,123 @@ files:
864
1082
  - spec/spec_tests/data/retryable_reads/listIndexes-serverErrors.yml
865
1083
  - spec/spec_tests/data/retryable_reads/listIndexes.yml
866
1084
  - spec/spec_tests/data/retryable_reads/mapReduce.yml
1085
+ - spec/spec_tests/data/retryable_writes/bulkWrite-errorLabels.yml
867
1086
  - spec/spec_tests/data/retryable_writes/bulkWrite-serverErrors.yml
868
1087
  - spec/spec_tests/data/retryable_writes/bulkWrite.yml
869
1088
  - spec/spec_tests/data/retryable_writes/deleteMany.yml
1089
+ - spec/spec_tests/data/retryable_writes/deleteOne-errorLabels.yml
870
1090
  - spec/spec_tests/data/retryable_writes/deleteOne-serverErrors.yml
871
1091
  - spec/spec_tests/data/retryable_writes/deleteOne.yml
1092
+ - spec/spec_tests/data/retryable_writes/findOneAndDelete-errorLabels.yml
872
1093
  - spec/spec_tests/data/retryable_writes/findOneAndDelete-serverErrors.yml
873
1094
  - spec/spec_tests/data/retryable_writes/findOneAndDelete.yml
1095
+ - spec/spec_tests/data/retryable_writes/findOneAndReplace-errorLabels.yml
874
1096
  - spec/spec_tests/data/retryable_writes/findOneAndReplace-serverErrors.yml
875
1097
  - spec/spec_tests/data/retryable_writes/findOneAndReplace.yml
1098
+ - spec/spec_tests/data/retryable_writes/findOneAndUpdate-errorLabels.yml
876
1099
  - spec/spec_tests/data/retryable_writes/findOneAndUpdate-serverErrors.yml
877
1100
  - spec/spec_tests/data/retryable_writes/findOneAndUpdate.yml
1101
+ - spec/spec_tests/data/retryable_writes/insertMany-errorLabels.yml
878
1102
  - spec/spec_tests/data/retryable_writes/insertMany-serverErrors.yml
879
1103
  - spec/spec_tests/data/retryable_writes/insertMany.yml
1104
+ - spec/spec_tests/data/retryable_writes/insertOne-errorLabels.yml
880
1105
  - spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml
881
1106
  - spec/spec_tests/data/retryable_writes/insertOne.yml
1107
+ - spec/spec_tests/data/retryable_writes/replaceOne-errorLabels.yml
882
1108
  - spec/spec_tests/data/retryable_writes/replaceOne-serverErrors.yml
883
1109
  - spec/spec_tests/data/retryable_writes/replaceOne.yml
884
1110
  - spec/spec_tests/data/retryable_writes/updateMany.yml
1111
+ - spec/spec_tests/data/retryable_writes/updateOne-errorLabels.yml
885
1112
  - spec/spec_tests/data/retryable_writes/updateOne-serverErrors.yml
886
1113
  - spec/spec_tests/data/retryable_writes/updateOne.yml
1114
+ - spec/spec_tests/data/sdam/errors/error_handling_handshake.yml
1115
+ - spec/spec_tests/data/sdam/errors/non-stale-network-error.yml
1116
+ - spec/spec_tests/data/sdam/errors/non-stale-network-timeout-error.yml
1117
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedAtShutdown.yml
1118
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedDueToReplStateChange.yml
1119
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMaster.yml
1120
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMasterNoSlaveOk.yml
1121
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMasterOrSecondary.yml
1122
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-PrimarySteppedDown.yml
1123
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-ShutdownInProgress.yml
1124
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedAtShutdown.yml
1125
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedDueToReplStateChange.yml
1126
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMaster.yml
1127
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMasterNoSlaveOk.yml
1128
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMasterOrSecondary.yml
1129
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-PrimarySteppedDown.yml
1130
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-ShutdownInProgress.yml
1131
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedAtShutdown.yml
1132
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedDueToReplStateChange.yml
1133
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMaster.yml
1134
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMasterNoSlaveOk.yml
1135
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMasterOrSecondary.yml
1136
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-PrimarySteppedDown.yml
1137
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-ShutdownInProgress.yml
1138
+ - spec/spec_tests/data/sdam/errors/post-42-InterruptedAtShutdown.yml
1139
+ - spec/spec_tests/data/sdam/errors/post-42-InterruptedDueToReplStateChange.yml
1140
+ - spec/spec_tests/data/sdam/errors/post-42-NotMaster.yml
1141
+ - spec/spec_tests/data/sdam/errors/post-42-NotMasterNoSlaveOk.yml
1142
+ - spec/spec_tests/data/sdam/errors/post-42-NotMasterOrSecondary.yml
1143
+ - spec/spec_tests/data/sdam/errors/post-42-PrimarySteppedDown.yml
1144
+ - spec/spec_tests/data/sdam/errors/post-42-ShutdownInProgress.yml
1145
+ - spec/spec_tests/data/sdam/errors/pre-42-InterruptedAtShutdown.yml
1146
+ - spec/spec_tests/data/sdam/errors/pre-42-InterruptedDueToReplStateChange.yml
1147
+ - spec/spec_tests/data/sdam/errors/pre-42-NotMaster.yml
1148
+ - spec/spec_tests/data/sdam/errors/pre-42-NotMasterNoSlaveOk.yml
1149
+ - spec/spec_tests/data/sdam/errors/pre-42-NotMasterOrSecondary.yml
1150
+ - spec/spec_tests/data/sdam/errors/pre-42-PrimarySteppedDown.yml
1151
+ - spec/spec_tests/data/sdam/errors/pre-42-ShutdownInProgress.yml
1152
+ - spec/spec_tests/data/sdam/errors/stale-generation-InterruptedAtShutdown.yml
1153
+ - spec/spec_tests/data/sdam/errors/stale-generation-InterruptedDueToReplStateChange.yml
1154
+ - spec/spec_tests/data/sdam/errors/stale-generation-NotMaster.yml
1155
+ - spec/spec_tests/data/sdam/errors/stale-generation-NotMasterNoSlaveOk.yml
1156
+ - spec/spec_tests/data/sdam/errors/stale-generation-NotMasterOrSecondary.yml
1157
+ - spec/spec_tests/data/sdam/errors/stale-generation-PrimarySteppedDown.yml
1158
+ - spec/spec_tests/data/sdam/errors/stale-generation-ShutdownInProgress.yml
1159
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedAtShutdown.yml
1160
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedDueToReplStateChange.yml
1161
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMaster.yml
1162
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMasterNoSlaveOk.yml
1163
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMasterOrSecondary.yml
1164
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-PrimarySteppedDown.yml
1165
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-ShutdownInProgress.yml
1166
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-network.yml
1167
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-timeout.yml
1168
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedAtShutdown.yml
1169
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedDueToReplStateChange.yml
1170
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMaster.yml
1171
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMasterNoSlaveOk.yml
1172
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMasterOrSecondary.yml
1173
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-PrimarySteppedDown.yml
1174
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-ShutdownInProgress.yml
1175
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-network.yml
1176
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-timeout.yml
1177
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedAtShutdown.yml
1178
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedDueToReplStateChange.yml
1179
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMaster.yml
1180
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMasterNoSlaveOk.yml
1181
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMasterOrSecondary.yml
1182
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-PrimarySteppedDown.yml
1183
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-ShutdownInProgress.yml
887
1184
  - spec/spec_tests/data/sdam/rs/compatible.yml
888
1185
  - spec/spec_tests/data/sdam/rs/compatible_unknown.yml
889
1186
  - spec/spec_tests/data/sdam/rs/discover_arbiters.yml
1187
+ - spec/spec_tests/data/sdam/rs/discover_arbiters_replicaset.yml
1188
+ - spec/spec_tests/data/sdam/rs/discover_ghost.yml
1189
+ - spec/spec_tests/data/sdam/rs/discover_ghost_replicaset.yml
1190
+ - spec/spec_tests/data/sdam/rs/discover_hidden.yml
1191
+ - spec/spec_tests/data/sdam/rs/discover_hidden_replicaset.yml
890
1192
  - spec/spec_tests/data/sdam/rs/discover_passives.yml
1193
+ - spec/spec_tests/data/sdam/rs/discover_passives_replicaset.yml
891
1194
  - spec/spec_tests/data/sdam/rs/discover_primary.yml
1195
+ - spec/spec_tests/data/sdam/rs/discover_primary_replicaset.yml
1196
+ - spec/spec_tests/data/sdam/rs/discover_rsother.yml
1197
+ - spec/spec_tests/data/sdam/rs/discover_rsother_replicaset.yml
892
1198
  - spec/spec_tests/data/sdam/rs/discover_secondary.yml
1199
+ - spec/spec_tests/data/sdam/rs/discover_secondary_replicaset.yml
893
1200
  - spec/spec_tests/data/sdam/rs/discovery.yml
894
1201
  - spec/spec_tests/data/sdam/rs/equal_electionids.yml
895
- - spec/spec_tests/data/sdam/rs/ghost_discovered.yml
896
1202
  - spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml
897
1203
  - spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml
898
1204
  - spec/spec_tests/data/sdam/rs/incompatible_ghost.yml
@@ -908,7 +1214,6 @@ files:
908
1214
  - spec/spec_tests/data/sdam/rs/normalize_case.yml
909
1215
  - spec/spec_tests/data/sdam/rs/normalize_case_me.yml
910
1216
  - spec/spec_tests/data/sdam/rs/null_election_id.yml
911
- - spec/spec_tests/data/sdam/rs/primary_address_change.yml
912
1217
  - spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml
913
1218
  - spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml
914
1219
  - spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml
@@ -918,65 +1223,77 @@ files:
918
1223
  - spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml
919
1224
  - spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml
920
1225
  - spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml
1226
+ - spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml
921
1227
  - spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml
922
1228
  - spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml
923
1229
  - spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml
1230
+ - spec/spec_tests/data/sdam/rs/repeated.yml
1231
+ - spec/spec_tests/data/sdam/rs/replicaset_rsnp.yml
924
1232
  - spec/spec_tests/data/sdam/rs/response_from_removed.yml
925
- - spec/spec_tests/data/sdam/rs/rsother_discovered.yml
1233
+ - spec/spec_tests/data/sdam/rs/ruby_primary_address_change.yml
1234
+ - spec/spec_tests/data/sdam/rs/ruby_secondary_wrong_set_name_with_primary_second.yml
926
1235
  - spec/spec_tests/data/sdam/rs/sec_not_auth.yml
927
1236
  - spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml
928
1237
  - spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml
929
1238
  - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml
930
1239
  - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary.yml
931
- - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary_second.yml
932
1240
  - spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml
933
1241
  - spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml
934
1242
  - spec/spec_tests/data/sdam/rs/too_new.yml
935
1243
  - spec/spec_tests/data/sdam/rs/too_old.yml
1244
+ - spec/spec_tests/data/sdam/rs/topology_version_equal.yml
1245
+ - spec/spec_tests/data/sdam/rs/topology_version_greater.yml
1246
+ - spec/spec_tests/data/sdam/rs/topology_version_less.yml
936
1247
  - spec/spec_tests/data/sdam/rs/unexpected_mongos.yml
937
1248
  - spec/spec_tests/data/sdam/rs/use_setversion_without_electionid.yml
938
1249
  - spec/spec_tests/data/sdam/rs/wrong_set_name.yml
939
1250
  - spec/spec_tests/data/sdam/sharded/compatible.yml
1251
+ - spec/spec_tests/data/sdam/sharded/discover_single_mongos.yml
940
1252
  - spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml
941
1253
  - spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml
942
1254
  - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
943
1255
  - spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml
944
1256
  - spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml
945
- - spec/spec_tests/data/sdam/sharded/primary_address_change.yml
946
- - spec/spec_tests/data/sdam/sharded/primary_mismatched_me.yml
947
- - spec/spec_tests/data/sdam/sharded/single_mongos.yml
1257
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_different_address.yml
1258
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_mismatched_me.yml
948
1259
  - spec/spec_tests/data/sdam/sharded/too_new.yml
949
1260
  - spec/spec_tests/data/sdam/sharded/too_old.yml
950
1261
  - spec/spec_tests/data/sdam/single/compatible.yml
951
1262
  - spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml
952
1263
  - spec/spec_tests/data/sdam/single/direct_connection_mongos.yml
1264
+ - spec/spec_tests/data/sdam/single/direct_connection_replicaset.yml
953
1265
  - spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml
954
1266
  - spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml
955
1267
  - spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml
956
1268
  - spec/spec_tests/data/sdam/single/direct_connection_slave.yml
957
1269
  - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
1270
+ - spec/spec_tests/data/sdam/single/direct_connection_unavailable_seed.yml
1271
+ - spec/spec_tests/data/sdam/single/direct_connection_wrong_set_name.yml
1272
+ - spec/spec_tests/data/sdam/single/discover_standalone.yml
1273
+ - spec/spec_tests/data/sdam/single/discover_unavailable_seed.yml
958
1274
  - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
959
1275
  - spec/spec_tests/data/sdam/single/not_ok_response.yml
960
- - spec/spec_tests/data/sdam/single/primary_address_change.yml
961
- - spec/spec_tests/data/sdam/single/primary_mismatched_me.yml
1276
+ - spec/spec_tests/data/sdam/single/ruby_primary_different_address.yml
1277
+ - spec/spec_tests/data/sdam/single/ruby_primary_mismatched_me.yml
962
1278
  - spec/spec_tests/data/sdam/single/standalone_removed.yml
963
1279
  - spec/spec_tests/data/sdam/single/too_new.yml
964
1280
  - spec/spec_tests/data/sdam/single/too_old.yml
965
- - spec/spec_tests/data/sdam/single/unavailable_seed.yml
1281
+ - spec/spec_tests/data/sdam/single/too_old_then_upgraded.yml
966
1282
  - spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml
967
1283
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml
968
1284
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
1285
+ - spec/spec_tests/data/sdam_monitoring/replica_set_primary_address_change.yml
969
1286
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
970
1287
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml
971
1288
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
972
1289
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml
973
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_change.yml
974
1290
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
975
1291
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
976
1292
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
977
1293
  - spec/spec_tests/data/sdam_monitoring/required_replica_set.yml
978
1294
  - spec/spec_tests/data/sdam_monitoring/standalone.yml
979
1295
  - spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml
1296
+ - spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml
980
1297
  - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
981
1298
  - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml
982
1299
  - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml
@@ -1022,6 +1339,8 @@ files:
1022
1339
  - spec/spec_tests/data/transactions/causal-consistency.yml
1023
1340
  - spec/spec_tests/data/transactions/commit.yml
1024
1341
  - spec/spec_tests/data/transactions/count.yml
1342
+ - spec/spec_tests/data/transactions/create-collection.yml
1343
+ - spec/spec_tests/data/transactions/create-index.yml
1025
1344
  - spec/spec_tests/data/transactions/delete.yml
1026
1345
  - spec/spec_tests/data/transactions/error-labels.yml
1027
1346
  - spec/spec_tests/data/transactions/errors-client.yml
@@ -1037,7 +1356,9 @@ files:
1037
1356
  - spec/spec_tests/data/transactions/read-concern.yml
1038
1357
  - spec/spec_tests/data/transactions/read-pref.yml
1039
1358
  - spec/spec_tests/data/transactions/reads.yml
1359
+ - spec/spec_tests/data/transactions/retryable-abort-errorLabels.yml
1040
1360
  - spec/spec_tests/data/transactions/retryable-abort.yml
1361
+ - spec/spec_tests/data/transactions/retryable-commit-errorLabels.yml
1041
1362
  - spec/spec_tests/data/transactions/retryable-commit.yml
1042
1363
  - spec/spec_tests/data/transactions/retryable-writes.yml
1043
1364
  - spec/spec_tests/data/transactions/run-command.yml
@@ -1060,12 +1381,15 @@ files:
1060
1381
  - spec/spec_tests/data/uri_options/connection-options.yml
1061
1382
  - spec/spec_tests/data/uri_options/connection-pool-options.yml
1062
1383
  - spec/spec_tests/data/uri_options/read-preference-options.yml
1384
+ - spec/spec_tests/data/uri_options/ruby-auth-options.yml
1385
+ - spec/spec_tests/data/uri_options/ruby-connection-options.yml
1063
1386
  - spec/spec_tests/data/uri_options/tls-options.yml
1064
1387
  - spec/spec_tests/dns_seedlist_discovery_spec.rb
1065
1388
  - spec/spec_tests/gridfs_spec.rb
1066
1389
  - spec/spec_tests/max_staleness_spec.rb
1067
1390
  - spec/spec_tests/read_write_concern_connection_string_spec.rb
1068
1391
  - spec/spec_tests/read_write_concern_document_spec.rb
1392
+ - spec/spec_tests/read_write_concern_operaton_spec.rb
1069
1393
  - spec/spec_tests/retryable_reads_spec.rb
1070
1394
  - spec/spec_tests/retryable_writes_spec.rb
1071
1395
  - spec/spec_tests/sdam_monitoring_spec.rb
@@ -1075,10 +1399,16 @@ files:
1075
1399
  - spec/spec_tests/transactions_api_spec.rb
1076
1400
  - spec/spec_tests/transactions_spec.rb
1077
1401
  - spec/spec_tests/uri_options_spec.rb
1402
+ - spec/stress/cleanup_spec.rb
1078
1403
  - spec/stress/connection_pool_stress_spec.rb
1079
1404
  - spec/stress/connection_pool_timing_spec.rb
1080
- - spec/support/auth.rb
1405
+ - spec/stress/fork_reconnect_stress_spec.rb
1081
1406
  - spec/support/authorization.rb
1407
+ - spec/support/aws_utils.rb
1408
+ - spec/support/aws_utils/base.rb
1409
+ - spec/support/aws_utils/inspector.rb
1410
+ - spec/support/aws_utils/orchestrator.rb
1411
+ - spec/support/aws_utils/provisioner.rb
1082
1412
  - spec/support/background_thread_registry.rb
1083
1413
  - spec/support/certificates/README.md
1084
1414
  - spec/support/certificates/ca.crt
@@ -1104,30 +1434,31 @@ files:
1104
1434
  - spec/support/certificates/server-second-level.key
1105
1435
  - spec/support/certificates/server-second-level.pem
1106
1436
  - spec/support/certificates/server.pem
1107
- - spec/support/change_streams.rb
1108
- - spec/support/change_streams/operation.rb
1109
1437
  - spec/support/client_registry.rb
1110
1438
  - spec/support/client_registry_macros.rb
1111
1439
  - spec/support/cluster_config.rb
1112
1440
  - spec/support/cluster_tools.rb
1113
- - spec/support/cmap.rb
1114
- - spec/support/cmap/verifier.rb
1115
- - spec/support/command_monitoring.rb
1116
1441
  - spec/support/common_shortcuts.rb
1117
- - spec/support/connection_string.rb
1118
1442
  - spec/support/constraints.rb
1119
- - spec/support/crud.rb
1120
- - spec/support/crud/context.rb
1121
- - spec/support/crud/operation.rb
1122
- - spec/support/crud/outcome.rb
1123
- - spec/support/crud/requirement.rb
1124
- - spec/support/crud/spec.rb
1125
- - spec/support/crud/test.rb
1126
- - spec/support/crud/test_base.rb
1127
- - spec/support/crud/verifier.rb
1443
+ - spec/support/crypt.rb
1444
+ - spec/support/crypt/corpus/corpus-key-aws.json
1445
+ - spec/support/crypt/corpus/corpus-key-local.json
1446
+ - spec/support/crypt/corpus/corpus-schema.json
1447
+ - spec/support/crypt/corpus/corpus.json
1448
+ - spec/support/crypt/corpus/corpus_encrypted.json
1449
+ - spec/support/crypt/data_keys/key_document_aws.json
1450
+ - spec/support/crypt/data_keys/key_document_local.json
1451
+ - spec/support/crypt/external/external-key.json
1452
+ - spec/support/crypt/external/external-schema.json
1453
+ - spec/support/crypt/limits/limits-doc.json
1454
+ - spec/support/crypt/limits/limits-key.json
1455
+ - spec/support/crypt/limits/limits-schema.json
1456
+ - spec/support/crypt/schema_maps/schema_map_aws.json
1457
+ - spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json
1458
+ - spec/support/crypt/schema_maps/schema_map_local.json
1459
+ - spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json
1128
1460
  - spec/support/dns.rb
1129
1461
  - spec/support/event_subscriber.rb
1130
- - spec/support/gridfs.rb
1131
1462
  - spec/support/json_ext_formatter.rb
1132
1463
  - spec/support/lite_constraints.rb
1133
1464
  - spec/support/local_resource_registry.rb
@@ -1135,20 +1466,12 @@ files:
1135
1466
  - spec/support/monitoring_ext.rb
1136
1467
  - spec/support/primary_socket.rb
1137
1468
  - spec/support/sdam_formatter_integration.rb
1138
- - spec/support/sdam_monitoring.rb
1139
- - spec/support/server_discovery_and_monitoring.rb
1140
- - spec/support/server_selection.rb
1141
- - spec/support/server_selection_rtt.rb
1142
1469
  - spec/support/shared/protocol.rb
1470
+ - spec/support/shared/scram_conversation.rb
1143
1471
  - spec/support/shared/server_selector.rb
1144
1472
  - spec/support/shared/session.rb
1145
1473
  - spec/support/spec_config.rb
1146
1474
  - spec/support/spec_setup.rb
1147
- - spec/support/transactions.rb
1148
- - spec/support/transactions/context.rb
1149
- - spec/support/transactions/operation.rb
1150
- - spec/support/transactions/spec.rb
1151
- - spec/support/transactions/test.rb
1152
1475
  - spec/support/utils.rb
1153
1476
  homepage: https://docs.mongodb.com/ruby-driver/
1154
1477
  licenses:
@@ -1158,7 +1481,6 @@ metadata:
1158
1481
  changelog_uri: https://github.com/mongodb/mongo-ruby-driver/releases
1159
1482
  documentation_uri: https://docs.mongodb.com/ruby-driver/
1160
1483
  homepage_uri: https://docs.mongodb.com/ruby-driver/
1161
- mailing_list_uri: https://groups.google.com/group/mongodb-user
1162
1484
  source_code_uri: https://github.com/mongodb/mongo-ruby-driver
1163
1485
  post_install_message:
1164
1486
  rdoc_options: []
@@ -1171,719 +1493,1000 @@ required_ruby_version: !ruby/object:Gem::Requirement
1171
1493
  version: '2.3'
1172
1494
  required_rubygems_version: !ruby/object:Gem::Requirement
1173
1495
  requirements:
1174
- - - ">="
1496
+ - - ">"
1175
1497
  - !ruby/object:Gem::Version
1176
- version: '0'
1498
+ version: 1.3.1
1177
1499
  requirements: []
1178
- rubygems_version: 3.0.3
1500
+ rubyforge_project:
1501
+ rubygems_version: 2.7.6.2
1179
1502
  signing_key:
1180
1503
  specification_version: 4
1181
1504
  summary: Ruby driver for MongoDB
1182
1505
  test_files:
1183
- - spec/support/background_thread_registry.rb
1184
- - spec/support/change_streams.rb
1185
- - spec/support/change_streams/operation.rb
1186
- - spec/support/server_discovery_and_monitoring.rb
1187
- - spec/support/server_selection.rb
1188
- - spec/support/certificates/client-x509.pem
1189
- - spec/support/certificates/client-int.crt
1190
- - spec/support/certificates/README.md
1191
- - spec/support/certificates/server-second-level.key
1192
- - spec/support/certificates/client-second-level-bundle.pem
1193
- - spec/support/certificates/server.pem
1194
- - spec/support/certificates/client-x509.key
1195
- - spec/support/certificates/client-second-level.key
1196
- - spec/support/certificates/crl_client_revoked.pem
1197
- - spec/support/certificates/server-second-level.pem
1198
- - spec/support/certificates/client-x509.crt
1199
- - spec/support/certificates/client.pem
1200
- - spec/support/certificates/client-encrypted.key
1201
- - spec/support/certificates/multi-ca.crt
1202
- - spec/support/certificates/crl.pem
1203
- - spec/support/certificates/server-int.crt
1204
- - spec/support/certificates/client.key
1205
- - spec/support/certificates/ca.crt
1206
- - spec/support/certificates/python-ca.crt
1207
- - spec/support/certificates/client-second-level.crt
1208
- - spec/support/certificates/client.crt
1209
- - spec/support/certificates/client-second-level.pem
1210
- - spec/support/certificates/server-second-level.crt
1211
- - spec/support/certificates/server-second-level-bundle.pem
1212
- - spec/support/utils.rb
1213
- - spec/support/cluster_config.rb
1214
- - spec/support/client_registry.rb
1215
- - spec/support/auth.rb
1216
- - spec/support/sdam_formatter_integration.rb
1217
- - spec/support/constraints.rb
1218
- - spec/support/connection_string.rb
1219
- - spec/support/sdam_monitoring.rb
1220
- - spec/support/json_ext_formatter.rb
1221
- - spec/support/cmap/verifier.rb
1222
- - spec/support/shared/protocol.rb
1223
- - spec/support/shared/server_selector.rb
1224
- - spec/support/shared/session.rb
1225
- - spec/support/dns.rb
1226
- - spec/support/cmap.rb
1227
- - spec/support/authorization.rb
1228
- - spec/support/crud/spec.rb
1229
- - spec/support/crud/test_base.rb
1230
- - spec/support/crud/context.rb
1231
- - spec/support/crud/operation.rb
1232
- - spec/support/crud/test.rb
1233
- - spec/support/crud/verifier.rb
1234
- - spec/support/crud/requirement.rb
1235
- - spec/support/crud/outcome.rb
1236
- - spec/support/common_shortcuts.rb
1237
- - spec/support/monitoring_ext.rb
1238
- - spec/support/client_registry_macros.rb
1239
- - spec/support/gridfs.rb
1240
- - spec/support/server_selection_rtt.rb
1241
- - spec/support/matchers.rb
1242
- - spec/support/command_monitoring.rb
1243
- - spec/support/primary_socket.rb
1244
- - spec/support/spec_config.rb
1245
- - spec/support/event_subscriber.rb
1246
- - spec/support/local_resource_registry.rb
1247
- - spec/support/crud.rb
1248
- - spec/support/transactions.rb
1249
- - spec/support/cluster_tools.rb
1250
- - spec/support/transactions/spec.rb
1251
- - spec/support/transactions/context.rb
1252
- - spec/support/transactions/operation.rb
1253
- - spec/support/transactions/test.rb
1254
- - spec/support/spec_setup.rb
1255
- - spec/support/lite_constraints.rb
1256
- - spec/README.md
1257
- - spec/integration/client_options_spec.rb
1258
- - spec/integration/ssl_uri_options_spec.rb
1259
- - spec/integration/get_more_spec.rb
1260
- - spec/integration/step_down_spec.rb
1261
- - spec/integration/read_concern_spec.rb
1262
- - spec/integration/server_description_spec.rb
1263
- - spec/integration/connection_spec.rb
1264
- - spec/integration/operation_failure_code_spec.rb
1265
- - spec/integration/error_detection_spec.rb
1266
- - spec/integration/connect_single_rs_name_spec.rb
1267
- - spec/integration/mmapv1_spec.rb
1268
- - spec/integration/sdam_events_spec.rb
1269
- - spec/integration/shell_examples_spec.rb
1270
- - spec/integration/cursor_reaping_spec.rb
1271
- - spec/integration/client_spec.rb
1272
- - spec/integration/server_spec.rb
1273
- - spec/integration/client_construction_spec.rb
1274
- - spec/integration/server_selector_spec.rb
1275
- - spec/integration/retryable_writes_spec.rb
1276
- - spec/integration/retryable_errors_spec.rb
1277
- - spec/integration/connection_pool_populator_spec.rb
1278
- - spec/integration/change_stream_examples_spec.rb
1279
- - spec/integration/transactions_examples_spec.rb
1280
- - spec/integration/srv_monitoring_spec.rb
1281
- - spec/integration/command_monitoring_spec.rb
1282
- - spec/integration/read_preference_spec.rb
1283
- - spec/integration/reconnect_spec.rb
1284
- - spec/integration/client_connectivity_spec.rb
1285
- - spec/integration/bulk_insert_spec.rb
1286
- - spec/integration/auth_spec.rb
1287
- - spec/integration/command_spec.rb
1288
- - spec/integration/change_stream_spec.rb
1289
- - spec/integration/time_zone_querying_spec.rb
1290
- - spec/integration/mongos_pinning_spec.rb
1291
- - spec/integration/heartbeat_events_spec.rb
1292
- - spec/integration/retryable_writes_errors_spec.rb
1293
- - spec/integration/docs_examples_spec.rb
1294
- - spec/integration/sdam_error_handling_spec.rb
1295
- - spec/integration/server_monitor_spec.rb
1506
+ - spec/runners/transactions.rb
1507
+ - spec/runners/gridfs.rb
1508
+ - spec/runners/cmap.rb
1509
+ - spec/runners/auth.rb
1510
+ - spec/runners/server_selection_rtt.rb
1511
+ - spec/runners/sdam.rb
1512
+ - spec/runners/change_streams/spec.rb
1513
+ - spec/runners/change_streams/test.rb
1514
+ - spec/runners/change_streams/outcome.rb
1515
+ - spec/runners/crud/spec.rb
1516
+ - spec/runners/crud/test_base.rb
1517
+ - spec/runners/crud/requirement.rb
1518
+ - spec/runners/crud/test.rb
1519
+ - spec/runners/crud/outcome.rb
1520
+ - spec/runners/crud/operation.rb
1521
+ - spec/runners/crud/context.rb
1522
+ - spec/runners/crud/verifier.rb
1523
+ - spec/runners/server_selection.rb
1524
+ - spec/runners/transactions/spec.rb
1525
+ - spec/runners/transactions/test.rb
1526
+ - spec/runners/transactions/operation.rb
1527
+ - spec/runners/transactions/context.rb
1528
+ - spec/runners/sdam_monitoring.rb
1529
+ - spec/runners/connection_string.rb
1530
+ - spec/runners/command_monitoring.rb
1531
+ - spec/runners/cmap/verifier.rb
1532
+ - spec/runners/crud.rb
1533
+ - spec/runners/read_write_concern_document.rb
1534
+ - spec/runners/sdam/verifier.rb
1535
+ - spec/atlas/operations_spec.rb
1536
+ - spec/atlas/atlas_connectivity_spec.rb
1296
1537
  - spec/USERS.md
1297
- - spec/mongo/cursor_spec.rb
1298
- - spec/mongo/collection_spec.rb
1299
- - spec/mongo/server/round_trip_time_averager_spec.rb
1300
- - spec/mongo/server/app_metadata_spec.rb
1301
- - spec/mongo/server/monitor/app_metadata_spec.rb
1538
+ - spec/README.aws-auth.md
1539
+ - spec/mongo/auth_spec.rb
1540
+ - spec/mongo/client_spec.rb
1541
+ - spec/mongo/server_selector/primary_spec.rb
1542
+ - spec/mongo/server_selector/nearest_spec.rb
1543
+ - spec/mongo/server_selector/secondary_preferred_spec.rb
1544
+ - spec/mongo/server_selector/primary_preferred_spec.rb
1545
+ - spec/mongo/server_selector/secondary_spec.rb
1546
+ - spec/mongo/address/unix_spec.rb
1547
+ - spec/mongo/address/validator_spec.rb
1548
+ - spec/mongo/address/ipv4_spec.rb
1549
+ - spec/mongo/address/ipv6_spec.rb
1550
+ - spec/mongo/write_concern/unacknowledged_spec.rb
1551
+ - spec/mongo/write_concern/acknowledged_spec.rb
1552
+ - spec/mongo/bulk_write_spec.rb
1553
+ - spec/mongo/uri_option_parsing_spec.rb
1554
+ - spec/mongo/session_transaction_spec.rb
1555
+ - spec/mongo/server/description_spec.rb
1302
1556
  - spec/mongo/server/monitor/connection_spec.rb
1303
- - spec/mongo/server/connection_spec.rb
1304
- - spec/mongo/server/monitor_spec.rb
1557
+ - spec/mongo/server/monitor/app_metadata_spec.rb
1558
+ - spec/mongo/server/round_trip_time_averager_spec.rb
1559
+ - spec/mongo/server/connection_pool/populator_spec.rb
1560
+ - spec/mongo/server/app_metadata_shared.rb
1305
1561
  - spec/mongo/server/connection_auth_spec.rb
1306
1562
  - spec/mongo/server/description/features_spec.rb
1307
- - spec/mongo/server/description_spec.rb
1308
- - spec/mongo/server/connection_pool/populator_spec.rb
1563
+ - spec/mongo/server/monitor_spec.rb
1309
1564
  - spec/mongo/server/connection_pool_spec.rb
1565
+ - spec/mongo/server/connection_spec.rb
1310
1566
  - spec/mongo/server/description_query_methods_spec.rb
1567
+ - spec/mongo/server/app_metadata_spec.rb
1311
1568
  - spec/mongo/session_spec.rb
1312
- - spec/mongo/grid/stream_spec.rb
1313
- - spec/mongo/grid/stream/write_spec.rb
1314
- - spec/mongo/grid/stream/read_spec.rb
1315
- - spec/mongo/grid/file_spec.rb
1316
- - spec/mongo/grid/file/chunk_spec.rb
1317
- - spec/mongo/grid/file/info_spec.rb
1318
- - spec/mongo/grid/fs_bucket_spec.rb
1319
- - spec/mongo/logger_spec.rb
1320
- - spec/mongo/cursor/builder/op_get_more_spec.rb
1321
- - spec/mongo/cursor/builder/get_more_command_spec.rb
1322
- - spec/mongo/server_selector/primary_spec.rb
1323
- - spec/mongo/server_selector/secondary_spec.rb
1324
- - spec/mongo/server_selector/nearest_spec.rb
1325
- - spec/mongo/server_selector/secondary_preferred_spec.rb
1326
- - spec/mongo/server_selector/primary_preferred_spec.rb
1569
+ - spec/mongo/socket_spec.rb
1570
+ - spec/mongo/error/max_bson_size_spec.rb
1327
1571
  - spec/mongo/error/no_server_available_spec.rb
1328
- - spec/mongo/error/operation_failure_spec.rb
1329
1572
  - spec/mongo/error/parser_spec.rb
1330
- - spec/mongo/retryable_spec.rb
1331
- - spec/mongo/write_concern_spec.rb
1332
- - spec/mongo/uri_option_parsing_spec.rb
1333
- - spec/mongo/lint_spec.rb
1334
- - spec/mongo/dbref_spec.rb
1573
+ - spec/mongo/error/operation_failure_heavy_spec.rb
1574
+ - spec/mongo/error/crypt_error_spec.rb
1575
+ - spec/mongo/error/operation_failure_spec.rb
1576
+ - spec/mongo/error/notable_spec.rb
1577
+ - spec/mongo/error/bulk_write_error_spec.rb
1578
+ - spec/mongo/error/unsupported_option_spec.rb
1579
+ - spec/mongo/uri/srv_protocol_spec.rb
1580
+ - spec/mongo/operation/aggregate/result_spec.rb
1581
+ - spec/mongo/operation/create_index_spec.rb
1582
+ - spec/mongo/operation/remove_user_spec.rb
1583
+ - spec/mongo/operation/collections_info_spec.rb
1584
+ - spec/mongo/operation/update_user_spec.rb
1585
+ - spec/mongo/operation/limited_spec.rb
1586
+ - spec/mongo/operation/update_spec.rb
1587
+ - spec/mongo/operation/command_spec.rb
1588
+ - spec/mongo/operation/result_spec.rb
1589
+ - spec/mongo/operation/specifiable_spec.rb
1590
+ - spec/mongo/operation/insert/command_spec.rb
1591
+ - spec/mongo/operation/insert/op_msg_spec.rb
1592
+ - spec/mongo/operation/insert/bulk_spec.rb
1593
+ - spec/mongo/operation/create_user_spec.rb
1594
+ - spec/mongo/operation/delete_spec.rb
1595
+ - spec/mongo/operation/kill_cursors_spec.rb
1596
+ - spec/mongo/operation/delete/command_spec.rb
1597
+ - spec/mongo/operation/delete/op_msg_spec.rb
1598
+ - spec/mongo/operation/delete/bulk_spec.rb
1599
+ - spec/mongo/operation/read_preference_legacy_spec.rb
1600
+ - spec/mongo/operation/insert_spec.rb
1601
+ - spec/mongo/operation/read_preference_op_msg_spec.rb
1602
+ - spec/mongo/operation/drop_index_spec.rb
1603
+ - spec/mongo/operation/update/command_spec.rb
1604
+ - spec/mongo/operation/update/op_msg_spec.rb
1605
+ - spec/mongo/operation/update/bulk_spec.rb
1606
+ - spec/mongo/operation/aggregate_spec.rb
1607
+ - spec/mongo/operation/map_reduce_spec.rb
1608
+ - spec/mongo/operation/find/legacy_spec.rb
1609
+ - spec/mongo/operation/get_more_spec.rb
1610
+ - spec/mongo/operation/indexes_spec.rb
1611
+ - spec/mongo/auth/cr_spec.rb
1612
+ - spec/mongo/auth/ldap_spec.rb
1613
+ - spec/mongo/auth/x509/conversation_spec.rb
1614
+ - spec/mongo/auth/scram_spec.rb
1615
+ - spec/mongo/auth/user/view_spec.rb
1616
+ - spec/mongo/auth/stringprep_spec.rb
1617
+ - spec/mongo/auth/user_spec.rb
1618
+ - spec/mongo/auth/invalid_mechanism_spec.rb
1619
+ - spec/mongo/auth/ldap/conversation_spec.rb
1620
+ - spec/mongo/auth/scram_negotiation_spec.rb
1621
+ - spec/mongo/auth/scram/conversation_spec.rb
1622
+ - spec/mongo/auth/stringprep/profiles/sasl_spec.rb
1623
+ - spec/mongo/auth/x509_spec.rb
1624
+ - spec/mongo/auth/scram256/conversation_spec.rb
1625
+ - spec/mongo/auth/gssapi/conversation_spec.rb
1335
1626
  - spec/mongo/cluster_time_spec.rb
1336
- - spec/mongo/options/redacted_spec.rb
1337
- - spec/mongo/srv/monitor_spec.rb
1338
1627
  - spec/mongo/srv/result_spec.rb
1339
- - spec/mongo/client_spec.rb
1340
- - spec/mongo/server_spec.rb
1341
- - spec/mongo/client_construction_spec.rb
1628
+ - spec/mongo/srv/monitor_spec.rb
1629
+ - spec/mongo/client_encryption_spec.rb
1342
1630
  - spec/mongo/monitoring/command_log_subscriber_spec.rb
1343
- - spec/mongo/monitoring/event/server_opening_spec.rb
1344
1631
  - spec/mongo/monitoring/event/server_heartbeat_started_spec.rb
1632
+ - spec/mongo/monitoring/event/topology_opening_spec.rb
1633
+ - spec/mongo/monitoring/event/topology_closed_spec.rb
1634
+ - spec/mongo/monitoring/event/command_started_spec.rb
1345
1635
  - spec/mongo/monitoring/event/server_description_changed_spec.rb
1346
1636
  - spec/mongo/monitoring/event/command_succeeded_spec.rb
1637
+ - spec/mongo/monitoring/event/server_opening_spec.rb
1638
+ - spec/mongo/monitoring/event/secure_spec.rb
1347
1639
  - spec/mongo/monitoring/event/command_failed_spec.rb
1348
- - spec/mongo/monitoring/event/command_started_spec.rb
1349
1640
  - spec/mongo/monitoring/event/server_heartbeat_failed_spec.rb
1641
+ - spec/mongo/monitoring/event/server_closed_spec.rb
1350
1642
  - spec/mongo/monitoring/event/topology_changed_spec.rb
1351
- - spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb
1352
- - spec/mongo/monitoring/event/cmap/connection_created_spec.rb
1643
+ - spec/mongo/monitoring/event/cmap/connection_check_out_failed_spec.rb
1353
1644
  - spec/mongo/monitoring/event/cmap/pool_created_spec.rb
1354
- - spec/mongo/monitoring/event/cmap/pool_cleared_spec.rb
1355
- - spec/mongo/monitoring/event/cmap/connection_ready_spec.rb
1645
+ - spec/mongo/monitoring/event/cmap/pool_closed_spec.rb
1356
1646
  - spec/mongo/monitoring/event/cmap/connection_closed_spec.rb
1357
1647
  - spec/mongo/monitoring/event/cmap/connection_checked_in_spec.rb
1358
- - spec/mongo/monitoring/event/cmap/pool_closed_spec.rb
1359
- - spec/mongo/monitoring/event/cmap/connection_check_out_failed_spec.rb
1360
1648
  - spec/mongo/monitoring/event/cmap/connection_checked_out_spec.rb
1361
- - spec/mongo/monitoring/event/server_closed_spec.rb
1362
- - spec/mongo/monitoring/event/topology_closed_spec.rb
1649
+ - spec/mongo/monitoring/event/cmap/pool_cleared_spec.rb
1650
+ - spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb
1651
+ - spec/mongo/monitoring/event/cmap/connection_ready_spec.rb
1652
+ - spec/mongo/monitoring/event/cmap/connection_created_spec.rb
1363
1653
  - spec/mongo/monitoring/event/server_heartbeat_succeeded_spec.rb
1364
- - spec/mongo/monitoring/event/secure_spec.rb
1365
- - spec/mongo/monitoring/event/topology_opening_spec.rb
1366
- - spec/mongo/socket/unix_spec.rb
1367
- - spec/mongo/socket/tcp_spec.rb
1368
- - spec/mongo/socket/ssl_spec.rb
1369
- - spec/mongo/server_selector_spec.rb
1370
- - spec/mongo/address/ipv6_spec.rb
1371
- - spec/mongo/address/validator_spec.rb
1372
- - spec/mongo/address/ipv4_spec.rb
1373
- - spec/mongo/address/unix_spec.rb
1374
- - spec/mongo/session_transaction_spec.rb
1375
- - spec/mongo/uri_spec.rb
1376
- - spec/mongo/monitoring_spec.rb
1377
- - spec/mongo/socket_spec.rb
1378
1654
  - spec/mongo/collection/view_spec.rb
1379
- - spec/mongo/collection/view/explainable_spec.rb
1380
- - spec/mongo/collection/view/aggregation_spec.rb
1381
- - spec/mongo/collection/view/map_reduce_spec.rb
1382
- - spec/mongo/collection/view/immutable_spec.rb
1383
1655
  - spec/mongo/collection/view/builder/op_query_spec.rb
1384
- - spec/mongo/collection/view/builder/find_command_spec.rb
1385
- - spec/mongo/collection/view/builder/flags_spec.rb
1386
1656
  - spec/mongo/collection/view/builder/modifiers_spec.rb
1657
+ - spec/mongo/collection/view/builder/flags_spec.rb
1658
+ - spec/mongo/collection/view/builder/find_command_spec.rb
1659
+ - spec/mongo/collection/view/change_stream_spec.rb
1660
+ - spec/mongo/collection/view/change_stream_resume_spec.rb
1661
+ - spec/mongo/collection/view/immutable_spec.rb
1662
+ - spec/mongo/collection/view/aggregation_spec.rb
1387
1663
  - spec/mongo/collection/view/readable_spec.rb
1388
1664
  - spec/mongo/collection/view/writable_spec.rb
1389
- - spec/mongo/collection/view/change_stream_spec.rb
1390
- - spec/mongo/database_spec.rb
1391
- - spec/mongo/index/view_spec.rb
1392
- - spec/mongo/operation/limited_spec.rb
1393
- - spec/mongo/operation/map_reduce_spec.rb
1394
- - spec/mongo/operation/get_more_spec.rb
1395
- - spec/mongo/operation/specifiable_spec.rb
1396
- - spec/mongo/operation/collections_info_spec.rb
1397
- - spec/mongo/operation/aggregate/result_spec.rb
1398
- - spec/mongo/operation/delete_spec.rb
1399
- - spec/mongo/operation/delete/op_msg_spec.rb
1400
- - spec/mongo/operation/delete/bulk_spec.rb
1401
- - spec/mongo/operation/delete/command_spec.rb
1402
- - spec/mongo/operation/create_index_spec.rb
1403
- - spec/mongo/operation/update/op_msg_spec.rb
1404
- - spec/mongo/operation/update/bulk_spec.rb
1405
- - spec/mongo/operation/update/command_spec.rb
1406
- - spec/mongo/operation/create_user_spec.rb
1407
- - spec/mongo/operation/update_spec.rb
1408
- - spec/mongo/operation/update_user_spec.rb
1409
- - spec/mongo/operation/result_spec.rb
1410
- - spec/mongo/operation/indexes_spec.rb
1411
- - spec/mongo/operation/find/legacy_spec.rb
1412
- - spec/mongo/operation/drop_index_spec.rb
1413
- - spec/mongo/operation/aggregate_spec.rb
1414
- - spec/mongo/operation/kill_cursors_spec.rb
1415
- - spec/mongo/operation/insert/op_msg_spec.rb
1416
- - spec/mongo/operation/insert/bulk_spec.rb
1417
- - spec/mongo/operation/insert/command_spec.rb
1418
- - spec/mongo/operation/read_preference_spec.rb
1419
- - spec/mongo/operation/command_spec.rb
1420
- - spec/mongo/operation/insert_spec.rb
1421
- - spec/mongo/operation/remove_user_spec.rb
1422
- - spec/mongo/bulk_write/unordered_combiner_spec.rb
1665
+ - spec/mongo/collection/view/explainable_spec.rb
1666
+ - spec/mongo/collection/view/map_reduce_spec.rb
1667
+ - spec/mongo/collection/view/iterable_spec.rb
1668
+ - spec/mongo/cluster_spec.rb
1669
+ - spec/mongo/write_concern_spec.rb
1670
+ - spec/mongo/grid/stream_spec.rb
1671
+ - spec/mongo/grid/stream/read_spec.rb
1672
+ - spec/mongo/grid/stream/write_spec.rb
1673
+ - spec/mongo/grid/file_spec.rb
1674
+ - spec/mongo/grid/fs_bucket_spec.rb
1675
+ - spec/mongo/grid/file/chunk_spec.rb
1676
+ - spec/mongo/grid/file/info_spec.rb
1677
+ - spec/mongo/uri_spec.rb
1678
+ - spec/mongo/dbref_spec.rb
1679
+ - spec/mongo/cluster/cursor_reaper_spec.rb
1680
+ - spec/mongo/cluster/periodic_executor_spec.rb
1681
+ - spec/mongo/cluster/topology_spec.rb
1682
+ - spec/mongo/cluster/topology/replica_set_spec.rb
1683
+ - spec/mongo/cluster/topology/unknown_spec.rb
1684
+ - spec/mongo/cluster/topology/sharded_spec.rb
1685
+ - spec/mongo/cluster/topology/single_spec.rb
1686
+ - spec/mongo/cluster/socket_reaper_spec.rb
1687
+ - spec/mongo/lint_spec.rb
1688
+ - spec/mongo/logger_spec.rb
1689
+ - spec/mongo/socket/unix_spec.rb
1690
+ - spec/mongo/socket/ssl_spec.rb
1691
+ - spec/mongo/socket/tcp_spec.rb
1692
+ - spec/mongo/collection_spec.rb
1693
+ - spec/mongo/event/subscriber_spec.rb
1694
+ - spec/mongo/event/publisher_spec.rb
1695
+ - spec/mongo/index/view_spec.rb
1423
1696
  - spec/mongo/bulk_write/ordered_combiner_spec.rb
1424
1697
  - spec/mongo/bulk_write/result_spec.rb
1698
+ - spec/mongo/bulk_write/unordered_combiner_spec.rb
1699
+ - spec/mongo/retryable_spec.rb
1700
+ - spec/mongo/cursor_spec.rb
1701
+ - spec/mongo/cursor/builder/get_more_command_spec.rb
1702
+ - spec/mongo/cursor/builder/op_get_more_spec.rb
1703
+ - spec/mongo/cursor/builder/op_kill_cursors_spec.rb
1704
+ - spec/mongo/server_spec.rb
1705
+ - spec/mongo/timeout_spec.rb
1425
1706
  - spec/mongo/id_spec.rb
1426
- - spec/mongo/auth/ldap_spec.rb
1427
- - spec/mongo/auth/stringprep/profiles/sasl_spec.rb
1428
- - spec/mongo/auth/invalid_mechanism_spec.rb
1429
- - spec/mongo/auth/user_spec.rb
1430
- - spec/mongo/auth/ldap/conversation_spec.rb
1431
- - spec/mongo/auth/stringprep_spec.rb
1432
- - spec/mongo/auth/scram/negotiation_spec.rb
1433
- - spec/mongo/auth/scram/conversation_spec.rb
1434
- - spec/mongo/auth/cr_spec.rb
1435
- - spec/mongo/auth/x509_spec.rb
1436
- - spec/mongo/auth/x509/conversation_spec.rb
1437
- - spec/mongo/auth/scram_spec.rb
1438
- - spec/mongo/auth/user/view_spec.rb
1439
- - spec/mongo/bulk_write_spec.rb
1440
- - spec/mongo/protocol/get_more_spec.rb
1441
- - spec/mongo/protocol/reply_spec.rb
1442
- - spec/mongo/protocol/delete_spec.rb
1707
+ - spec/mongo/monitoring_spec.rb
1708
+ - spec/mongo/address_spec.rb
1709
+ - spec/mongo/client_construction_spec.rb
1710
+ - spec/mongo/crypt/binding_unloaded_spec.rb
1711
+ - spec/mongo/crypt/status_spec.rb
1712
+ - spec/mongo/crypt/auto_decryption_context_spec.rb
1713
+ - spec/mongo/crypt/data_key_context_spec.rb
1714
+ - spec/mongo/crypt/binding/status_spec.rb
1715
+ - spec/mongo/crypt/binding/binary_spec.rb
1716
+ - spec/mongo/crypt/binding/version_spec.rb
1717
+ - spec/mongo/crypt/binding/mongocrypt_spec.rb
1718
+ - spec/mongo/crypt/binding/helpers_spec.rb
1719
+ - spec/mongo/crypt/binding/context_spec.rb
1720
+ - spec/mongo/crypt/encryption_io_spec.rb
1721
+ - spec/mongo/crypt/auto_encryption_context_spec.rb
1722
+ - spec/mongo/crypt/binary_spec.rb
1723
+ - spec/mongo/crypt/auto_encrypter_spec.rb
1724
+ - spec/mongo/crypt/handle_spec.rb
1725
+ - spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb
1726
+ - spec/mongo/crypt/explicit_encryption_context_spec.rb
1727
+ - spec/mongo/crypt/explicit_decryption_context_spec.rb
1728
+ - spec/mongo/options/redacted_spec.rb
1729
+ - spec/mongo/session/session_pool_spec.rb
1730
+ - spec/mongo/session/server_session_spec.rb
1731
+ - spec/mongo/database_spec.rb
1732
+ - spec/mongo/server_selector_spec.rb
1733
+ - spec/mongo/bson_spec.rb
1734
+ - spec/mongo/protocol/compressed_spec.rb
1443
1735
  - spec/mongo/protocol/update_spec.rb
1444
- - spec/mongo/protocol/registry_spec.rb
1445
- - spec/mongo/protocol/kill_cursors_spec.rb
1446
1736
  - spec/mongo/protocol/query_spec.rb
1737
+ - spec/mongo/protocol/delete_spec.rb
1738
+ - spec/mongo/protocol/kill_cursors_spec.rb
1447
1739
  - spec/mongo/protocol/msg_spec.rb
1448
1740
  - spec/mongo/protocol/insert_spec.rb
1449
- - spec/mongo/protocol/compressed_spec.rb
1450
- - spec/mongo/session/session_pool_spec.rb
1451
- - spec/mongo/session/server_session_spec.rb
1452
- - spec/mongo/auth_spec.rb
1453
- - spec/mongo/write_concern/acknowledged_spec.rb
1454
- - spec/mongo/write_concern/unacknowledged_spec.rb
1455
- - spec/mongo/cluster/srv_monitor_spec.rb
1456
- - spec/mongo/cluster/topology_spec.rb
1457
- - spec/mongo/cluster/socket_reaper_spec.rb
1458
- - spec/mongo/cluster/cursor_reaper_spec.rb
1459
- - spec/mongo/cluster/periodic_executor_spec.rb
1460
- - spec/mongo/cluster/topology/unknown_spec.rb
1461
- - spec/mongo/cluster/topology/sharded_spec.rb
1462
- - spec/mongo/cluster/topology/single_spec.rb
1463
- - spec/mongo/cluster/topology/replica_set_spec.rb
1464
- - spec/mongo/bson_spec.rb
1465
- - spec/mongo/cluster_spec.rb
1466
- - spec/mongo/address_spec.rb
1467
- - spec/mongo/event/publisher_spec.rb
1468
- - spec/mongo/event/subscriber_spec.rb
1469
- - spec/mongo/uri/srv_protocol_spec.rb
1470
- - spec/atlas/operations_spec.rb
1471
- - spec/atlas/atlas_connectivity_spec.rb
1472
- - spec/enterprise_auth/kerberos_spec.rb
1741
+ - spec/mongo/protocol/reply_spec.rb
1742
+ - spec/mongo/protocol/get_more_spec.rb
1743
+ - spec/mongo/protocol/registry_spec.rb
1744
+ - spec/README.md
1745
+ - spec/support/shared/scram_conversation.rb
1746
+ - spec/support/shared/server_selector.rb
1747
+ - spec/support/shared/protocol.rb
1748
+ - spec/support/shared/session.rb
1749
+ - spec/support/aws_utils/orchestrator.rb
1750
+ - spec/support/aws_utils/provisioner.rb
1751
+ - spec/support/aws_utils/base.rb
1752
+ - spec/support/aws_utils/inspector.rb
1753
+ - spec/support/authorization.rb
1754
+ - spec/support/sdam_formatter_integration.rb
1755
+ - spec/support/cluster_config.rb
1756
+ - spec/support/cluster_tools.rb
1757
+ - spec/support/matchers.rb
1758
+ - spec/support/client_registry.rb
1759
+ - spec/support/primary_socket.rb
1760
+ - spec/support/spec_setup.rb
1761
+ - spec/support/monitoring_ext.rb
1762
+ - spec/support/dns.rb
1763
+ - spec/support/lite_constraints.rb
1764
+ - spec/support/certificates/server.pem
1765
+ - spec/support/certificates/server-second-level-bundle.pem
1766
+ - spec/support/certificates/client-second-level.pem
1767
+ - spec/support/certificates/crl.pem
1768
+ - spec/support/certificates/crl_client_revoked.pem
1769
+ - spec/support/certificates/client.key
1770
+ - spec/support/certificates/client-int.crt
1771
+ - spec/support/certificates/client-encrypted.key
1772
+ - spec/support/certificates/server-second-level.key
1773
+ - spec/support/certificates/server-second-level.crt
1774
+ - spec/support/certificates/client.pem
1775
+ - spec/support/certificates/python-ca.crt
1776
+ - spec/support/certificates/multi-ca.crt
1777
+ - spec/support/certificates/README.md
1778
+ - spec/support/certificates/client-x509.crt
1779
+ - spec/support/certificates/client.crt
1780
+ - spec/support/certificates/server-second-level.pem
1781
+ - spec/support/certificates/client-second-level.key
1782
+ - spec/support/certificates/server-int.crt
1783
+ - spec/support/certificates/ca.crt
1784
+ - spec/support/certificates/client-second-level-bundle.pem
1785
+ - spec/support/certificates/client-x509.pem
1786
+ - spec/support/certificates/client-x509.key
1787
+ - spec/support/certificates/client-second-level.crt
1788
+ - spec/support/json_ext_formatter.rb
1789
+ - spec/support/event_subscriber.rb
1790
+ - spec/support/client_registry_macros.rb
1791
+ - spec/support/constraints.rb
1792
+ - spec/support/crypt.rb
1793
+ - spec/support/local_resource_registry.rb
1794
+ - spec/support/common_shortcuts.rb
1795
+ - spec/support/spec_config.rb
1796
+ - spec/support/crypt/corpus/corpus-schema.json
1797
+ - spec/support/crypt/corpus/corpus-key-local.json
1798
+ - spec/support/crypt/corpus/corpus_encrypted.json
1799
+ - spec/support/crypt/corpus/corpus-key-aws.json
1800
+ - spec/support/crypt/corpus/corpus.json
1801
+ - spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json
1802
+ - spec/support/crypt/schema_maps/schema_map_local.json
1803
+ - spec/support/crypt/schema_maps/schema_map_aws.json
1804
+ - spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json
1805
+ - spec/support/crypt/data_keys/key_document_aws.json
1806
+ - spec/support/crypt/data_keys/key_document_local.json
1807
+ - spec/support/crypt/external/external-key.json
1808
+ - spec/support/crypt/external/external-schema.json
1809
+ - spec/support/crypt/limits/limits-key.json
1810
+ - spec/support/crypt/limits/limits-schema.json
1811
+ - spec/support/crypt/limits/limits-doc.json
1812
+ - spec/support/aws_utils.rb
1813
+ - spec/support/utils.rb
1814
+ - spec/support/background_thread_registry.rb
1815
+ - spec/stress/fork_reconnect_stress_spec.rb
1816
+ - spec/stress/cleanup_spec.rb
1473
1817
  - spec/stress/connection_pool_timing_spec.rb
1474
1818
  - spec/stress/connection_pool_stress_spec.rb
1475
- - spec/lite_spec_helper.rb
1476
- - spec/spec_helper.rb
1477
- - spec/spec_tests/data/transactions_api/transaction-options.yml
1478
- - spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml
1479
- - spec/spec_tests/data/transactions_api/callback-aborts.yml
1480
- - spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml
1481
- - spec/spec_tests/data/transactions_api/commit-retry.yml
1482
- - spec/spec_tests/data/transactions_api/callback-retry.yml
1483
- - spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml
1484
- - spec/spec_tests/data/transactions_api/callback-commits.yml
1485
- - spec/spec_tests/data/transactions_api/commit.yml
1486
- - spec/spec_tests/data/change_streams/change-streams-errors.yml
1487
- - spec/spec_tests/data/change_streams/change-streams.yml
1488
- - spec/spec_tests/data/command_monitoring/deleteMany.yml
1489
- - spec/spec_tests/data/command_monitoring/bulkWrite.yml
1490
- - spec/spec_tests/data/command_monitoring/updateOne.yml
1491
- - spec/spec_tests/data/command_monitoring/unacknowledgedBulkWrite.yml
1492
- - spec/spec_tests/data/command_monitoring/find.yml
1493
- - spec/spec_tests/data/command_monitoring/insertOne.yml
1494
- - spec/spec_tests/data/command_monitoring/command.yml
1495
- - spec/spec_tests/data/command_monitoring/updateMany.yml
1496
- - spec/spec_tests/data/command_monitoring/deleteOne.yml
1497
- - spec/spec_tests/data/command_monitoring/insertMany.yml
1498
- - spec/spec_tests/data/max_staleness/Single/Incompatible.yml
1499
- - spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml
1500
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml
1501
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml
1502
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml
1503
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml
1504
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml
1505
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml
1506
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml
1507
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Incompatible.yml
1508
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml
1509
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml
1510
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml
1511
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml
1512
- - spec/spec_tests/data/max_staleness/Sharded/Incompatible.yml
1513
- - spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml
1514
- - spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml
1515
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml
1516
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml
1517
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml
1518
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml
1519
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml
1520
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml
1521
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml
1522
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml
1523
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml
1524
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml
1525
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.yml
1526
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Incompatible.yml
1527
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml
1528
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml
1529
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml
1530
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml
1531
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml
1532
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml
1533
- - spec/spec_tests/data/gridfs/download_by_name.yml
1534
- - spec/spec_tests/data/gridfs/download.yml
1535
- - spec/spec_tests/data/gridfs/upload.yml
1536
- - spec/spec_tests/data/gridfs/delete.yml
1537
- - spec/spec_tests/data/server_selection/Single/read/SecondaryPreferred.yml
1538
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Primary.yml
1539
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml
1540
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml
1541
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml
1542
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.yml
1543
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml
1544
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml
1545
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml
1546
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml
1547
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary.yml
1548
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest.yml
1549
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.yml
1550
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml
1551
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimary.yml
1552
- - spec/spec_tests/data/server_selection/Sharded/read/Primary.yml
1553
- - spec/spec_tests/data/server_selection/Sharded/read/PrimaryPreferred.yml
1554
- - spec/spec_tests/data/server_selection/Sharded/read/SecondaryPreferred.yml
1555
- - spec/spec_tests/data/server_selection/Sharded/read/Secondary.yml
1556
- - spec/spec_tests/data/server_selection/Sharded/read/Nearest.yml
1557
- - spec/spec_tests/data/server_selection/Unknown/read/SecondaryPreferred.yml
1558
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Primary.yml
1559
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml
1560
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred.yml
1561
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml
1562
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching.yml
1563
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml
1564
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.yml
1565
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching.yml
1566
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary.yml
1567
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest.yml
1568
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.yml
1569
- - spec/spec_tests/data/connection_string/valid-host_identifiers.yml
1570
- - spec/spec_tests/data/connection_string/valid-warnings.yml
1571
- - spec/spec_tests/data/connection_string/valid-db-with-dotted-name.yml
1572
- - spec/spec_tests/data/connection_string/invalid-uris.yml
1573
- - spec/spec_tests/data/connection_string/valid-unix_socket-absolute.yml
1574
- - spec/spec_tests/data/connection_string/valid-unix_socket-relative.yml
1575
- - spec/spec_tests/data/connection_string/valid-auth.yml
1576
- - spec/spec_tests/data/connection_string/valid-options.yml
1577
- - spec/spec_tests/data/retryable_writes/deleteOne-serverErrors.yml
1578
- - spec/spec_tests/data/retryable_writes/findOneAndDelete.yml
1579
- - spec/spec_tests/data/retryable_writes/replaceOne-serverErrors.yml
1580
- - spec/spec_tests/data/retryable_writes/deleteMany.yml
1819
+ - spec/kerberos/kerberos_spec.rb
1820
+ - spec/NOTES.aws-auth.md
1821
+ - spec/spec_tests/auth_spec.rb
1822
+ - spec/spec_tests/connection_string_spec.rb
1823
+ - spec/spec_tests/dns_seedlist_discovery_spec.rb
1824
+ - spec/spec_tests/data/uri_options/tls-options.yml
1825
+ - spec/spec_tests/data/uri_options/ruby-connection-options.yml
1826
+ - spec/spec_tests/data/uri_options/auth-options.yml
1827
+ - spec/spec_tests/data/uri_options/ruby-auth-options.yml
1828
+ - spec/spec_tests/data/uri_options/connection-pool-options.yml
1829
+ - spec/spec_tests/data/uri_options/compression-options.yml
1830
+ - spec/spec_tests/data/uri_options/read-preference-options.yml
1831
+ - spec/spec_tests/data/uri_options/connection-options.yml
1832
+ - spec/spec_tests/data/uri_options/concern-options.yml
1833
+ - spec/spec_tests/data/auth/connection-string.yml
1834
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-uri-option.yml
1835
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch4.yml
1836
+ - spec/spec_tests/data/dns_seedlist_discovery/direct-connection-false.yml
1837
+ - spec/spec_tests/data/dns_seedlist_discovery/uri-with-port.yml
1838
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-ssl-option.yml
1839
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch5.yml
1840
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch3.yml
1841
+ - spec/spec_tests/data/dns_seedlist_discovery/longer-parent-in-return.yml
1842
+ - spec/spec_tests/data/dns_seedlist_discovery/uri-with-two-hosts.yml
1843
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-not-allowed-option.yml
1844
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch1.yml
1845
+ - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-too-short.yml
1846
+ - spec/spec_tests/data/dns_seedlist_discovery/one-result-default-port.yml
1847
+ - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record-multiple-strings.yml
1848
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-unallowed-option.yml
1849
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch2.yml
1850
+ - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-wrong.yml
1851
+ - spec/spec_tests/data/dns_seedlist_discovery/two-txt-records.yml
1852
+ - spec/spec_tests/data/dns_seedlist_discovery/direct-connection-true.yml
1853
+ - spec/spec_tests/data/dns_seedlist_discovery/two-results-default-port.yml
1854
+ - spec/spec_tests/data/dns_seedlist_discovery/no-results.yml
1855
+ - spec/spec_tests/data/dns_seedlist_discovery/not-enough-parts.yml
1856
+ - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record.yml
1857
+ - spec/spec_tests/data/dns_seedlist_discovery/misformatted-option.yml
1858
+ - spec/spec_tests/data/dns_seedlist_discovery/two-results-nonstandard-port.yml
1581
1859
  - spec/spec_tests/data/retryable_writes/findOneAndUpdate-serverErrors.yml
1582
- - spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml
1583
- - spec/spec_tests/data/retryable_writes/bulkWrite.yml
1584
- - spec/spec_tests/data/retryable_writes/insertMany-serverErrors.yml
1585
- - spec/spec_tests/data/retryable_writes/findOneAndDelete-serverErrors.yml
1586
- - spec/spec_tests/data/retryable_writes/updateOne.yml
1860
+ - spec/spec_tests/data/retryable_writes/findOneAndUpdate.yml
1587
1861
  - spec/spec_tests/data/retryable_writes/bulkWrite-serverErrors.yml
1862
+ - spec/spec_tests/data/retryable_writes/findOneAndUpdate-errorLabels.yml
1863
+ - spec/spec_tests/data/retryable_writes/replaceOne-serverErrors.yml
1864
+ - spec/spec_tests/data/retryable_writes/findOneAndDelete-errorLabels.yml
1865
+ - spec/spec_tests/data/retryable_writes/findOneAndReplace-errorLabels.yml
1588
1866
  - spec/spec_tests/data/retryable_writes/insertOne.yml
1589
- - spec/spec_tests/data/retryable_writes/findOneAndReplace.yml
1867
+ - spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml
1868
+ - spec/spec_tests/data/retryable_writes/deleteMany.yml
1869
+ - spec/spec_tests/data/retryable_writes/findOneAndDelete-serverErrors.yml
1870
+ - spec/spec_tests/data/retryable_writes/findOneAndDelete.yml
1590
1871
  - spec/spec_tests/data/retryable_writes/replaceOne.yml
1591
- - spec/spec_tests/data/retryable_writes/findOneAndUpdate.yml
1592
- - spec/spec_tests/data/retryable_writes/findOneAndReplace-serverErrors.yml
1872
+ - spec/spec_tests/data/retryable_writes/insertMany.yml
1873
+ - spec/spec_tests/data/retryable_writes/insertMany-errorLabels.yml
1593
1874
  - spec/spec_tests/data/retryable_writes/updateMany.yml
1594
- - spec/spec_tests/data/retryable_writes/updateOne-serverErrors.yml
1875
+ - spec/spec_tests/data/retryable_writes/findOneAndReplace.yml
1595
1876
  - spec/spec_tests/data/retryable_writes/deleteOne.yml
1596
- - spec/spec_tests/data/retryable_writes/insertMany.yml
1597
- - spec/spec_tests/data/cmap/pool-checkout-connection.yml
1598
- - spec/spec_tests/data/cmap/pool-create.yml
1599
- - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
1600
- - spec/spec_tests/data/cmap/pool-checkout-error-closed.yml
1601
- - spec/spec_tests/data/cmap/pool-checkout-no-idle.yml
1602
- - spec/spec_tests/data/cmap/pool-close-destroy-conns.yml
1603
- - spec/spec_tests/data/cmap/connection-must-have-id.yml
1604
- - spec/spec_tests/data/cmap/connection-must-order-ids.yml
1605
- - spec/spec_tests/data/cmap/pool-checkout-multiple.yml
1606
- - spec/spec_tests/data/cmap/pool-checkin.yml
1607
- - spec/spec_tests/data/cmap/pool-checkout-no-stale.yml
1608
- - spec/spec_tests/data/cmap/pool-create-with-options.yml
1609
- - spec/spec_tests/data/cmap/pool-close.yml
1610
- - spec/spec_tests/data/cmap/pool-checkin-make-available.yml
1611
- - spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml
1612
- - spec/spec_tests/data/cmap/wait-queue-timeout.yml
1613
- - spec/spec_tests/data/cmap/pool-create-min-size.yml
1614
- - spec/spec_tests/data/cmap/wait-queue-fairness.yml
1615
- - spec/spec_tests/data/cmap/pool-create-max-size.yml
1616
- - spec/spec_tests/data/sdam_monitoring/standalone.yml
1617
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml
1618
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml
1619
- - spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml
1620
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
1621
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
1622
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
1623
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_change.yml
1624
- - spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml
1625
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
1626
- - spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml
1627
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
1628
- - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
1629
- - spec/spec_tests/data/sdam_monitoring/required_replica_set.yml
1630
- - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
1631
- - spec/spec_tests/data/uri_options/tls-options.yml
1632
- - spec/spec_tests/data/uri_options/compression-options.yml
1633
- - spec/spec_tests/data/uri_options/connection-options.yml
1634
- - spec/spec_tests/data/uri_options/auth-options.yml
1635
- - spec/spec_tests/data/uri_options/connection-pool-options.yml
1636
- - spec/spec_tests/data/uri_options/read-preference-options.yml
1637
- - spec/spec_tests/data/uri_options/concern-options.yml
1638
- - spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml
1639
- - spec/spec_tests/data/crud_v2/updateWithPipelines.yml
1640
- - spec/spec_tests/data/crud_v2/aggregate-merge.yml
1641
- - spec/spec_tests/data/crud_v2/db-aggregate.yml
1642
- - spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml
1643
- - spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml
1644
- - spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml
1645
- - spec/spec_tests/data/crud/write/findOneAndDelete.yml
1646
- - spec/spec_tests/data/crud/write/bulkWrite-collation.yml
1647
- - spec/spec_tests/data/crud/write/deleteMany.yml
1648
- - spec/spec_tests/data/crud/write/deleteOne-collation.yml
1649
- - spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml
1650
- - spec/spec_tests/data/crud/write/deleteMany-collation.yml
1651
- - spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml
1652
- - spec/spec_tests/data/crud/write/bulkWrite.yml
1653
- - spec/spec_tests/data/crud/write/updateOne.yml
1654
- - spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml
1877
+ - spec/spec_tests/data/retryable_writes/deleteOne-serverErrors.yml
1878
+ - spec/spec_tests/data/retryable_writes/updateOne-serverErrors.yml
1879
+ - spec/spec_tests/data/retryable_writes/findOneAndReplace-serverErrors.yml
1880
+ - spec/spec_tests/data/retryable_writes/bulkWrite-errorLabels.yml
1881
+ - spec/spec_tests/data/retryable_writes/replaceOne-errorLabels.yml
1882
+ - spec/spec_tests/data/retryable_writes/bulkWrite.yml
1883
+ - spec/spec_tests/data/retryable_writes/insertOne-errorLabels.yml
1884
+ - spec/spec_tests/data/retryable_writes/insertMany-serverErrors.yml
1885
+ - spec/spec_tests/data/retryable_writes/updateOne-errorLabels.yml
1886
+ - spec/spec_tests/data/retryable_writes/updateOne.yml
1887
+ - spec/spec_tests/data/retryable_writes/deleteOne-errorLabels.yml
1888
+ - spec/spec_tests/data/command_monitoring/find.yml
1889
+ - spec/spec_tests/data/command_monitoring/insertOne.yml
1890
+ - spec/spec_tests/data/command_monitoring/command.yml
1891
+ - spec/spec_tests/data/command_monitoring/deleteMany.yml
1892
+ - spec/spec_tests/data/command_monitoring/insertMany.yml
1893
+ - spec/spec_tests/data/command_monitoring/updateMany.yml
1894
+ - spec/spec_tests/data/command_monitoring/unacknowledgedBulkWrite.yml
1895
+ - spec/spec_tests/data/command_monitoring/deleteOne.yml
1896
+ - spec/spec_tests/data/command_monitoring/bulkWrite.yml
1897
+ - spec/spec_tests/data/command_monitoring/updateOne.yml
1898
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
1899
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
1900
+ - spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml
1901
+ - spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml
1902
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml
1903
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
1904
+ - spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml
1905
+ - spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml
1906
+ - spec/spec_tests/data/sdam_monitoring/replica_set_primary_address_change.yml
1907
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
1908
+ - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
1909
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
1910
+ - spec/spec_tests/data/sdam_monitoring/standalone.yml
1911
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml
1912
+ - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
1913
+ - spec/spec_tests/data/sdam_monitoring/required_replica_set.yml
1914
+ - spec/spec_tests/data/change_streams/change-streams-errors.yml
1915
+ - spec/spec_tests/data/change_streams/change-streams-resume-errorLabels.yml
1916
+ - spec/spec_tests/data/change_streams/change-streams-resume-whitelist.yml
1917
+ - spec/spec_tests/data/change_streams/change-streams.yml
1918
+ - spec/spec_tests/data/gridfs/delete.yml
1919
+ - spec/spec_tests/data/gridfs/upload.yml
1920
+ - spec/spec_tests/data/gridfs/download.yml
1921
+ - spec/spec_tests/data/gridfs/download_by_name.yml
1922
+ - spec/spec_tests/data/server_selection/Unknown/read/SecondaryPreferred.yml
1923
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest.yml
1924
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching.yml
1925
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Primary.yml
1926
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.yml
1927
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml
1928
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred.yml
1929
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.yml
1930
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml
1931
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml
1932
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary.yml
1933
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching.yml
1934
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml
1935
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml
1936
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.yml
1937
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Primary.yml
1938
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest.yml
1939
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml
1940
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml
1941
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml
1942
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml
1943
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml
1944
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary.yml
1945
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimary.yml
1946
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml
1947
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.yml
1948
+ - spec/spec_tests/data/server_selection/Sharded/read/Nearest.yml
1949
+ - spec/spec_tests/data/server_selection/Sharded/read/Primary.yml
1950
+ - spec/spec_tests/data/server_selection/Sharded/read/PrimaryPreferred.yml
1951
+ - spec/spec_tests/data/server_selection/Sharded/read/SecondaryPreferred.yml
1952
+ - spec/spec_tests/data/server_selection/Sharded/read/Secondary.yml
1953
+ - spec/spec_tests/data/server_selection/Single/read/SecondaryPreferred.yml
1954
+ - spec/spec_tests/data/crud/read/find.yml
1955
+ - spec/spec_tests/data/crud/read/count-collation.yml
1956
+ - spec/spec_tests/data/crud/read/aggregate-out.yml
1957
+ - spec/spec_tests/data/crud/read/find-collation.yml
1958
+ - spec/spec_tests/data/crud/read/count.yml
1959
+ - spec/spec_tests/data/crud/read/distinct-collation.yml
1960
+ - spec/spec_tests/data/crud/read/aggregate-collation.yml
1961
+ - spec/spec_tests/data/crud/read/distinct.yml
1962
+ - spec/spec_tests/data/crud/read/count-empty.yml
1963
+ - spec/spec_tests/data/crud/read/aggregate.yml
1655
1964
  - spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml
1656
- - spec/spec_tests/data/crud/write/insertOne.yml
1657
- - spec/spec_tests/data/crud/write/findOneAndReplace.yml
1658
- - spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml
1965
+ - spec/spec_tests/data/crud/write/updateMany-pre_2.6.yml
1966
+ - spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml
1967
+ - spec/spec_tests/data/crud/write/findOneAndUpdate.yml
1659
1968
  - spec/spec_tests/data/crud/write/updateMany-collation.yml
1969
+ - spec/spec_tests/data/crud/write/findOneAndUpdate-arrayFilters.yml
1970
+ - spec/spec_tests/data/crud/write/insertOne.yml
1971
+ - spec/spec_tests/data/crud/write/deleteMany.yml
1972
+ - spec/spec_tests/data/crud/write/deleteMany-collation.yml
1973
+ - spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml
1974
+ - spec/spec_tests/data/crud/write/findOneAndDelete.yml
1660
1975
  - spec/spec_tests/data/crud/write/replaceOne.yml
1661
- - spec/spec_tests/data/crud/write/findOneAndUpdate.yml
1976
+ - spec/spec_tests/data/crud/write/insertMany.yml
1662
1977
  - spec/spec_tests/data/crud/write/replaceOne-collation.yml
1978
+ - spec/spec_tests/data/crud/write/updateMany.yml
1979
+ - spec/spec_tests/data/crud/write/findOneAndReplace.yml
1980
+ - spec/spec_tests/data/crud/write/deleteOne.yml
1663
1981
  - spec/spec_tests/data/crud/write/updateOne-collation.yml
1664
1982
  - spec/spec_tests/data/crud/write/updateOne-arrayFilters.yml
1665
- - spec/spec_tests/data/crud/write/updateMany-pre_2.6.yml
1983
+ - spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml
1666
1984
  - spec/spec_tests/data/crud/write/findOneAndReplace-upsert_pre_2.6.yml
1985
+ - spec/spec_tests/data/crud/write/bulkWrite-collation.yml
1986
+ - spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml
1987
+ - spec/spec_tests/data/crud/write/bulkWrite.yml
1988
+ - spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml
1667
1989
  - spec/spec_tests/data/crud/write/replaceOne-upsert.yml
1668
- - spec/spec_tests/data/crud/write/updateMany.yml
1669
- - spec/spec_tests/data/crud/write/findOneAndUpdate-arrayFilters.yml
1670
- - spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml
1671
- - spec/spec_tests/data/crud/write/deleteOne.yml
1672
- - spec/spec_tests/data/crud/write/insertMany.yml
1673
- - spec/spec_tests/data/crud/read/distinct.yml
1674
- - spec/spec_tests/data/crud/read/distinct-collation.yml
1675
- - spec/spec_tests/data/crud/read/find.yml
1676
- - spec/spec_tests/data/crud/read/count.yml
1677
- - spec/spec_tests/data/crud/read/count-empty.yml
1678
- - spec/spec_tests/data/crud/read/aggregate-out.yml
1679
- - spec/spec_tests/data/crud/read/find-collation.yml
1680
- - spec/spec_tests/data/crud/read/aggregate.yml
1681
- - spec/spec_tests/data/crud/read/count-collation.yml
1682
- - spec/spec_tests/data/crud/read/aggregate-collation.yml
1683
- - spec/spec_tests/data/retryable_reads/listCollections.yml
1684
- - spec/spec_tests/data/retryable_reads/estimatedDocumentCount.yml
1685
- - spec/spec_tests/data/retryable_reads/listCollectionObjects.yml
1686
- - spec/spec_tests/data/retryable_reads/listIndexes.yml
1990
+ - spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml
1991
+ - spec/spec_tests/data/crud/write/deleteOne-collation.yml
1992
+ - spec/spec_tests/data/crud/write/updateOne.yml
1993
+ - spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml
1994
+ - spec/spec_tests/data/connection_string/valid-unix_socket-relative.yml
1995
+ - spec/spec_tests/data/connection_string/valid-unix_socket-absolute.yml
1996
+ - spec/spec_tests/data/connection_string/valid-auth.yml
1997
+ - spec/spec_tests/data/connection_string/valid-options.yml
1998
+ - spec/spec_tests/data/connection_string/valid-db-with-dotted-name.yml
1999
+ - spec/spec_tests/data/connection_string/valid-warnings.yml
2000
+ - spec/spec_tests/data/connection_string/valid-host_identifiers.yml
2001
+ - spec/spec_tests/data/connection_string/invalid-uris.yml
2002
+ - spec/spec_tests/data/crud_v2/find-allowdiskuse-clientError.yml
2003
+ - spec/spec_tests/data/crud_v2/deleteMany-hint.yml
2004
+ - spec/spec_tests/data/crud_v2/unacknowledged-updateMany-hint-clientError.yml
2005
+ - spec/spec_tests/data/crud_v2/deleteOne-hint-serverError.yml
2006
+ - spec/spec_tests/data/crud_v2/db-aggregate.yml
2007
+ - spec/spec_tests/data/crud_v2/findOneAndDelete-hint.yml
2008
+ - spec/spec_tests/data/crud_v2/findOneAndUpdate-hint-clientError.yml
2009
+ - spec/spec_tests/data/crud_v2/findOneAndReplace-hint-serverError.yml
2010
+ - spec/spec_tests/data/crud_v2/updateOne-hint-clientError.yml
2011
+ - spec/spec_tests/data/crud_v2/updateMany-hint.yml
2012
+ - spec/spec_tests/data/crud_v2/findOneAndUpdate-hint-serverError.yml
2013
+ - spec/spec_tests/data/crud_v2/unacknowledged-replaceOne-hint-clientError.yml
2014
+ - spec/spec_tests/data/crud_v2/unacknowledged-findOneAndReplace-hint-clientError.yml
2015
+ - spec/spec_tests/data/crud_v2/unacknowledged-deleteOne-hint-clientError.yml
2016
+ - spec/spec_tests/data/crud_v2/unacknowledged-bulkWrite-update-hint-clientError.yml
2017
+ - spec/spec_tests/data/crud_v2/find-allowdiskuse.yml
2018
+ - spec/spec_tests/data/crud_v2/updateOne-hint-serverError.yml
2019
+ - spec/spec_tests/data/crud_v2/find-allowdiskuse-serverError.yml
2020
+ - spec/spec_tests/data/crud_v2/replaceOne-hint.yml
2021
+ - spec/spec_tests/data/crud_v2/unacknowledged-findOneAndDelete-hint-clientError.yml
2022
+ - spec/spec_tests/data/crud_v2/unacknowledged-deleteMany-hint-clientError.yml
2023
+ - spec/spec_tests/data/crud_v2/deleteMany-hint-clientError.yml
2024
+ - spec/spec_tests/data/crud_v2/bulkWrite-delete-hint-clientError.yml
2025
+ - spec/spec_tests/data/crud_v2/findOneAndReplace-hint-clientError.yml
2026
+ - spec/spec_tests/data/crud_v2/updateOne-hint.yml
2027
+ - spec/spec_tests/data/crud_v2/bulkWrite-delete-hint-serverError.yml
2028
+ - spec/spec_tests/data/crud_v2/deleteOne-hint.yml
2029
+ - spec/spec_tests/data/crud_v2/bulkWrite-update-hint.yml
2030
+ - spec/spec_tests/data/crud_v2/updateWithPipelines.yml
2031
+ - spec/spec_tests/data/crud_v2/findOneAndDelete-hint-clientError.yml
2032
+ - spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml
2033
+ - spec/spec_tests/data/crud_v2/findOneAndUpdate-hint.yml
2034
+ - spec/spec_tests/data/crud_v2/findOneAndDelete-hint-serverError.yml
2035
+ - spec/spec_tests/data/crud_v2/updateMany-hint-clientError.yml
2036
+ - spec/spec_tests/data/crud_v2/bulkWrite-update-hint-clientError.yml
2037
+ - spec/spec_tests/data/crud_v2/deleteOne-hint-clientError.yml
2038
+ - spec/spec_tests/data/crud_v2/unacknowledged-updateOne-hint-clientError.yml
2039
+ - spec/spec_tests/data/crud_v2/aggregate-merge.yml
2040
+ - spec/spec_tests/data/crud_v2/deleteMany-hint-serverError.yml
2041
+ - spec/spec_tests/data/crud_v2/unacknowledged-findOneAndUpdate-hint-clientError.yml
2042
+ - spec/spec_tests/data/crud_v2/findOneAndReplace-hint.yml
2043
+ - spec/spec_tests/data/crud_v2/updateMany-hint-serverError.yml
2044
+ - spec/spec_tests/data/crud_v2/bulkWrite-update-hint-serverError.yml
2045
+ - spec/spec_tests/data/crud_v2/unacknowledged-bulkWrite-delete-hint-clientError.yml
2046
+ - spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml
2047
+ - spec/spec_tests/data/crud_v2/bulkWrite-delete-hint.yml
1687
2048
  - spec/spec_tests/data/retryable_reads/changeStreams-client.watch.yml
2049
+ - spec/spec_tests/data/retryable_reads/listCollectionNames-serverErrors.yml
2050
+ - spec/spec_tests/data/retryable_reads/findOne.yml
1688
2051
  - spec/spec_tests/data/retryable_reads/listIndexes-serverErrors.yml
1689
- - spec/spec_tests/data/retryable_reads/changeStreams-db.watch-serverErrors.yml
1690
- - spec/spec_tests/data/retryable_reads/gridfs-downloadByName.yml
2052
+ - spec/spec_tests/data/retryable_reads/listCollections.yml
2053
+ - spec/spec_tests/data/retryable_reads/count-serverErrors.yml
1691
2054
  - spec/spec_tests/data/retryable_reads/countDocuments-serverErrors.yml
1692
- - spec/spec_tests/data/retryable_reads/listCollections-serverErrors.yml
1693
- - spec/spec_tests/data/retryable_reads/listCollectionObjects-serverErrors.yml
1694
- - spec/spec_tests/data/retryable_reads/findOne.yml
1695
- - spec/spec_tests/data/retryable_reads/listCollectionNames-serverErrors.yml
2055
+ - spec/spec_tests/data/retryable_reads/gridfs-download.yml
2056
+ - spec/spec_tests/data/retryable_reads/changeStreams-client.watch-serverErrors.yml
2057
+ - spec/spec_tests/data/retryable_reads/find-serverErrors.yml
1696
2058
  - spec/spec_tests/data/retryable_reads/gridfs-download-serverErrors.yml
1697
- - spec/spec_tests/data/retryable_reads/distinct.yml
1698
- - spec/spec_tests/data/retryable_reads/estimatedDocumentCount-serverErrors.yml
2059
+ - spec/spec_tests/data/retryable_reads/listIndexes.yml
2060
+ - spec/spec_tests/data/retryable_reads/mapReduce.yml
1699
2061
  - spec/spec_tests/data/retryable_reads/aggregate-serverErrors.yml
1700
- - spec/spec_tests/data/retryable_reads/listCollectionNames.yml
1701
- - spec/spec_tests/data/retryable_reads/find.yml
2062
+ - spec/spec_tests/data/retryable_reads/distinct-serverErrors.yml
1702
2063
  - spec/spec_tests/data/retryable_reads/gridfs-downloadByName-serverErrors.yml
1703
- - spec/spec_tests/data/retryable_reads/listDatabaseObjects.yml
1704
2064
  - spec/spec_tests/data/retryable_reads/listDatabases.yml
1705
- - spec/spec_tests/data/retryable_reads/listDatabases-serverErrors.yml
1706
- - spec/spec_tests/data/retryable_reads/listDatabaseObjects-serverErrors.yml
1707
- - spec/spec_tests/data/retryable_reads/listIndexNames.yml
1708
- - spec/spec_tests/data/retryable_reads/mapReduce.yml
1709
- - spec/spec_tests/data/retryable_reads/count-serverErrors.yml
1710
- - spec/spec_tests/data/retryable_reads/aggregate-merge.yml
2065
+ - spec/spec_tests/data/retryable_reads/listDatabaseNames-serverErrors.yml
2066
+ - spec/spec_tests/data/retryable_reads/changeStreams-db.watch.yml
2067
+ - spec/spec_tests/data/retryable_reads/find.yml
2068
+ - spec/spec_tests/data/retryable_reads/findOne-serverErrors.yml
1711
2069
  - spec/spec_tests/data/retryable_reads/countDocuments.yml
2070
+ - spec/spec_tests/data/retryable_reads/estimatedDocumentCount-serverErrors.yml
2071
+ - spec/spec_tests/data/retryable_reads/listCollectionNames.yml
2072
+ - spec/spec_tests/data/retryable_reads/listCollectionObjects-serverErrors.yml
1712
2073
  - spec/spec_tests/data/retryable_reads/count.yml
1713
- - spec/spec_tests/data/retryable_reads/changeStreams-db.watch.yml
2074
+ - spec/spec_tests/data/retryable_reads/listDatabaseNames.yml
2075
+ - spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch.yml
2076
+ - spec/spec_tests/data/retryable_reads/listDatabases-serverErrors.yml
2077
+ - spec/spec_tests/data/retryable_reads/listDatabaseObjects.yml
2078
+ - spec/spec_tests/data/retryable_reads/listCollectionObjects.yml
2079
+ - spec/spec_tests/data/retryable_reads/listDatabaseObjects-serverErrors.yml
2080
+ - spec/spec_tests/data/retryable_reads/gridfs-downloadByName.yml
1714
2081
  - spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch-serverErrors.yml
1715
- - spec/spec_tests/data/retryable_reads/distinct-serverErrors.yml
1716
- - spec/spec_tests/data/retryable_reads/gridfs-download.yml
1717
- - spec/spec_tests/data/retryable_reads/findOne-serverErrors.yml
2082
+ - spec/spec_tests/data/retryable_reads/distinct.yml
2083
+ - spec/spec_tests/data/retryable_reads/listCollections-serverErrors.yml
2084
+ - spec/spec_tests/data/retryable_reads/aggregate-merge.yml
1718
2085
  - spec/spec_tests/data/retryable_reads/listIndexNames-serverErrors.yml
1719
- - spec/spec_tests/data/retryable_reads/find-serverErrors.yml
1720
- - spec/spec_tests/data/retryable_reads/changeStreams-client.watch-serverErrors.yml
1721
- - spec/spec_tests/data/retryable_reads/listDatabaseNames-serverErrors.yml
2086
+ - spec/spec_tests/data/retryable_reads/estimatedDocumentCount.yml
2087
+ - spec/spec_tests/data/retryable_reads/changeStreams-db.watch-serverErrors.yml
1722
2088
  - spec/spec_tests/data/retryable_reads/aggregate.yml
1723
- - spec/spec_tests/data/retryable_reads/listDatabaseNames.yml
1724
- - spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch.yml
1725
- - spec/spec_tests/data/sdam/single/direct_connection_slave.yml
1726
- - spec/spec_tests/data/sdam/single/not_ok_response.yml
1727
- - spec/spec_tests/data/sdam/single/too_old.yml
1728
- - spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml
1729
- - spec/spec_tests/data/sdam/single/unavailable_seed.yml
1730
- - spec/spec_tests/data/sdam/single/standalone_removed.yml
1731
- - spec/spec_tests/data/sdam/single/direct_connection_mongos.yml
1732
- - spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml
1733
- - spec/spec_tests/data/sdam/single/compatible.yml
1734
- - spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml
1735
- - spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml
1736
- - spec/spec_tests/data/sdam/single/primary_address_change.yml
1737
- - spec/spec_tests/data/sdam/single/too_new.yml
1738
- - spec/spec_tests/data/sdam/single/primary_mismatched_me.yml
1739
- - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
1740
- - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
2089
+ - spec/spec_tests/data/retryable_reads/listIndexNames.yml
2090
+ - spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml
2091
+ - spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml
2092
+ - spec/spec_tests/data/client_side_encryption/localSchema.yml
2093
+ - spec/spec_tests/data/client_side_encryption/delete.yml
2094
+ - spec/spec_tests/data/client_side_encryption/find.yml
2095
+ - spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml
2096
+ - spec/spec_tests/data/client_side_encryption/countDocuments.yml
2097
+ - spec/spec_tests/data/client_side_encryption/maxWireVersion.yml
2098
+ - spec/spec_tests/data/client_side_encryption/bulk.yml
2099
+ - spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml
2100
+ - spec/spec_tests/data/client_side_encryption/replaceOne.yml
2101
+ - spec/spec_tests/data/client_side_encryption/count.yml
2102
+ - spec/spec_tests/data/client_side_encryption/getMore.yml
2103
+ - spec/spec_tests/data/client_side_encryption/badSchema.yml
2104
+ - spec/spec_tests/data/client_side_encryption/updateMany.yml
2105
+ - spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml
2106
+ - spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml
2107
+ - spec/spec_tests/data/client_side_encryption/types.yml
2108
+ - spec/spec_tests/data/client_side_encryption/badQueries.yml
2109
+ - spec/spec_tests/data/client_side_encryption/distinct.yml
2110
+ - spec/spec_tests/data/client_side_encryption/basic.yml
2111
+ - spec/spec_tests/data/client_side_encryption/bypassedCommand.yml
2112
+ - spec/spec_tests/data/client_side_encryption/explain.yml
2113
+ - spec/spec_tests/data/client_side_encryption/insert.yml
2114
+ - spec/spec_tests/data/client_side_encryption/localKMS.yml
2115
+ - spec/spec_tests/data/client_side_encryption/aggregate.yml
2116
+ - spec/spec_tests/data/client_side_encryption/updateOne.yml
2117
+ - spec/spec_tests/data/client_side_encryption/missingKey.yml
2118
+ - spec/spec_tests/data/client_side_encryption/keyAltName.yml
2119
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.4.yml
2120
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-4.2.yml
2121
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-2.6.yml
2122
+ - spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.2.yml
2123
+ - spec/spec_tests/data/read_write_concern/connection-string/read-concern.yml
2124
+ - spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml
2125
+ - spec/spec_tests/data/read_write_concern/document/read-concern.yml
2126
+ - spec/spec_tests/data/read_write_concern/document/write-concern.yml
2127
+ - spec/spec_tests/data/transactions/mongos-recovery-token.yml
2128
+ - spec/spec_tests/data/transactions/findOneAndUpdate.yml
2129
+ - spec/spec_tests/data/transactions/causal-consistency.yml
2130
+ - spec/spec_tests/data/transactions/errors-client.yml
2131
+ - spec/spec_tests/data/transactions/read-concern.yml
2132
+ - spec/spec_tests/data/transactions/write-concern.yml
2133
+ - spec/spec_tests/data/transactions/retryable-commit.yml
2134
+ - spec/spec_tests/data/transactions/delete.yml
2135
+ - spec/spec_tests/data/transactions/reads.yml
2136
+ - spec/spec_tests/data/transactions/retryable-abort.yml
2137
+ - spec/spec_tests/data/transactions/error-labels.yml
2138
+ - spec/spec_tests/data/transactions/transaction-options.yml
2139
+ - spec/spec_tests/data/transactions/retryable-writes.yml
2140
+ - spec/spec_tests/data/transactions/bulk.yml
2141
+ - spec/spec_tests/data/transactions/findOneAndDelete.yml
2142
+ - spec/spec_tests/data/transactions/count.yml
2143
+ - spec/spec_tests/data/transactions/mongos-pin-auto.yml
2144
+ - spec/spec_tests/data/transactions/commit.yml
2145
+ - spec/spec_tests/data/transactions/findOneAndReplace.yml
2146
+ - spec/spec_tests/data/transactions/transaction-options-repl.yml
2147
+ - spec/spec_tests/data/transactions/retryable-commit-errorLabels.yml
2148
+ - spec/spec_tests/data/transactions/create-collection.yml
2149
+ - spec/spec_tests/data/transactions/retryable-abort-errorLabels.yml
2150
+ - spec/spec_tests/data/transactions/pin-mongos.yml
2151
+ - spec/spec_tests/data/transactions/isolation.yml
2152
+ - spec/spec_tests/data/transactions/read-pref.yml
2153
+ - spec/spec_tests/data/transactions/abort.yml
2154
+ - spec/spec_tests/data/transactions/run-command.yml
2155
+ - spec/spec_tests/data/transactions/create-index.yml
2156
+ - spec/spec_tests/data/transactions/insert.yml
2157
+ - spec/spec_tests/data/transactions/errors.yml
2158
+ - spec/spec_tests/data/transactions/update.yml
2159
+ - spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml
2160
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml
2161
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml
2162
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml
2163
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Incompatible.yml
2164
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml
2165
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml
2166
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml
2167
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml
2168
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml
2169
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml
2170
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml
2171
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml
2172
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml
2173
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.yml
2174
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml
2175
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml
2176
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml
2177
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml
2178
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml
2179
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Incompatible.yml
2180
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml
2181
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml
2182
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml
2183
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml
2184
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml
2185
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml
2186
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml
2187
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml
2188
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml
2189
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml
2190
+ - spec/spec_tests/data/max_staleness/Sharded/Incompatible.yml
2191
+ - spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml
2192
+ - spec/spec_tests/data/max_staleness/Single/Incompatible.yml
2193
+ - spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml
2194
+ - spec/spec_tests/data/cmap/wait-queue-timeout.yml
2195
+ - spec/spec_tests/data/cmap/pool-create-with-options.yml
2196
+ - spec/spec_tests/data/cmap/pool-create.yml
2197
+ - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
2198
+ - spec/spec_tests/data/cmap/pool-create-min-size.yml
2199
+ - spec/spec_tests/data/cmap/pool-checkout-no-idle.yml
2200
+ - spec/spec_tests/data/cmap/pool-checkout-connection.yml
2201
+ - spec/spec_tests/data/cmap/connection-must-order-ids.yml
2202
+ - spec/spec_tests/data/cmap/pool-close-destroy-conns.yml
2203
+ - spec/spec_tests/data/cmap/pool-checkout-no-stale.yml
2204
+ - spec/spec_tests/data/cmap/pool-close.yml
2205
+ - spec/spec_tests/data/cmap/connection-must-have-id.yml
2206
+ - spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml
2207
+ - spec/spec_tests/data/cmap/pool-checkout-error-closed.yml
2208
+ - spec/spec_tests/data/cmap/pool-checkin.yml
2209
+ - spec/spec_tests/data/cmap/pool-checkin-make-available.yml
2210
+ - spec/spec_tests/data/cmap/pool-checkout-multiple.yml
2211
+ - spec/spec_tests/data/cmap/wait-queue-fairness.yml
2212
+ - spec/spec_tests/data/cmap/pool-create-max-size.yml
2213
+ - spec/spec_tests/data/sdam/sharded/too_new.yml
2214
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_mismatched_me.yml
1741
2215
  - spec/spec_tests/data/sdam/sharded/too_old.yml
1742
- - spec/spec_tests/data/sdam/sharded/compatible.yml
1743
- - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
1744
2216
  - spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml
2217
+ - spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml
2218
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_different_address.yml
2219
+ - spec/spec_tests/data/sdam/sharded/discover_single_mongos.yml
1745
2220
  - spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml
1746
- - spec/spec_tests/data/sdam/sharded/primary_address_change.yml
1747
- - spec/spec_tests/data/sdam/sharded/too_new.yml
1748
- - spec/spec_tests/data/sdam/sharded/primary_mismatched_me.yml
1749
- - spec/spec_tests/data/sdam/sharded/single_mongos.yml
2221
+ - spec/spec_tests/data/sdam/sharded/compatible.yml
2222
+ - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
1750
2223
  - spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml
1751
- - spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml
1752
- - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml
1753
- - spec/spec_tests/data/sdam/rs/rsother_discovered.yml
1754
- - spec/spec_tests/data/sdam/rs/too_old.yml
2224
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-timeout.yml
2225
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedAtShutdown.yml
2226
+ - spec/spec_tests/data/sdam/errors/stale-generation-InterruptedDueToReplStateChange.yml
2227
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMasterOrSecondary.yml
2228
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMaster.yml
2229
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMasterOrSecondary.yml
2230
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-PrimarySteppedDown.yml
2231
+ - spec/spec_tests/data/sdam/errors/pre-42-PrimarySteppedDown.yml
2232
+ - spec/spec_tests/data/sdam/errors/post-42-NotMaster.yml
2233
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMasterNoSlaveOk.yml
2234
+ - spec/spec_tests/data/sdam/errors/post-42-InterruptedDueToReplStateChange.yml
2235
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-ShutdownInProgress.yml
2236
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMasterOrSecondary.yml
2237
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMaster.yml
2238
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMasterNoSlaveOk.yml
2239
+ - spec/spec_tests/data/sdam/errors/pre-42-InterruptedAtShutdown.yml
2240
+ - spec/spec_tests/data/sdam/errors/stale-generation-NotMasterNoSlaveOk.yml
2241
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedAtShutdown.yml
2242
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedDueToReplStateChange.yml
2243
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-PrimarySteppedDown.yml
2244
+ - spec/spec_tests/data/sdam/errors/post-42-PrimarySteppedDown.yml
2245
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedDueToReplStateChange.yml
2246
+ - spec/spec_tests/data/sdam/errors/pre-42-NotMasterNoSlaveOk.yml
2247
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMaster.yml
2248
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedDueToReplStateChange.yml
2249
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-ShutdownInProgress.yml
2250
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotMasterNoSlaveOk.yml
2251
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMaster.yml
2252
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedAtShutdown.yml
2253
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-PrimarySteppedDown.yml
2254
+ - spec/spec_tests/data/sdam/errors/stale-generation-NotMasterOrSecondary.yml
2255
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-PrimarySteppedDown.yml
2256
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMasterOrSecondary.yml
2257
+ - spec/spec_tests/data/sdam/errors/pre-42-NotMasterOrSecondary.yml
2258
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-ShutdownInProgress.yml
2259
+ - spec/spec_tests/data/sdam/errors/post-42-NotMasterOrSecondary.yml
2260
+ - spec/spec_tests/data/sdam/errors/pre-42-InterruptedDueToReplStateChange.yml
2261
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-ShutdownInProgress.yml
2262
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-PrimarySteppedDown.yml
2263
+ - spec/spec_tests/data/sdam/errors/post-42-ShutdownInProgress.yml
2264
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotMasterOrSecondary.yml
2265
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMasterNoSlaveOk.yml
2266
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMasterOrSecondary.yml
2267
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotMasterNoSlaveOk.yml
2268
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedAtShutdown.yml
2269
+ - spec/spec_tests/data/sdam/errors/non-stale-network-error.yml
2270
+ - spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotMaster.yml
2271
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-PrimarySteppedDown.yml
2272
+ - spec/spec_tests/data/sdam/errors/post-42-NotMasterNoSlaveOk.yml
2273
+ - spec/spec_tests/data/sdam/errors/stale-generation-ShutdownInProgress.yml
2274
+ - spec/spec_tests/data/sdam/errors/stale-generation-NotMaster.yml
2275
+ - spec/spec_tests/data/sdam/errors/pre-42-ShutdownInProgress.yml
2276
+ - spec/spec_tests/data/sdam/errors/pre-42-NotMaster.yml
2277
+ - spec/spec_tests/data/sdam/errors/error_handling_handshake.yml
2278
+ - spec/spec_tests/data/sdam/errors/post-42-InterruptedAtShutdown.yml
2279
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedAtShutdown.yml
2280
+ - spec/spec_tests/data/sdam/errors/stale-generation-PrimarySteppedDown.yml
2281
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-network.yml
2282
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-network.yml
2283
+ - spec/spec_tests/data/sdam/errors/non-stale-network-timeout-error.yml
2284
+ - spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-timeout.yml
2285
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedDueToReplStateChange.yml
2286
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotMasterNoSlaveOk.yml
2287
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-ShutdownInProgress.yml
2288
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedDueToReplStateChange.yml
2289
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedAtShutdown.yml
2290
+ - spec/spec_tests/data/sdam/errors/stale-generation-InterruptedAtShutdown.yml
2291
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotMaster.yml
2292
+ - spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedDueToReplStateChange.yml
2293
+ - spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-ShutdownInProgress.yml
2294
+ - spec/spec_tests/data/sdam/rs/discover_rsother.yml
2295
+ - spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml
2296
+ - spec/spec_tests/data/sdam/rs/discover_arbiters_replicaset.yml
2297
+ - spec/spec_tests/data/sdam/rs/response_from_removed.yml
1755
2298
  - spec/spec_tests/data/sdam/rs/ls_timeout.yml
1756
- - spec/spec_tests/data/sdam/rs/discover_secondary.yml
1757
- - spec/spec_tests/data/sdam/rs/non_rs_member.yml
1758
- - spec/spec_tests/data/sdam/rs/discover_primary.yml
1759
- - spec/spec_tests/data/sdam/rs/wrong_set_name.yml
1760
- - spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml
2299
+ - spec/spec_tests/data/sdam/rs/normalize_case_me.yml
2300
+ - spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml
1761
2301
  - spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml
2302
+ - spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml
2303
+ - spec/spec_tests/data/sdam/rs/topology_version_greater.yml
2304
+ - spec/spec_tests/data/sdam/rs/null_election_id.yml
2305
+ - spec/spec_tests/data/sdam/rs/compatible_unknown.yml
2306
+ - spec/spec_tests/data/sdam/rs/incompatible_ghost.yml
2307
+ - spec/spec_tests/data/sdam/rs/unexpected_mongos.yml
2308
+ - spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml
1762
2309
  - spec/spec_tests/data/sdam/rs/primary_disconnect_electionid.yml
1763
- - spec/spec_tests/data/sdam/rs/sec_not_auth.yml
1764
- - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary_second.yml
2310
+ - spec/spec_tests/data/sdam/rs/replicaset_rsnp.yml
2311
+ - spec/spec_tests/data/sdam/rs/member_reconfig.yml
2312
+ - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml
2313
+ - spec/spec_tests/data/sdam/rs/new_primary.yml
2314
+ - spec/spec_tests/data/sdam/rs/too_new.yml
2315
+ - spec/spec_tests/data/sdam/rs/wrong_set_name.yml
1765
2316
  - spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml
1766
- - spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml
1767
2317
  - spec/spec_tests/data/sdam/rs/use_setversion_without_electionid.yml
1768
- - spec/spec_tests/data/sdam/rs/compatible.yml
1769
- - spec/spec_tests/data/sdam/rs/primary_disconnect.yml
1770
- - spec/spec_tests/data/sdam/rs/new_primary.yml
1771
- - spec/spec_tests/data/sdam/rs/discovery.yml
1772
- - spec/spec_tests/data/sdam/rs/normalize_case.yml
1773
- - spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml
2318
+ - spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml
2319
+ - spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml
2320
+ - spec/spec_tests/data/sdam/rs/discover_ghost_replicaset.yml
2321
+ - spec/spec_tests/data/sdam/rs/discover_rsother_replicaset.yml
2322
+ - spec/spec_tests/data/sdam/rs/topology_version_less.yml
2323
+ - spec/spec_tests/data/sdam/rs/ruby_primary_address_change.yml
1774
2324
  - spec/spec_tests/data/sdam/rs/equal_electionids.yml
2325
+ - spec/spec_tests/data/sdam/rs/non_rs_member.yml
2326
+ - spec/spec_tests/data/sdam/rs/incompatible_other.yml
2327
+ - spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml
2328
+ - spec/spec_tests/data/sdam/rs/sec_not_auth.yml
2329
+ - spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml
1775
2330
  - spec/spec_tests/data/sdam/rs/discover_passives.yml
1776
- - spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml
1777
- - spec/spec_tests/data/sdam/rs/compatible_unknown.yml
2331
+ - spec/spec_tests/data/sdam/rs/primary_disconnect.yml
2332
+ - spec/spec_tests/data/sdam/rs/too_old.yml
2333
+ - spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml
2334
+ - spec/spec_tests/data/sdam/rs/discover_hidden.yml
2335
+ - spec/spec_tests/data/sdam/rs/discover_secondary_replicaset.yml
2336
+ - spec/spec_tests/data/sdam/rs/discover_primary_replicaset.yml
2337
+ - spec/spec_tests/data/sdam/rs/discover_arbiters.yml
2338
+ - spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml
2339
+ - spec/spec_tests/data/sdam/rs/topology_version_equal.yml
2340
+ - spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml
2341
+ - spec/spec_tests/data/sdam/rs/discover_ghost.yml
2342
+ - spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml
2343
+ - spec/spec_tests/data/sdam/rs/repeated.yml
2344
+ - spec/spec_tests/data/sdam/rs/normalize_case.yml
2345
+ - spec/spec_tests/data/sdam/rs/ruby_secondary_wrong_set_name_with_primary_second.yml
2346
+ - spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml
2347
+ - spec/spec_tests/data/sdam/rs/discover_primary.yml
2348
+ - spec/spec_tests/data/sdam/rs/new_primary_new_setversion.yml
2349
+ - spec/spec_tests/data/sdam/rs/compatible.yml
2350
+ - spec/spec_tests/data/sdam/rs/discover_secondary.yml
1778
2351
  - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary.yml
1779
- - spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml
1780
2352
  - spec/spec_tests/data/sdam/rs/primary_changes_set_name.yml
1781
- - spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml
1782
- - spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml
1783
- - spec/spec_tests/data/sdam/rs/primary_address_change.yml
1784
- - spec/spec_tests/data/sdam/rs/too_new.yml
1785
2353
  - spec/spec_tests/data/sdam/rs/member_standalone.yml
1786
- - spec/spec_tests/data/sdam/rs/incompatible_ghost.yml
1787
- - spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml
1788
- - spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml
1789
- - spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml
1790
- - spec/spec_tests/data/sdam/rs/unexpected_mongos.yml
1791
- - spec/spec_tests/data/sdam/rs/new_primary_new_setversion.yml
1792
- - spec/spec_tests/data/sdam/rs/member_reconfig.yml
1793
- - spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml
1794
- - spec/spec_tests/data/sdam/rs/response_from_removed.yml
1795
- - spec/spec_tests/data/sdam/rs/ghost_discovered.yml
2354
+ - spec/spec_tests/data/sdam/rs/discovery.yml
2355
+ - spec/spec_tests/data/sdam/rs/discover_hidden_replicaset.yml
1796
2356
  - spec/spec_tests/data/sdam/rs/new_primary_new_electionid.yml
1797
- - spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml
1798
- - spec/spec_tests/data/sdam/rs/normalize_case_me.yml
1799
- - spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml
1800
- - spec/spec_tests/data/sdam/rs/incompatible_other.yml
1801
- - spec/spec_tests/data/sdam/rs/null_election_id.yml
1802
- - spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml
1803
- - spec/spec_tests/data/sdam/rs/discover_arbiters.yml
1804
- - spec/spec_tests/data/auth/connection-string.yml
1805
- - spec/spec_tests/data/dns_seedlist_discovery/misformatted-option.yml
1806
- - spec/spec_tests/data/dns_seedlist_discovery/no-results.yml
1807
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-unallowed-option.yml
1808
- - spec/spec_tests/data/dns_seedlist_discovery/one-result-default-port.yml
1809
- - spec/spec_tests/data/dns_seedlist_discovery/two-results-default-port.yml
1810
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch3.yml
1811
- - spec/spec_tests/data/dns_seedlist_discovery/not-enough-parts.yml
1812
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch2.yml
1813
- - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record-multiple-strings.yml
1814
- - spec/spec_tests/data/dns_seedlist_discovery/two-txt-records.yml
1815
- - spec/spec_tests/data/dns_seedlist_discovery/longer-parent-in-return.yml
1816
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch4.yml
1817
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch1.yml
1818
- - spec/spec_tests/data/dns_seedlist_discovery/uri-with-two-hosts.yml
1819
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-ssl-option.yml
1820
- - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-wrong.yml
1821
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-uri-option.yml
1822
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-not-allowed-option.yml
1823
- - spec/spec_tests/data/dns_seedlist_discovery/uri-with-port.yml
1824
- - spec/spec_tests/data/dns_seedlist_discovery/two-results-nonstandard-port.yml
1825
- - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-too-short.yml
1826
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch5.yml
1827
- - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record.yml
1828
- - spec/spec_tests/data/server_selection_rtt/value_test_2.yml
2357
+ - spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml
2358
+ - spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml
2359
+ - spec/spec_tests/data/sdam/rs/discover_passives_replicaset.yml
2360
+ - spec/spec_tests/data/sdam/single/discover_standalone.yml
2361
+ - spec/spec_tests/data/sdam/single/direct_connection_unavailable_seed.yml
2362
+ - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
2363
+ - spec/spec_tests/data/sdam/single/discover_unavailable_seed.yml
2364
+ - spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml
2365
+ - spec/spec_tests/data/sdam/single/not_ok_response.yml
2366
+ - spec/spec_tests/data/sdam/single/direct_connection_replicaset.yml
2367
+ - spec/spec_tests/data/sdam/single/too_new.yml
2368
+ - spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml
2369
+ - spec/spec_tests/data/sdam/single/standalone_removed.yml
2370
+ - spec/spec_tests/data/sdam/single/ruby_primary_mismatched_me.yml
2371
+ - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
2372
+ - spec/spec_tests/data/sdam/single/too_old.yml
2373
+ - spec/spec_tests/data/sdam/single/ruby_primary_different_address.yml
2374
+ - spec/spec_tests/data/sdam/single/direct_connection_mongos.yml
2375
+ - spec/spec_tests/data/sdam/single/direct_connection_slave.yml
2376
+ - spec/spec_tests/data/sdam/single/compatible.yml
2377
+ - spec/spec_tests/data/sdam/single/direct_connection_wrong_set_name.yml
2378
+ - spec/spec_tests/data/sdam/single/too_old_then_upgraded.yml
2379
+ - spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml
2380
+ - spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml
2381
+ - spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml
2382
+ - spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml
2383
+ - spec/spec_tests/data/transactions_api/callback-aborts.yml
2384
+ - spec/spec_tests/data/transactions_api/callback-retry.yml
2385
+ - spec/spec_tests/data/transactions_api/commit-retry.yml
2386
+ - spec/spec_tests/data/transactions_api/transaction-options.yml
2387
+ - spec/spec_tests/data/transactions_api/callback-commits.yml
2388
+ - spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml
2389
+ - spec/spec_tests/data/transactions_api/commit.yml
1829
2390
  - spec/spec_tests/data/server_selection_rtt/value_test_1.yml
2391
+ - spec/spec_tests/data/server_selection_rtt/value_test_2.yml
2392
+ - spec/spec_tests/data/server_selection_rtt/value_test_3.yml
2393
+ - spec/spec_tests/data/server_selection_rtt/first_value.yml
1830
2394
  - spec/spec_tests/data/server_selection_rtt/value_test_4.yml
1831
2395
  - spec/spec_tests/data/server_selection_rtt/value_test_5.yml
1832
2396
  - spec/spec_tests/data/server_selection_rtt/first_value_zero.yml
1833
- - spec/spec_tests/data/server_selection_rtt/first_value.yml
1834
- - spec/spec_tests/data/server_selection_rtt/value_test_3.yml
1835
- - spec/spec_tests/data/read_write_concern/document/write-concern.yml
1836
- - spec/spec_tests/data/read_write_concern/document/read-concern.yml
1837
- - spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml
1838
- - spec/spec_tests/data/read_write_concern/connection-string/read-concern.yml
1839
- - spec/spec_tests/data/transactions/errors.yml
1840
- - spec/spec_tests/data/transactions/update.yml
1841
- - spec/spec_tests/data/transactions/isolation.yml
1842
- - spec/spec_tests/data/transactions/transaction-options.yml
1843
- - spec/spec_tests/data/transactions/write-concern.yml
1844
- - spec/spec_tests/data/transactions/transaction-options-repl.yml
1845
- - spec/spec_tests/data/transactions/errors-client.yml
1846
- - spec/spec_tests/data/transactions/read-pref.yml
1847
- - spec/spec_tests/data/transactions/findOneAndDelete.yml
1848
- - spec/spec_tests/data/transactions/mongos-pin-auto.yml
1849
- - spec/spec_tests/data/transactions/error-labels.yml
1850
- - spec/spec_tests/data/transactions/retryable-commit.yml
1851
- - spec/spec_tests/data/transactions/read-concern.yml
1852
- - spec/spec_tests/data/transactions/bulk.yml
1853
- - spec/spec_tests/data/transactions/pin-mongos.yml
1854
- - spec/spec_tests/data/transactions/reads.yml
1855
- - spec/spec_tests/data/transactions/count.yml
1856
- - spec/spec_tests/data/transactions/findOneAndReplace.yml
1857
- - spec/spec_tests/data/transactions/findOneAndUpdate.yml
1858
- - spec/spec_tests/data/transactions/abort.yml
1859
- - spec/spec_tests/data/transactions/retryable-abort.yml
1860
- - spec/spec_tests/data/transactions/insert.yml
1861
- - spec/spec_tests/data/transactions/retryable-writes.yml
1862
- - spec/spec_tests/data/transactions/causal-consistency.yml
1863
- - spec/spec_tests/data/transactions/run-command.yml
1864
- - spec/spec_tests/data/transactions/delete.yml
1865
- - spec/spec_tests/data/transactions/mongos-recovery-token.yml
1866
- - spec/spec_tests/data/transactions/commit.yml
1867
- - spec/spec_tests/crud_spec.rb
1868
- - spec/spec_tests/max_staleness_spec.rb
1869
- - spec/spec_tests/sdam_spec.rb
2397
+ - spec/spec_tests/retryable_reads_spec.rb
1870
2398
  - spec/spec_tests/read_write_concern_document_spec.rb
1871
2399
  - spec/spec_tests/server_selection_rtt_spec.rb
1872
- - spec/spec_tests/change_streams_spec.rb
1873
2400
  - spec/spec_tests/retryable_writes_spec.rb
1874
- - spec/spec_tests/uri_options_spec.rb
1875
- - spec/spec_tests/connection_string_spec.rb
1876
- - spec/spec_tests/transactions_api_spec.rb
1877
- - spec/spec_tests/server_selection_spec.rb
1878
2401
  - spec/spec_tests/command_monitoring_spec.rb
1879
- - spec/spec_tests/cmap_spec.rb
1880
- - spec/spec_tests/retryable_reads_spec.rb
1881
- - spec/spec_tests/gridfs_spec.rb
2402
+ - spec/spec_tests/transactions_api_spec.rb
1882
2403
  - spec/spec_tests/read_write_concern_connection_string_spec.rb
1883
- - spec/spec_tests/auth_spec.rb
2404
+ - spec/spec_tests/sdam_spec.rb
1884
2405
  - spec/spec_tests/sdam_monitoring_spec.rb
2406
+ - spec/spec_tests/cmap_spec.rb
2407
+ - spec/spec_tests/gridfs_spec.rb
2408
+ - spec/spec_tests/uri_options_spec.rb
2409
+ - spec/spec_tests/crud_spec.rb
2410
+ - spec/spec_tests/change_streams_spec.rb
2411
+ - spec/spec_tests/server_selection_spec.rb
2412
+ - spec/spec_tests/client_side_encryption_spec.rb
1885
2413
  - spec/spec_tests/transactions_spec.rb
1886
- - spec/spec_tests/dns_seedlist_discovery_spec.rb
1887
- - spec/runners/connection_string.rb
1888
- - spec/runners/read_write_concern_document.rb
1889
- - spec/runners/sdam/verifier.rb
2414
+ - spec/spec_tests/read_write_concern_operaton_spec.rb
2415
+ - spec/spec_tests/max_staleness_spec.rb
2416
+ - spec/spec_helper.rb
2417
+ - spec/integration/transactions_api_examples_spec.rb
2418
+ - spec/integration/auth_spec.rb
2419
+ - spec/integration/client_spec.rb
2420
+ - spec/integration/heartbeat_events_spec.rb
2421
+ - spec/integration/step_down_spec.rb
2422
+ - spec/integration/x509_auth_spec.rb
2423
+ - spec/integration/srv_monitoring_spec.rb
2424
+ - spec/integration/error_detection_spec.rb
2425
+ - spec/integration/mmapv1_spec.rb
2426
+ - spec/integration/transactions_examples_spec.rb
2427
+ - spec/integration/fork_reconnect_spec.rb
2428
+ - spec/integration/aws_auth_request_spec.rb
2429
+ - spec/integration/aws_credentials_retriever_spec.rb
2430
+ - spec/integration/connection_pool_populator_spec.rb
2431
+ - spec/integration/server_description_spec.rb
2432
+ - spec/integration/command_spec.rb
2433
+ - spec/integration/command_monitoring_spec.rb
2434
+ - spec/integration/read_preference_spec.rb
2435
+ - spec/integration/size_limit_spec.rb
2436
+ - spec/integration/connect_single_rs_name_spec.rb
2437
+ - spec/integration/retryable_writes_errors_spec.rb
2438
+ - spec/integration/change_stream_spec.rb
2439
+ - spec/integration/retryable_writes/shared/supports_legacy_retries.rb
2440
+ - spec/integration/retryable_writes/shared/performs_no_retries.rb
2441
+ - spec/integration/retryable_writes/shared/supports_modern_retries.rb
2442
+ - spec/integration/retryable_writes/shared/performs_modern_retries.rb
2443
+ - spec/integration/retryable_writes/shared/performs_legacy_retries.rb
2444
+ - spec/integration/retryable_writes/shared/only_supports_legacy_retries.rb
2445
+ - spec/integration/retryable_writes/shared/adds_diagnostics.rb
2446
+ - spec/integration/retryable_writes/shared/supports_retries.rb
2447
+ - spec/integration/retryable_writes/shared/does_not_support_retries.rb
2448
+ - spec/integration/retryable_writes/retryable_writes_36_and_older_spec.rb
2449
+ - spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb
2450
+ - spec/integration/cursor_reaping_spec.rb
2451
+ - spec/integration/ssl_uri_options_spec.rb
2452
+ - spec/integration/read_concern_spec.rb
2453
+ - spec/integration/client_authentication_options_spec.rb
2454
+ - spec/integration/sdam_events_spec.rb
2455
+ - spec/integration/sdam_error_handling_spec.rb
2456
+ - spec/integration/client_construction_aws_auth_spec.rb
2457
+ - spec/integration/operation_failure_code_spec.rb
2458
+ - spec/integration/client_connectivity_spec.rb
2459
+ - spec/integration/crud_spec.rb
2460
+ - spec/integration/collection_indexes_prose_spec.rb
2461
+ - spec/integration/client_side_encryption/views_spec.rb
2462
+ - spec/integration/client_side_encryption/bson_size_limit_spec.rb
2463
+ - spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb
2464
+ - spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb
2465
+ - spec/integration/client_side_encryption/corpus_spec.rb
2466
+ - spec/integration/client_side_encryption/auto_encryption_spec.rb
2467
+ - spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb
2468
+ - spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb
2469
+ - spec/integration/client_side_encryption/client_close_spec.rb
2470
+ - spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb
2471
+ - spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb
2472
+ - spec/integration/client_side_encryption/external_key_vault_spec.rb
2473
+ - spec/integration/client_side_encryption/data_key_spec.rb
2474
+ - spec/integration/client_side_encryption/custom_endpoint_spec.rb
2475
+ - spec/integration/client_side_encryption/explicit_encryption_spec.rb
2476
+ - spec/integration/client_update_spec.rb
2477
+ - spec/integration/server_spec.rb
2478
+ - spec/integration/connection_spec.rb
2479
+ - spec/integration/change_stream_examples_spec.rb
2480
+ - spec/integration/reconnect_spec.rb
2481
+ - spec/integration/bson_symbol_spec.rb
2482
+ - spec/integration/shell_examples_spec.rb
2483
+ - spec/integration/bulk_insert_spec.rb
2484
+ - spec/integration/client_construction_spec.rb
2485
+ - spec/integration/server_monitor_spec.rb
2486
+ - spec/integration/mongos_pinning_spec.rb
2487
+ - spec/integration/server_selector_spec.rb
2488
+ - spec/integration/get_more_spec.rb
2489
+ - spec/integration/time_zone_querying_spec.rb
2490
+ - spec/integration/retryable_errors_spec.rb
2491
+ - spec/integration/docs_examples_spec.rb
2492
+ - spec/lite_spec_helper.rb