mongo 2.11.4 → 2.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) 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 +1 -1
  5. data/README.md +2 -1
  6. data/lib/mongo.rb +3 -0
  7. data/lib/mongo/address.rb +44 -19
  8. data/lib/mongo/auth.rb +1 -0
  9. data/lib/mongo/auth/credential_cache.rb +51 -0
  10. data/lib/mongo/auth/scram/conversation.rb +20 -16
  11. data/lib/mongo/auth/user.rb +0 -8
  12. data/lib/mongo/auth/user/view.rb +4 -4
  13. data/lib/mongo/background_thread.rb +1 -1
  14. data/lib/mongo/bulk_write.rb +5 -5
  15. data/lib/mongo/client.rb +143 -14
  16. data/lib/mongo/client_encryption.rb +103 -0
  17. data/lib/mongo/cluster.rb +8 -4
  18. data/lib/mongo/cluster/reapers/cursor_reaper.rb +18 -6
  19. data/lib/mongo/cluster/sdam_flow.rb +54 -58
  20. data/lib/mongo/collection.rb +3 -3
  21. data/lib/mongo/collection/view.rb +1 -1
  22. data/lib/mongo/collection/view/aggregation.rb +1 -1
  23. data/lib/mongo/collection/view/change_stream.rb +12 -3
  24. data/lib/mongo/collection/view/iterable.rb +14 -5
  25. data/lib/mongo/collection/view/map_reduce.rb +2 -2
  26. data/lib/mongo/collection/view/readable.rb +9 -7
  27. data/lib/mongo/collection/view/writable.rb +7 -7
  28. data/lib/mongo/crypt.rb +33 -0
  29. data/lib/mongo/crypt/auto_decryption_context.rb +40 -0
  30. data/lib/mongo/crypt/auto_encrypter.rb +179 -0
  31. data/lib/mongo/crypt/auto_encryption_context.rb +44 -0
  32. data/lib/mongo/crypt/binary.rb +155 -0
  33. data/lib/mongo/crypt/binding.rb +1229 -0
  34. data/lib/mongo/crypt/context.rb +135 -0
  35. data/lib/mongo/crypt/data_key_context.rb +162 -0
  36. data/lib/mongo/crypt/encryption_io.rb +289 -0
  37. data/lib/mongo/crypt/explicit_decryption_context.rb +40 -0
  38. data/lib/mongo/crypt/explicit_encrypter.rb +117 -0
  39. data/lib/mongo/crypt/explicit_encryption_context.rb +89 -0
  40. data/lib/mongo/crypt/handle.rb +315 -0
  41. data/lib/mongo/crypt/hooks.rb +90 -0
  42. data/lib/mongo/crypt/kms_context.rb +67 -0
  43. data/lib/mongo/crypt/status.rb +131 -0
  44. data/lib/mongo/cursor.rb +64 -32
  45. data/lib/mongo/database.rb +23 -6
  46. data/lib/mongo/database/view.rb +13 -4
  47. data/lib/mongo/dbref.rb +9 -2
  48. data/lib/mongo/error.rb +5 -1
  49. data/lib/mongo/error/bulk_write_error.rb +16 -14
  50. data/lib/mongo/error/crypt_error.rb +31 -0
  51. data/lib/mongo/error/{failed_stringprep_validation.rb → failed_string_prep_validation.rb} +0 -0
  52. data/lib/mongo/error/invalid_cursor_operation.rb +27 -0
  53. data/lib/mongo/error/kms_error.rb +22 -0
  54. data/lib/mongo/error/max_bson_size.rb +14 -3
  55. data/lib/mongo/error/mongocryptd_spawn_error.rb +22 -0
  56. data/lib/mongo/error/no_server_available.rb +8 -3
  57. data/lib/mongo/error/notable.rb +0 -15
  58. data/lib/mongo/error/operation_failure.rb +1 -0
  59. data/lib/mongo/error/parser.rb +1 -1
  60. data/lib/mongo/grid/file.rb +5 -0
  61. data/lib/mongo/grid/file/chunk.rb +2 -0
  62. data/lib/mongo/grid/file/info.rb +3 -2
  63. data/lib/mongo/grid/fs_bucket.rb +15 -13
  64. data/lib/mongo/grid/stream/write.rb +9 -3
  65. data/lib/mongo/index/view.rb +3 -3
  66. data/lib/mongo/monitoring/event/cmap/connection_check_out_failed.rb +1 -1
  67. data/lib/mongo/monitoring/event/command_started.rb +6 -1
  68. data/lib/mongo/operation/collections_info.rb +6 -3
  69. data/lib/mongo/operation/delete/op_msg.rb +1 -1
  70. data/lib/mongo/operation/find/op_msg.rb +4 -1
  71. data/lib/mongo/operation/get_more/op_msg.rb +4 -1
  72. data/lib/mongo/operation/insert/command.rb +3 -2
  73. data/lib/mongo/operation/insert/legacy.rb +3 -2
  74. data/lib/mongo/operation/insert/op_msg.rb +3 -3
  75. data/lib/mongo/operation/result.rb +36 -27
  76. data/lib/mongo/operation/shared/executable.rb +11 -9
  77. data/lib/mongo/operation/shared/executable_no_validate.rb +2 -2
  78. data/lib/mongo/operation/shared/op_msg_or_command.rb +2 -2
  79. data/lib/mongo/operation/shared/op_msg_or_find_command.rb +2 -2
  80. data/lib/mongo/operation/shared/op_msg_or_list_indexes_command.rb +2 -2
  81. data/lib/mongo/operation/shared/read_preference_supported.rb +68 -19
  82. data/lib/mongo/operation/shared/response_handling.rb +1 -1
  83. data/lib/mongo/operation/shared/sessions_supported.rb +44 -3
  84. data/lib/mongo/operation/shared/write.rb +17 -10
  85. data/lib/mongo/operation/update/op_msg.rb +1 -1
  86. data/lib/mongo/protocol/bit_vector.rb +2 -1
  87. data/lib/mongo/protocol/compressed.rb +6 -5
  88. data/lib/mongo/protocol/insert.rb +3 -1
  89. data/lib/mongo/protocol/message.rb +94 -15
  90. data/lib/mongo/protocol/msg.rb +207 -37
  91. data/lib/mongo/protocol/query.rb +7 -9
  92. data/lib/mongo/protocol/serializers.rb +43 -15
  93. data/lib/mongo/retryable.rb +1 -1
  94. data/lib/mongo/server.rb +10 -4
  95. data/lib/mongo/server/connection.rb +20 -9
  96. data/lib/mongo/server/connection_base.rb +118 -18
  97. data/lib/mongo/server/connection_common.rb +61 -0
  98. data/lib/mongo/server/connection_pool.rb +37 -1
  99. data/lib/mongo/server/connection_pool/populator.rb +1 -1
  100. data/lib/mongo/server/description.rb +9 -11
  101. data/lib/mongo/server/monitor.rb +2 -0
  102. data/lib/mongo/server/monitor/connection.rb +3 -18
  103. data/lib/mongo/server/pending_connection.rb +2 -1
  104. data/lib/mongo/session.rb +3 -3
  105. data/lib/mongo/session/session_pool.rb +8 -3
  106. data/lib/mongo/socket.rb +29 -16
  107. data/lib/mongo/socket/ssl.rb +23 -8
  108. data/lib/mongo/socket/tcp.rb +12 -3
  109. data/lib/mongo/srv/monitor.rb +73 -42
  110. data/lib/mongo/srv/result.rb +0 -1
  111. data/lib/mongo/timeout.rb +49 -0
  112. data/lib/mongo/uri.rb +30 -1
  113. data/lib/mongo/uri/srv_protocol.rb +1 -1
  114. data/lib/mongo/version.rb +1 -1
  115. data/mongo.gemspec +1 -3
  116. data/spec/README.md +228 -7
  117. data/spec/integration/auth_spec.rb +53 -0
  118. data/spec/integration/bulk_write_spec.rb +19 -0
  119. data/spec/integration/{client_options_spec.rb → client_authentication_options_spec.rb} +10 -10
  120. data/spec/integration/client_construction_spec.rb +100 -1
  121. data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +353 -0
  122. data/spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb +303 -0
  123. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +72 -0
  124. data/spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb +79 -0
  125. data/spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb +221 -0
  126. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +601 -0
  127. data/spec/integration/client_side_encryption/bson_size_limit_spec.rb +187 -0
  128. data/spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb +78 -0
  129. data/spec/integration/client_side_encryption/client_close_spec.rb +63 -0
  130. data/spec/integration/client_side_encryption/corpus_spec.rb +233 -0
  131. data/spec/integration/client_side_encryption/custom_endpoint_spec.rb +132 -0
  132. data/spec/integration/client_side_encryption/data_key_spec.rb +165 -0
  133. data/spec/integration/client_side_encryption/explicit_encryption_spec.rb +114 -0
  134. data/spec/integration/client_side_encryption/external_key_vault_spec.rb +141 -0
  135. data/spec/integration/client_side_encryption/views_spec.rb +44 -0
  136. data/spec/integration/client_update_spec.rb +154 -0
  137. data/spec/integration/command_monitoring_spec.rb +3 -1
  138. data/spec/integration/command_spec.rb +44 -10
  139. data/spec/integration/connection_spec.rb +57 -0
  140. data/spec/integration/crud_spec.rb +89 -0
  141. data/spec/integration/grid_fs_bucket_spec.rb +48 -0
  142. data/spec/integration/read_preference_spec.rb +26 -0
  143. data/spec/integration/reconnect_spec.rb +7 -6
  144. data/spec/integration/size_limit_spec.rb +111 -0
  145. data/spec/integration/srv_monitoring_spec.rb +16 -8
  146. data/spec/integration/zlib_compression_spec.rb +25 -0
  147. data/spec/kerberos/kerberos_spec.rb +87 -0
  148. data/spec/lite_spec_helper.rb +34 -29
  149. data/spec/mongo/auth/cr_spec.rb +8 -0
  150. data/spec/mongo/auth/ldap_spec.rb +5 -1
  151. data/spec/mongo/auth/scram/conversation_spec.rb +5 -6
  152. data/spec/mongo/auth/scram/negotiation_spec.rb +74 -75
  153. data/spec/mongo/auth/scram_spec.rb +45 -35
  154. data/spec/mongo/auth/user/view_spec.rb +3 -6
  155. data/spec/mongo/auth/x509_spec.rb +5 -1
  156. data/spec/mongo/bulk_write/result_spec.rb +11 -7
  157. data/spec/mongo/client_construction_spec.rb +206 -2
  158. data/spec/mongo/client_encryption_spec.rb +405 -0
  159. data/spec/mongo/cluster/cursor_reaper_spec.rb +12 -8
  160. data/spec/mongo/cluster/socket_reaper_spec.rb +14 -3
  161. data/spec/mongo/collection/view/aggregation_spec.rb +0 -2
  162. data/spec/mongo/collection/view/change_stream_spec.rb +7 -7
  163. data/spec/mongo/collection/view/map_reduce_spec.rb +3 -3
  164. data/spec/mongo/collection/view_spec.rb +1 -1
  165. data/spec/mongo/collection_spec.rb +28 -9
  166. data/spec/mongo/crypt/auto_decryption_context_spec.rb +90 -0
  167. data/spec/mongo/crypt/auto_encrypter_spec.rb +187 -0
  168. data/spec/mongo/crypt/auto_encryption_context_spec.rb +107 -0
  169. data/spec/mongo/crypt/binary_spec.rb +115 -0
  170. data/spec/mongo/crypt/binding/binary_spec.rb +56 -0
  171. data/spec/mongo/crypt/binding/context_spec.rb +257 -0
  172. data/spec/mongo/crypt/binding/helpers_spec.rb +46 -0
  173. data/spec/mongo/crypt/binding/mongocrypt_spec.rb +144 -0
  174. data/spec/mongo/crypt/binding/status_spec.rb +99 -0
  175. data/spec/mongo/crypt/binding/version_spec.rb +22 -0
  176. data/spec/mongo/crypt/binding_unloaded_spec.rb +20 -0
  177. data/spec/mongo/crypt/data_key_context_spec.rb +213 -0
  178. data/spec/mongo/crypt/encryption_io_spec.rb +136 -0
  179. data/spec/mongo/crypt/explicit_decryption_context_spec.rb +72 -0
  180. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +170 -0
  181. data/spec/mongo/crypt/handle_spec.rb +232 -0
  182. data/spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb +108 -0
  183. data/spec/mongo/crypt/status_spec.rb +152 -0
  184. data/spec/mongo/cursor_spec.rb +24 -4
  185. data/spec/mongo/database_spec.rb +20 -0
  186. data/spec/mongo/error/bulk_write_error_spec.rb +49 -0
  187. data/spec/mongo/error/crypt_error_spec.rb +26 -0
  188. data/spec/mongo/error/max_bson_size_spec.rb +35 -0
  189. data/spec/mongo/error/no_server_available_spec.rb +11 -1
  190. data/spec/mongo/error/notable_spec.rb +59 -0
  191. data/spec/mongo/error/operation_failure_spec.rb +6 -6
  192. data/spec/mongo/operation/aggregate_spec.rb +1 -1
  193. data/spec/mongo/operation/collections_info_spec.rb +1 -1
  194. data/spec/mongo/operation/command_spec.rb +3 -3
  195. data/spec/mongo/operation/create_index_spec.rb +3 -3
  196. data/spec/mongo/operation/create_user_spec.rb +3 -3
  197. data/spec/mongo/operation/delete/bulk_spec.rb +6 -6
  198. data/spec/mongo/operation/delete/op_msg_spec.rb +1 -6
  199. data/spec/mongo/operation/delete_spec.rb +7 -7
  200. data/spec/mongo/operation/drop_index_spec.rb +2 -2
  201. data/spec/mongo/operation/find/legacy_spec.rb +2 -1
  202. data/spec/mongo/operation/get_more_spec.rb +1 -1
  203. data/spec/mongo/operation/indexes_spec.rb +1 -1
  204. data/spec/mongo/operation/insert/bulk_spec.rb +7 -7
  205. data/spec/mongo/operation/insert/op_msg_spec.rb +3 -6
  206. data/spec/mongo/operation/insert_spec.rb +12 -12
  207. data/spec/mongo/operation/map_reduce_spec.rb +2 -2
  208. data/spec/mongo/operation/read_preference_legacy_spec.rb +351 -0
  209. data/spec/mongo/operation/read_preference_op_msg_spec.rb +194 -0
  210. data/spec/mongo/operation/remove_user_spec.rb +3 -3
  211. data/spec/mongo/operation/update/bulk_spec.rb +6 -6
  212. data/spec/mongo/operation/update/op_msg_spec.rb +3 -6
  213. data/spec/mongo/operation/update_spec.rb +7 -7
  214. data/spec/mongo/operation/update_user_spec.rb +1 -1
  215. data/spec/mongo/protocol/compressed_spec.rb +2 -3
  216. data/spec/mongo/protocol/delete_spec.rb +9 -8
  217. data/spec/mongo/protocol/get_more_spec.rb +9 -8
  218. data/spec/mongo/protocol/insert_spec.rb +9 -8
  219. data/spec/mongo/protocol/kill_cursors_spec.rb +6 -5
  220. data/spec/mongo/protocol/msg_spec.rb +57 -53
  221. data/spec/mongo/protocol/query_spec.rb +12 -12
  222. data/spec/mongo/protocol/registry_spec.rb +1 -1
  223. data/spec/mongo/protocol/reply_spec.rb +1 -1
  224. data/spec/mongo/protocol/update_spec.rb +10 -9
  225. data/spec/mongo/server/connection_pool_spec.rb +1 -1
  226. data/spec/mongo/server/connection_spec.rb +28 -7
  227. data/spec/mongo/socket_spec.rb +1 -1
  228. data/spec/mongo/srv/monitor_spec.rb +88 -69
  229. data/spec/mongo/timeout_spec.rb +85 -0
  230. data/spec/mongo/uri/srv_protocol_spec.rb +2 -2
  231. data/spec/mongo/uri_spec.rb +52 -5
  232. data/spec/mongo/write_concern_spec.rb +13 -1
  233. data/spec/{support → runners}/auth.rb +14 -1
  234. data/spec/{support → runners}/change_streams.rb +1 -1
  235. data/spec/{support → runners}/change_streams/operation.rb +0 -0
  236. data/spec/{support → runners}/cmap.rb +1 -1
  237. data/spec/{support → runners}/cmap/verifier.rb +0 -0
  238. data/spec/{support → runners}/command_monitoring.rb +0 -0
  239. data/spec/runners/connection_string.rb +358 -4
  240. data/spec/{support → runners}/crud.rb +9 -9
  241. data/spec/{support → runners}/crud/context.rb +0 -0
  242. data/spec/{support → runners}/crud/operation.rb +7 -3
  243. data/spec/{support → runners}/crud/outcome.rb +0 -0
  244. data/spec/{support → runners}/crud/requirement.rb +1 -1
  245. data/spec/{support → runners}/crud/spec.rb +12 -1
  246. data/spec/{support → runners}/crud/test.rb +0 -0
  247. data/spec/{support → runners}/crud/test_base.rb +0 -0
  248. data/spec/{support → runners}/crud/verifier.rb +10 -12
  249. data/spec/{support → runners}/gridfs.rb +0 -0
  250. data/spec/{support → runners}/sdam_monitoring.rb +0 -0
  251. data/spec/{support → runners}/server_discovery_and_monitoring.rb +0 -0
  252. data/spec/{support → runners}/server_selection.rb +0 -0
  253. data/spec/{support → runners}/server_selection_rtt.rb +0 -0
  254. data/spec/{support → runners}/transactions.rb +9 -11
  255. data/spec/{support → runners}/transactions/context.rb +0 -0
  256. data/spec/{support → runners}/transactions/operation.rb +0 -0
  257. data/spec/{support → runners}/transactions/spec.rb +0 -0
  258. data/spec/{support → runners}/transactions/test.rb +37 -5
  259. data/spec/spec_helper.rb +0 -5
  260. data/spec/spec_tests/auth_spec.rb +3 -3
  261. data/spec/spec_tests/client_side_encryption_spec.rb +8 -0
  262. data/spec/spec_tests/connection_string_spec.rb +1 -1
  263. data/spec/spec_tests/data/auth/connection-string.yml +13 -0
  264. data/spec/spec_tests/data/client_side_encryption/aggregate.yml +134 -0
  265. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +526 -0
  266. data/spec/spec_tests/data/client_side_encryption/badSchema.yml +73 -0
  267. data/spec/spec_tests/data/client_side_encryption/basic.yml +116 -0
  268. data/spec/spec_tests/data/client_side_encryption/bulk.yml +88 -0
  269. data/spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml +100 -0
  270. data/spec/spec_tests/data/client_side_encryption/bypassedCommand.yml +42 -0
  271. data/spec/spec_tests/data/client_side_encryption/count.yml +61 -0
  272. data/spec/spec_tests/data/client_side_encryption/countDocuments.yml +59 -0
  273. data/spec/spec_tests/data/client_side_encryption/delete.yml +105 -0
  274. data/spec/spec_tests/data/client_side_encryption/distinct.yml +73 -0
  275. data/spec/spec_tests/data/client_side_encryption/explain.yml +64 -0
  276. data/spec/spec_tests/data/client_side_encryption/find.yml +119 -0
  277. data/spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml +57 -0
  278. data/spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml +57 -0
  279. data/spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml +57 -0
  280. data/spec/spec_tests/data/client_side_encryption/getMore.yml +68 -0
  281. data/spec/spec_tests/data/client_side_encryption/insert.yml +102 -0
  282. data/spec/spec_tests/data/client_side_encryption/keyAltName.yml +71 -0
  283. data/spec/spec_tests/data/client_side_encryption/localKMS.yml +54 -0
  284. data/spec/spec_tests/data/client_side_encryption/localSchema.yml +72 -0
  285. data/spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml +69 -0
  286. data/spec/spec_tests/data/client_side_encryption/maxWireVersion.yml +20 -0
  287. data/spec/spec_tests/data/client_side_encryption/missingKey.yml +49 -0
  288. data/spec/spec_tests/data/client_side_encryption/replaceOne.yml +64 -0
  289. data/spec/spec_tests/data/client_side_encryption/types.yml +527 -0
  290. data/spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml +25 -0
  291. data/spec/spec_tests/data/client_side_encryption/updateMany.yml +77 -0
  292. data/spec/spec_tests/data/client_side_encryption/updateOne.yml +171 -0
  293. data/spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml +1 -4
  294. data/spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml +21 -0
  295. data/spec/spec_tests/data/sdam/rs/incompatible_ghost.yml +2 -4
  296. data/spec/spec_tests/data/sdam/rs/incompatible_other.yml +1 -1
  297. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml +73 -0
  298. data/spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml +1 -2
  299. data/spec/spec_tests/data/sdam/rs/repeated.yml +101 -0
  300. data/spec/spec_tests/data/sdam/rs/{primary_address_change.yml → ruby_primary_address_change.yml} +2 -0
  301. 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
  302. data/spec/spec_tests/data/sdam/sharded/ruby_discovered_single_mongos.yml +27 -0
  303. data/spec/spec_tests/data/sdam/sharded/{primary_address_change.yml → ruby_primary_different_address.yml} +1 -1
  304. data/spec/spec_tests/data/sdam/sharded/{primary_mismatched_me.yml → ruby_primary_mismatched_me.yml} +1 -1
  305. data/spec/spec_tests/data/sdam/single/{primary_address_change.yml → ruby_primary_different_address.yml} +1 -1
  306. data/spec/spec_tests/data/sdam/single/{primary_mismatched_me.yml → ruby_primary_mismatched_me.yml} +1 -1
  307. data/spec/spec_tests/data/sdam_monitoring/{replica_set_with_primary_change.yml → replica_set_primary_address_change.yml} +27 -5
  308. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml +26 -74
  309. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml +20 -16
  310. data/spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml +73 -0
  311. data/spec/spec_tests/data/transactions/pin-mongos.yml +2 -3
  312. data/spec/spec_tests/data/uri_options/auth-options.yml +10 -0
  313. data/spec/spec_tests/data/uri_options/tls-options.yml +75 -4
  314. data/spec/spec_tests/read_write_concern_connection_string_spec.rb +1 -1
  315. data/spec/spec_tests/uri_options_spec.rb +6 -8
  316. data/spec/stress/connection_pool_timing_spec.rb +6 -3
  317. data/spec/support/certificates/README.md +4 -0
  318. data/spec/support/certificates/server-second-level-bundle.pem +77 -77
  319. data/spec/support/certificates/server-second-level.crt +52 -52
  320. data/spec/support/certificates/server-second-level.key +25 -25
  321. data/spec/support/certificates/server-second-level.pem +77 -77
  322. data/spec/support/client_registry.rb +19 -3
  323. data/spec/support/cluster_config.rb +9 -1
  324. data/spec/support/cluster_tools.rb +6 -1
  325. data/spec/support/common_shortcuts.rb +12 -0
  326. data/spec/support/constraints.rb +16 -0
  327. data/spec/support/crypt.rb +154 -0
  328. data/spec/support/crypt/corpus/corpus-key-aws.json +33 -0
  329. data/spec/support/crypt/corpus/corpus-key-local.json +31 -0
  330. data/spec/support/crypt/corpus/corpus-schema.json +2057 -0
  331. data/spec/support/crypt/corpus/corpus.json +3657 -0
  332. data/spec/support/crypt/corpus/corpus_encrypted.json +4152 -0
  333. data/spec/support/crypt/data_keys/key_document_aws.json +34 -0
  334. data/spec/support/crypt/data_keys/key_document_local.json +31 -0
  335. data/spec/support/crypt/external/external-key.json +31 -0
  336. data/spec/support/crypt/external/external-schema.json +19 -0
  337. data/spec/support/crypt/limits/limits-doc.json +102 -0
  338. data/spec/support/crypt/limits/limits-key.json +31 -0
  339. data/spec/support/crypt/limits/limits-schema.json +1405 -0
  340. data/spec/support/crypt/schema_maps/schema_map_aws.json +17 -0
  341. data/spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json +12 -0
  342. data/spec/support/crypt/schema_maps/schema_map_local.json +18 -0
  343. data/spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json +12 -0
  344. data/spec/support/lite_constraints.rb +19 -1
  345. data/spec/support/matchers.rb +19 -0
  346. data/spec/support/shared/protocol.rb +2 -0
  347. data/spec/support/spec_config.rb +53 -13
  348. data/spec/support/utils.rb +140 -10
  349. metadata +894 -687
  350. metadata.gz.sig +0 -0
  351. data/lib/mongo/cluster/srv_monitor.rb +0 -127
  352. data/lib/mongo/srv/warning_result.rb +0 -35
  353. data/spec/enterprise_auth/kerberos_spec.rb +0 -58
  354. data/spec/mongo/cluster/srv_monitor_spec.rb +0 -214
  355. data/spec/mongo/operation/read_preference_spec.rb +0 -245
  356. data/spec/spec_tests/data/sdam/sharded/single_mongos.yml +0 -33
  357. data/spec/support/connection_string.rb +0 -354
@@ -0,0 +1,17 @@
1
+ {
2
+ "properties": {
3
+ "ssn": {
4
+ "encrypt": {
5
+ "keyId": [{
6
+ "$binary": {
7
+ "base64": "AWSAAAAAAAAAAAAAAAAAAA==",
8
+ "subType": "04"
9
+ }
10
+ }],
11
+ "bsonType": "string",
12
+ "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
13
+ }
14
+ }
15
+ },
16
+ "bsonType": "object"
17
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "properties": {
3
+ "ssn": {
4
+ "encrypt": {
5
+ "keyId": "/altname",
6
+ "bsonType": "string",
7
+ "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
8
+ }
9
+ }
10
+ },
11
+ "bsonType": "object"
12
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "properties": {
3
+ "ssn": {
4
+ "encrypt": {
5
+ "keyId": [{
6
+ "$binary": {
7
+ "base64": "LOCALAAAAAAAAAAAAAAAAA==",
8
+ "subType": "04"
9
+
10
+ }
11
+ }],
12
+ "bsonType": "string",
13
+ "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
14
+ }
15
+ }
16
+ },
17
+ "bsonType": "object"
18
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "properties": {
3
+ "ssn": {
4
+ "encrypt": {
5
+ "keyId": "/altname",
6
+ "bsonType": "string",
7
+ "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
8
+ }
9
+ }
10
+ },
11
+ "bsonType": "object"
12
+ }
@@ -47,7 +47,9 @@ module LiteConstraints
47
47
 
48
48
  def require_mongo_kerberos
49
49
  before(:all) do
50
- skip 'KERBEROS_REQUIRED env var not specified' unless ENV['KERBEROS_REQUIRED']
50
+ unless %w(1 yes true).include?(ENV['MONGO_RUBY_DRIVER_KERBEROS']&.downcase)
51
+ skip 'Set MONGO_RUBY_DRIVER_KERBEROS=1 in environment to run Kerberos unit tests'
52
+ end
51
53
  require 'mongo_kerberos'
52
54
  end
53
55
  end
@@ -60,6 +62,22 @@ module LiteConstraints
60
62
  end
61
63
  end
62
64
 
65
+ def require_libmongocrypt
66
+ before(:all) do
67
+ unless ENV['LIBMONGOCRYPT_PATH']
68
+ skip 'Test requires path to libmongocrypt to be specified in LIBMONGOCRYPT_PATH env variable'
69
+ end
70
+ end
71
+ end
72
+
73
+ def require_no_libmongocrypt
74
+ before(:all) do
75
+ if ENV['LIBMONGOCRYPT_PATH']
76
+ skip 'Test requires libmongocrypt to not be configured'
77
+ end
78
+ end
79
+ end
80
+
63
81
  # Some tests will fail if linting is enabled:
64
82
  # 1. Tests that pass invalid options to client, etc. which the linter
65
83
  # rejects.
@@ -35,3 +35,22 @@ RSpec::Matchers.define :be_bson_sequence do |array|
35
35
  actual == array.map(&:to_bson).join
36
36
  end
37
37
  end
38
+
39
+ RSpec::Matchers.define :be_ciphertext do
40
+ match do |object|
41
+ object.is_a?(BSON::Binary) && object.type == :ciphertext
42
+ end
43
+ end
44
+
45
+
46
+ RSpec::Matchers.define :match_with_type do |event|
47
+ match do |actual|
48
+ Utils.match_with_type?(event, actual)
49
+ end
50
+ end
51
+
52
+ RSpec::Matchers.define :be_uuid do
53
+ match do |object|
54
+ object.is_a?(BSON::Binary) && object.type == :uuid
55
+ end
56
+ end
@@ -1,4 +1,6 @@
1
1
  shared_examples 'message with a header' do
2
+ let(:collection_name) { 'test' }
3
+
2
4
  describe 'header' do
3
5
  describe 'length' do
4
6
  let(:field) { bytes.to_s[0..3] }
@@ -1,4 +1,5 @@
1
1
  require 'singleton'
2
+ require 'pathname'
2
3
 
3
4
  class SpecConfig
4
5
  include Singleton
@@ -13,7 +14,7 @@ class SpecConfig
13
14
  if @uri_options[:replica_set]
14
15
  @addresses = @mongodb_uri.servers
15
16
  @connect_options = { connect: :replica_set, replica_set: @uri_options[:replica_set] }
16
- elsif @uri_options[:connect] == :sharded || ENV['TOPOLOGY'] == 'sharded_cluster'
17
+ elsif @uri_options[:connect] == :sharded || ENV['TOPOLOGY'] == 'sharded-cluster'
17
18
  @addresses = @mongodb_uri.servers
18
19
  @connect_options = { connect: :sharded }
19
20
  elsif @uri_options[:connect] == :direct
@@ -133,11 +134,7 @@ class SpecConfig
133
134
 
134
135
  # What compressor to use, if any.
135
136
  def compressors
136
- if ENV['COMPRESSORS']
137
- ENV['COMPRESSORS'].split(',')
138
- else
139
- nil
140
- end
137
+ uri_options[:compressors]
141
138
  end
142
139
 
143
140
  def retry_reads
@@ -189,7 +186,7 @@ class SpecConfig
189
186
  end
190
187
 
191
188
  def auth_source
192
- @uri_options && uri_options[:auth_source]
189
+ uri_options[:auth_source]
193
190
  end
194
191
 
195
192
  def connect_replica_set?
@@ -311,20 +308,53 @@ EOT
311
308
  'ruby-driver'.freeze
312
309
  end
313
310
 
311
+ # AWS IAM user access key id
312
+ def fle_aws_key
313
+ ENV['MONGO_RUBY_DRIVER_AWS_KEY']
314
+ end
315
+
316
+ # AWS IAM user secret access key
317
+ def fle_aws_secret
318
+ ENV['MONGO_RUBY_DRIVER_AWS_SECRET']
319
+ end
320
+
321
+ # Region of AWS customer master key
322
+ def fle_aws_region
323
+ ENV['MONGO_RUBY_DRIVER_AWS_REGION']
324
+ end
325
+
326
+ # Amazon resource name (ARN) of AWS customer master key
327
+ def fle_aws_arn
328
+ ENV['MONGO_RUBY_DRIVER_AWS_ARN']
329
+ end
330
+
331
+ def mongocryptd_port
332
+ if ENV['MONGO_RUBY_DRIVER_MONGOCRYPTD_PORT'] &&
333
+ !ENV['MONGO_RUBY_DRIVER_MONGOCRYPTD_PORT'].empty?
334
+ then
335
+ ENV['MONGO_RUBY_DRIVER_MONGOCRYPTD_PORT'].to_i
336
+ else
337
+ 27020
338
+ end
339
+ end
340
+
314
341
  # Option hashes
315
342
 
316
343
  def auth_options
317
344
  if x509_auth?
318
345
  {
319
- auth_mech: @uri_options[:auth_mech],
346
+ auth_mech: uri_options[:auth_mech],
320
347
  auth_source: '$external',
321
348
  }
322
349
  else
323
350
  {
324
351
  user: user,
325
352
  password: password,
326
- auth_source: auth_source,
327
- }
353
+ }.tap do |options|
354
+ if auth_source
355
+ options[:auth_source] = auth_source
356
+ end
357
+ end
328
358
  end
329
359
  end
330
360
 
@@ -356,10 +386,19 @@ EOT
356
386
 
357
387
  # Base test options.
358
388
  def base_test_options
359
- uri_options = @uri_options || {}
360
389
  {
361
- max_pool_size: 1,
390
+ # Automatic encryption tests require a minimum of three connections:
391
+ # - The driver checks out a connection to build a command.
392
+ # - It may need to encrypt the command, which could require a query to
393
+ # the key vault collection triggered by libmongocrypt.
394
+ # - If the key vault client has auto encryption options, it will also
395
+ # attempt to encrypt this query, resulting in a third connection.
396
+ # In the worst case using FLE may end up tripling the number of
397
+ # connections that the driver uses at any one time.
398
+ max_pool_size: 3,
399
+
362
400
  heartbeat_frequency: 20,
401
+
363
402
  # The test suite seems to perform a number of operations
364
403
  # requiring server selection. Hence a timeout of 1 here,
365
404
  # together with e.g. a misconfigured replica set,
@@ -367,6 +406,7 @@ EOT
367
406
  # failing.
368
407
  # Server selection timeout of 1 is insufficient for evergreen.
369
408
  server_selection_timeout: uri_options[:server_selection_timeout] || (ssl? ? 4.01 : 2.01),
409
+
370
410
  wait_queue_timeout: 2,
371
411
  connect_timeout: 3,
372
412
  max_idle_time: 5
@@ -428,7 +468,7 @@ EOT
428
468
  end
429
469
 
430
470
  def x509_auth?
431
- @uri_options[:auth_mech] == :mongodb_x509
471
+ uri_options[:auth_mech] == :mongodb_x509
432
472
  end
433
473
 
434
474
  # When we use x.509 authentication, omit all of the users we normally create
@@ -1,5 +1,6 @@
1
- module Utils
1
+ require 'base64'
2
2
 
3
+ module Utils
3
4
  # Converts a 'camelCase' string or symbol to a :under_score symbol.
4
5
  def underscore(str)
5
6
  str = str.to_s
@@ -85,12 +86,57 @@ module Utils
85
86
  def convert_client_options(spec_test_options)
86
87
  uri = Mongo::URI.new('mongodb://localhost')
87
88
  spec_test_options.reduce({}) do |opts, (name, value)|
88
- uri.send(:add_uri_option, name, value.to_s, opts)
89
+ if name == 'autoEncryptOpts'
90
+ opts.merge!(
91
+ auto_encryption_options: convert_auto_encryption_client_options(value)
92
+ .merge(
93
+ # Spawn mongocryptd on non-default port for sharded cluster tests
94
+ extra_options: {
95
+ mongocryptd_spawn_args: ["--port=#{SpecConfig.instance.mongocryptd_port}"],
96
+ mongocryptd_uri: "mongodb://localhost:#{SpecConfig.instance.mongocryptd_port}",
97
+ }
98
+ )
99
+ )
100
+ else
101
+ uri.send(:add_uri_option, name, value.to_s, opts)
102
+ end
103
+
89
104
  opts
90
105
  end
91
106
  end
92
107
  module_function :convert_client_options
93
108
 
109
+ private def convert_auto_encryption_client_options(opts)
110
+ auto_encrypt_opts = Utils.snakeize_hash(opts)
111
+
112
+ if opts['kmsProviders']['aws']
113
+ # The tests require that AWS credentials be filled in by the driver.
114
+ auto_encrypt_opts[:kms_providers][:aws] = {
115
+ access_key_id: SpecConfig.instance.fle_aws_key,
116
+ secret_access_key: SpecConfig.instance.fle_aws_secret,
117
+ }
118
+ end
119
+
120
+ if opts['kmsProviders']['local']
121
+ auto_encrypt_opts[:kms_providers][:local] = {
122
+ key: BSON::ExtJSON.parse_obj(opts['kmsProviders']['local']['key']).data
123
+ }
124
+ end
125
+
126
+ if opts['keyVaultNamespace']
127
+ auto_encrypt_opts[:key_vault_namespace] = opts['keyVaultNamespace']
128
+ else
129
+ auto_encrypt_opts[:key_vault_namespace] = 'admin.datakeys'
130
+ end
131
+
132
+ if opts['schemaMap']
133
+ auto_encrypt_opts[:schema_map] = BSON::ExtJSON.parse_obj(opts['schemaMap'])
134
+ end
135
+
136
+ auto_encrypt_opts
137
+ end
138
+ module_function :convert_auto_encryption_client_options
139
+
94
140
  def order_hash(hash)
95
141
  Hash[hash.to_a.sort]
96
142
  end
@@ -102,13 +148,6 @@ module Utils
102
148
  events = events.map do |e|
103
149
  command = e.command.dup
104
150
 
105
- # Convert txnNumber field from a BSON integer to an extended JSON int64
106
- if command['txnNumber']
107
- command['txnNumber'] = {
108
- '$numberLong' => int64_value(command['txnNumber']).to_s
109
- }
110
- end
111
-
112
151
  # Fake $code for map/reduce commands
113
152
  %w(map reduce).each do |key|
114
153
  if command[key].is_a?(String)
@@ -135,7 +174,7 @@ module Utils
135
174
  end
136
175
 
137
176
  # The spec tests use 42 as a placeholder value for any getMore cursorId.
138
- command['getMore'] = { '$numberLong' => '42' } if command['getMore']
177
+ command['getMore'] = command['getMore'].class.new(42) if command['getMore']
139
178
 
140
179
  # Remove fields if empty
141
180
  #command.delete('filter') if command['filter'] && command['filter'].empty?
@@ -227,4 +266,95 @@ module Utils
227
266
  end
228
267
  end
229
268
  module_function :int64_value
269
+
270
+ URI_OPTION_MAP = {
271
+ app_name: 'appName',
272
+ auth_mech: 'authMechanism',
273
+ auth_source: 'authsource',
274
+ replica_set: 'replicaSet',
275
+ ssl_ca_cert: 'tlsCAFile',
276
+ ssl_cert: 'tlsCertificateKeyFile',
277
+ ssl_key: 'tlsCertificateKeyFile',
278
+ }.freeze
279
+
280
+ module_function def create_mongodb_uri(address_strs, **opts)
281
+ creds = if opts[:username]
282
+ "#{opts[:username]}:#{opts[:password]}@"
283
+ else
284
+ ''
285
+ end
286
+ uri = "mongodb://#{creds}#{address_strs.join(',')}/"
287
+ if opts[:database]
288
+ uri << opts[:database]
289
+ end
290
+ if uri_options = opts[:uri_options]
291
+ uri << '?'
292
+
293
+ uri_options.each do |k, v|
294
+ uri << '&'
295
+
296
+ write_k = URI_OPTION_MAP[k] || k
297
+
298
+ if k == :compressors
299
+ write_v = v.join(',')
300
+ elsif k == :auth_mech
301
+ if v
302
+ write_v = Mongo::URI::AUTH_MECH_MAP.key(v)
303
+ unless write_v
304
+ raise "Unhandled auth mech value: #{v}"
305
+ end
306
+ else
307
+ next
308
+ end
309
+ else
310
+ write_v = v
311
+ end
312
+
313
+ uri << "#{write_k}=#{write_v}"
314
+ end
315
+ end
316
+
317
+ uri
318
+ end
319
+
320
+ # Client-Side encryption tests introduce the $$type syntax for determining
321
+ # equality in command started events. The $$type key specifies which type of
322
+ # BSON object is expected in the result. If the $$type key is present, only
323
+ # check the class of the result.
324
+ def match_with_type?(expected, actual)
325
+ if expected.is_a?(Hash) && expected.key?('$$type')
326
+ case expected['$$type']
327
+ when 'binData'
328
+ expected_class = BSON::Binary
329
+ expected_key = '$binary'
330
+ when 'long'
331
+ expected_class = BSON::Int64
332
+ expected_key = '$numberLong'
333
+ else
334
+ raise "Tests do not currently support matching against $$type #{v['$$type']}"
335
+ end
336
+
337
+ actual.is_a?(expected_class) || actual.key?(expected_key)
338
+ elsif expected.is_a?(Hash) && actual.is_a?(Hash)
339
+ same_keys = (expected.keys - actual.keys).empty? &&
340
+ (actual.keys - expected.keys).empty?
341
+
342
+ same_values = expected.keys.all? do |key|
343
+ match_with_type?(expected[key], actual[key])
344
+ end
345
+
346
+ same_keys && same_values
347
+ elsif expected.is_a?(Array) && actual.is_a?(Array)
348
+ same_length = expected.length == actual.length
349
+
350
+ same_values = expected.map.with_index do |_, idx|
351
+ match_with_type?(expected[idx], actual[idx])
352
+ end.all?
353
+
354
+ same_length && same_values
355
+ else
356
+ return expected == actual
357
+ end
358
+ end
359
+ module_function :match_with_type?
230
360
  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.4
4
+ version: 2.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -31,7 +31,7 @@ cert_chain:
31
31
  gpvfPNWMwyBDlHaNS3GfO6cRRxBOvEG05GUCsvtTY4Bpe8yjE64wg1ymb47LMOnv
32
32
  Qb1lGORmf/opg45mluKUYl7pQNZHD0d3
33
33
  -----END CERTIFICATE-----
34
- date: 2020-03-09 00:00:00.000000000 Z
34
+ date: 2020-07-30 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.4.2
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.4.2
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: []
@@ -75,6 +75,7 @@ files:
75
75
  - lib/mongo/auth.rb
76
76
  - lib/mongo/auth/cr.rb
77
77
  - lib/mongo/auth/cr/conversation.rb
78
+ - lib/mongo/auth/credential_cache.rb
78
79
  - lib/mongo/auth/ldap.rb
79
80
  - lib/mongo/auth/ldap/conversation.rb
80
81
  - lib/mongo/auth/roles.rb
@@ -100,12 +101,12 @@ files:
100
101
  - lib/mongo/bulk_write/unordered_combiner.rb
101
102
  - lib/mongo/bulk_write/validatable.rb
102
103
  - lib/mongo/client.rb
104
+ - lib/mongo/client_encryption.rb
103
105
  - lib/mongo/cluster.rb
104
106
  - lib/mongo/cluster/periodic_executor.rb
105
107
  - lib/mongo/cluster/reapers/cursor_reaper.rb
106
108
  - lib/mongo/cluster/reapers/socket_reaper.rb
107
109
  - lib/mongo/cluster/sdam_flow.rb
108
- - lib/mongo/cluster/srv_monitor.rb
109
110
  - lib/mongo/cluster/topology.rb
110
111
  - lib/mongo/cluster/topology/base.rb
111
112
  - lib/mongo/cluster/topology/no_replica_set_options.rb
@@ -133,6 +134,22 @@ files:
133
134
  - lib/mongo/collection/view/map_reduce.rb
134
135
  - lib/mongo/collection/view/readable.rb
135
136
  - lib/mongo/collection/view/writable.rb
137
+ - lib/mongo/crypt.rb
138
+ - lib/mongo/crypt/auto_decryption_context.rb
139
+ - lib/mongo/crypt/auto_encrypter.rb
140
+ - lib/mongo/crypt/auto_encryption_context.rb
141
+ - lib/mongo/crypt/binary.rb
142
+ - lib/mongo/crypt/binding.rb
143
+ - lib/mongo/crypt/context.rb
144
+ - lib/mongo/crypt/data_key_context.rb
145
+ - lib/mongo/crypt/encryption_io.rb
146
+ - lib/mongo/crypt/explicit_decryption_context.rb
147
+ - lib/mongo/crypt/explicit_encrypter.rb
148
+ - lib/mongo/crypt/explicit_encryption_context.rb
149
+ - lib/mongo/crypt/handle.rb
150
+ - lib/mongo/crypt/hooks.rb
151
+ - lib/mongo/crypt/kms_context.rb
152
+ - lib/mongo/crypt/status.rb
136
153
  - lib/mongo/cursor.rb
137
154
  - lib/mongo/cursor/builder.rb
138
155
  - lib/mongo/cursor/builder/get_more_command.rb
@@ -148,8 +165,9 @@ files:
148
165
  - lib/mongo/error/change_stream_resumable.rb
149
166
  - lib/mongo/error/closed_stream.rb
150
167
  - lib/mongo/error/connection_check_out_timeout.rb
168
+ - lib/mongo/error/crypt_error.rb
151
169
  - lib/mongo/error/extra_file_chunk.rb
152
- - lib/mongo/error/failed_stringprep_validation.rb
170
+ - lib/mongo/error/failed_string_prep_validation.rb
153
171
  - lib/mongo/error/file_not_found.rb
154
172
  - lib/mongo/error/handshake_error.rb
155
173
  - lib/mongo/error/insufficient_iteration_count.rb
@@ -158,6 +176,7 @@ files:
158
176
  - lib/mongo/error/invalid_bulk_operation.rb
159
177
  - lib/mongo/error/invalid_bulk_operation_type.rb
160
178
  - lib/mongo/error/invalid_collection_name.rb
179
+ - lib/mongo/error/invalid_cursor_operation.rb
161
180
  - lib/mongo/error/invalid_database_name.rb
162
181
  - lib/mongo/error/invalid_document.rb
163
182
  - lib/mongo/error/invalid_file.rb
@@ -174,6 +193,7 @@ files:
174
193
  - lib/mongo/error/invalid_update_document.rb
175
194
  - lib/mongo/error/invalid_uri.rb
176
195
  - lib/mongo/error/invalid_write_concern.rb
196
+ - lib/mongo/error/kms_error.rb
177
197
  - lib/mongo/error/lint_error.rb
178
198
  - lib/mongo/error/max_bson_size.rb
179
199
  - lib/mongo/error/max_message_size.rb
@@ -181,6 +201,7 @@ files:
181
201
  - lib/mongo/error/missing_file_chunk.rb
182
202
  - lib/mongo/error/missing_password.rb
183
203
  - lib/mongo/error/missing_resume_token.rb
204
+ - lib/mongo/error/mongocryptd_spawn_error.rb
184
205
  - lib/mongo/error/multi_index_drop.rb
185
206
  - lib/mongo/error/need_primary_server.rb
186
207
  - lib/mongo/error/no_server_available.rb
@@ -406,6 +427,7 @@ files:
406
427
  - lib/mongo/server/connectable.rb
407
428
  - lib/mongo/server/connection.rb
408
429
  - lib/mongo/server/connection_base.rb
430
+ - lib/mongo/server/connection_common.rb
409
431
  - lib/mongo/server/connection_pool.rb
410
432
  - lib/mongo/server/connection_pool/populator.rb
411
433
  - lib/mongo/server/context.rb
@@ -434,7 +456,7 @@ files:
434
456
  - lib/mongo/srv/monitor.rb
435
457
  - lib/mongo/srv/resolver.rb
436
458
  - lib/mongo/srv/result.rb
437
- - lib/mongo/srv/warning_result.rb
459
+ - lib/mongo/timeout.rb
438
460
  - lib/mongo/uri.rb
439
461
  - lib/mongo/uri/srv_protocol.rb
440
462
  - lib/mongo/version.rb
@@ -447,16 +469,32 @@ files:
447
469
  - spec/USERS.md
448
470
  - spec/atlas/atlas_connectivity_spec.rb
449
471
  - spec/atlas/operations_spec.rb
450
- - spec/enterprise_auth/kerberos_spec.rb
451
472
  - spec/integration/auth_spec.rb
452
473
  - spec/integration/bson_symbol_spec.rb
453
474
  - spec/integration/bulk_insert_spec.rb
475
+ - spec/integration/bulk_write_spec.rb
454
476
  - spec/integration/change_stream_examples_spec.rb
455
477
  - spec/integration/change_stream_spec.rb
478
+ - spec/integration/client_authentication_options_spec.rb
456
479
  - spec/integration/client_connectivity_spec.rb
457
480
  - spec/integration/client_construction_spec.rb
458
- - spec/integration/client_options_spec.rb
481
+ - spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb
482
+ - spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb
483
+ - spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb
484
+ - spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb
485
+ - spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb
486
+ - spec/integration/client_side_encryption/auto_encryption_spec.rb
487
+ - spec/integration/client_side_encryption/bson_size_limit_spec.rb
488
+ - spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb
489
+ - spec/integration/client_side_encryption/client_close_spec.rb
490
+ - spec/integration/client_side_encryption/corpus_spec.rb
491
+ - spec/integration/client_side_encryption/custom_endpoint_spec.rb
492
+ - spec/integration/client_side_encryption/data_key_spec.rb
493
+ - spec/integration/client_side_encryption/explicit_encryption_spec.rb
494
+ - spec/integration/client_side_encryption/external_key_vault_spec.rb
495
+ - spec/integration/client_side_encryption/views_spec.rb
459
496
  - spec/integration/client_spec.rb
497
+ - spec/integration/client_update_spec.rb
460
498
  - spec/integration/command_monitoring_spec.rb
461
499
  - spec/integration/command_spec.rb
462
500
  - spec/integration/connect_single_rs_name_spec.rb
@@ -467,6 +505,7 @@ files:
467
505
  - spec/integration/docs_examples_spec.rb
468
506
  - spec/integration/error_detection_spec.rb
469
507
  - spec/integration/get_more_spec.rb
508
+ - spec/integration/grid_fs_bucket_spec.rb
470
509
  - spec/integration/heartbeat_events_spec.rb
471
510
  - spec/integration/mmapv1_spec.rb
472
511
  - spec/integration/mongos_pinning_spec.rb
@@ -484,11 +523,14 @@ files:
484
523
  - spec/integration/server_selector_spec.rb
485
524
  - spec/integration/server_spec.rb
486
525
  - spec/integration/shell_examples_spec.rb
526
+ - spec/integration/size_limit_spec.rb
487
527
  - spec/integration/srv_monitoring_spec.rb
488
528
  - spec/integration/ssl_uri_options_spec.rb
489
529
  - spec/integration/step_down_spec.rb
490
530
  - spec/integration/time_zone_querying_spec.rb
491
531
  - spec/integration/transactions_examples_spec.rb
532
+ - spec/integration/zlib_compression_spec.rb
533
+ - spec/kerberos/kerberos_spec.rb
492
534
  - spec/lite_spec_helper.rb
493
535
  - spec/mongo/address/ipv4_spec.rb
494
536
  - spec/mongo/address/ipv6_spec.rb
@@ -515,11 +557,11 @@ files:
515
557
  - spec/mongo/bulk_write/unordered_combiner_spec.rb
516
558
  - spec/mongo/bulk_write_spec.rb
517
559
  - spec/mongo/client_construction_spec.rb
560
+ - spec/mongo/client_encryption_spec.rb
518
561
  - spec/mongo/client_spec.rb
519
562
  - spec/mongo/cluster/cursor_reaper_spec.rb
520
563
  - spec/mongo/cluster/periodic_executor_spec.rb
521
564
  - spec/mongo/cluster/socket_reaper_spec.rb
522
- - spec/mongo/cluster/srv_monitor_spec.rb
523
565
  - spec/mongo/cluster/topology/replica_set_spec.rb
524
566
  - spec/mongo/cluster/topology/sharded_spec.rb
525
567
  - spec/mongo/cluster/topology/single_spec.rb
@@ -540,13 +582,35 @@ files:
540
582
  - spec/mongo/collection/view/writable_spec.rb
541
583
  - spec/mongo/collection/view_spec.rb
542
584
  - spec/mongo/collection_spec.rb
585
+ - spec/mongo/crypt/auto_decryption_context_spec.rb
586
+ - spec/mongo/crypt/auto_encrypter_spec.rb
587
+ - spec/mongo/crypt/auto_encryption_context_spec.rb
588
+ - spec/mongo/crypt/binary_spec.rb
589
+ - spec/mongo/crypt/binding/binary_spec.rb
590
+ - spec/mongo/crypt/binding/context_spec.rb
591
+ - spec/mongo/crypt/binding/helpers_spec.rb
592
+ - spec/mongo/crypt/binding/mongocrypt_spec.rb
593
+ - spec/mongo/crypt/binding/status_spec.rb
594
+ - spec/mongo/crypt/binding/version_spec.rb
595
+ - spec/mongo/crypt/binding_unloaded_spec.rb
596
+ - spec/mongo/crypt/data_key_context_spec.rb
597
+ - spec/mongo/crypt/encryption_io_spec.rb
598
+ - spec/mongo/crypt/explicit_decryption_context_spec.rb
599
+ - spec/mongo/crypt/explicit_encryption_context_spec.rb
600
+ - spec/mongo/crypt/handle_spec.rb
601
+ - spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb
602
+ - spec/mongo/crypt/status_spec.rb
543
603
  - spec/mongo/cursor/builder/get_more_command_spec.rb
544
604
  - spec/mongo/cursor/builder/op_get_more_spec.rb
545
605
  - spec/mongo/cursor/builder/op_kill_cursors_spec.rb
546
606
  - spec/mongo/cursor_spec.rb
547
607
  - spec/mongo/database_spec.rb
548
608
  - spec/mongo/dbref_spec.rb
609
+ - spec/mongo/error/bulk_write_error_spec.rb
610
+ - spec/mongo/error/crypt_error_spec.rb
611
+ - spec/mongo/error/max_bson_size_spec.rb
549
612
  - spec/mongo/error/no_server_available_spec.rb
613
+ - spec/mongo/error/notable_spec.rb
550
614
  - spec/mongo/error/operation_failure_spec.rb
551
615
  - spec/mongo/error/parser_spec.rb
552
616
  - spec/mongo/event/publisher_spec.rb
@@ -608,7 +672,8 @@ files:
608
672
  - spec/mongo/operation/kill_cursors_spec.rb
609
673
  - spec/mongo/operation/limited_spec.rb
610
674
  - spec/mongo/operation/map_reduce_spec.rb
611
- - spec/mongo/operation/read_preference_spec.rb
675
+ - spec/mongo/operation/read_preference_legacy_spec.rb
676
+ - spec/mongo/operation/read_preference_op_msg_spec.rb
612
677
  - spec/mongo/operation/remove_user_spec.rb
613
678
  - spec/mongo/operation/result_spec.rb
614
679
  - spec/mongo/operation/specifiable_spec.rb
@@ -658,18 +723,45 @@ files:
658
723
  - spec/mongo/socket_spec.rb
659
724
  - spec/mongo/srv/monitor_spec.rb
660
725
  - spec/mongo/srv/result_spec.rb
726
+ - spec/mongo/timeout_spec.rb
661
727
  - spec/mongo/uri/srv_protocol_spec.rb
662
728
  - spec/mongo/uri_option_parsing_spec.rb
663
729
  - spec/mongo/uri_spec.rb
664
730
  - spec/mongo/write_concern/acknowledged_spec.rb
665
731
  - spec/mongo/write_concern/unacknowledged_spec.rb
666
732
  - spec/mongo/write_concern_spec.rb
733
+ - spec/runners/auth.rb
734
+ - spec/runners/change_streams.rb
735
+ - spec/runners/change_streams/operation.rb
736
+ - spec/runners/cmap.rb
737
+ - spec/runners/cmap/verifier.rb
738
+ - spec/runners/command_monitoring.rb
667
739
  - spec/runners/connection_string.rb
740
+ - spec/runners/crud.rb
741
+ - spec/runners/crud/context.rb
742
+ - spec/runners/crud/operation.rb
743
+ - spec/runners/crud/outcome.rb
744
+ - spec/runners/crud/requirement.rb
745
+ - spec/runners/crud/spec.rb
746
+ - spec/runners/crud/test.rb
747
+ - spec/runners/crud/test_base.rb
748
+ - spec/runners/crud/verifier.rb
749
+ - spec/runners/gridfs.rb
668
750
  - spec/runners/read_write_concern_document.rb
669
751
  - spec/runners/sdam/verifier.rb
752
+ - spec/runners/sdam_monitoring.rb
753
+ - spec/runners/server_discovery_and_monitoring.rb
754
+ - spec/runners/server_selection.rb
755
+ - spec/runners/server_selection_rtt.rb
756
+ - spec/runners/transactions.rb
757
+ - spec/runners/transactions/context.rb
758
+ - spec/runners/transactions/operation.rb
759
+ - spec/runners/transactions/spec.rb
760
+ - spec/runners/transactions/test.rb
670
761
  - spec/spec_helper.rb
671
762
  - spec/spec_tests/auth_spec.rb
672
763
  - spec/spec_tests/change_streams_spec.rb
764
+ - spec/spec_tests/client_side_encryption_spec.rb
673
765
  - spec/spec_tests/cmap_spec.rb
674
766
  - spec/spec_tests/command_monitoring_spec.rb
675
767
  - spec/spec_tests/connection_string_spec.rb
@@ -677,6 +769,35 @@ files:
677
769
  - spec/spec_tests/data/auth/connection-string.yml
678
770
  - spec/spec_tests/data/change_streams/change-streams-errors.yml
679
771
  - spec/spec_tests/data/change_streams/change-streams.yml
772
+ - spec/spec_tests/data/client_side_encryption/aggregate.yml
773
+ - spec/spec_tests/data/client_side_encryption/badQueries.yml
774
+ - spec/spec_tests/data/client_side_encryption/badSchema.yml
775
+ - spec/spec_tests/data/client_side_encryption/basic.yml
776
+ - spec/spec_tests/data/client_side_encryption/bulk.yml
777
+ - spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml
778
+ - spec/spec_tests/data/client_side_encryption/bypassedCommand.yml
779
+ - spec/spec_tests/data/client_side_encryption/count.yml
780
+ - spec/spec_tests/data/client_side_encryption/countDocuments.yml
781
+ - spec/spec_tests/data/client_side_encryption/delete.yml
782
+ - spec/spec_tests/data/client_side_encryption/distinct.yml
783
+ - spec/spec_tests/data/client_side_encryption/explain.yml
784
+ - spec/spec_tests/data/client_side_encryption/find.yml
785
+ - spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml
786
+ - spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml
787
+ - spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml
788
+ - spec/spec_tests/data/client_side_encryption/getMore.yml
789
+ - spec/spec_tests/data/client_side_encryption/insert.yml
790
+ - spec/spec_tests/data/client_side_encryption/keyAltName.yml
791
+ - spec/spec_tests/data/client_side_encryption/localKMS.yml
792
+ - spec/spec_tests/data/client_side_encryption/localSchema.yml
793
+ - spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml
794
+ - spec/spec_tests/data/client_side_encryption/maxWireVersion.yml
795
+ - spec/spec_tests/data/client_side_encryption/missingKey.yml
796
+ - spec/spec_tests/data/client_side_encryption/replaceOne.yml
797
+ - spec/spec_tests/data/client_side_encryption/types.yml
798
+ - spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml
799
+ - spec/spec_tests/data/client_side_encryption/updateMany.yml
800
+ - spec/spec_tests/data/client_side_encryption/updateOne.yml
680
801
  - spec/spec_tests/data/cmap/connection-must-have-id.yml
681
802
  - spec/spec_tests/data/cmap/connection-must-order-ids.yml
682
803
  - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
@@ -911,7 +1032,6 @@ files:
911
1032
  - spec/spec_tests/data/sdam/rs/normalize_case.yml
912
1033
  - spec/spec_tests/data/sdam/rs/normalize_case_me.yml
913
1034
  - spec/spec_tests/data/sdam/rs/null_election_id.yml
914
- - spec/spec_tests/data/sdam/rs/primary_address_change.yml
915
1035
  - spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml
916
1036
  - spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml
917
1037
  - spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml
@@ -921,17 +1041,20 @@ files:
921
1041
  - spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml
922
1042
  - spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml
923
1043
  - spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml
1044
+ - spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml
924
1045
  - spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml
925
1046
  - spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml
926
1047
  - spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml
1048
+ - spec/spec_tests/data/sdam/rs/repeated.yml
927
1049
  - spec/spec_tests/data/sdam/rs/response_from_removed.yml
928
1050
  - spec/spec_tests/data/sdam/rs/rsother_discovered.yml
1051
+ - spec/spec_tests/data/sdam/rs/ruby_primary_address_change.yml
1052
+ - spec/spec_tests/data/sdam/rs/ruby_secondary_wrong_set_name_with_primary_second.yml
929
1053
  - spec/spec_tests/data/sdam/rs/sec_not_auth.yml
930
1054
  - spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml
931
1055
  - spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml
932
1056
  - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml
933
1057
  - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary.yml
934
- - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary_second.yml
935
1058
  - spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml
936
1059
  - spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml
937
1060
  - spec/spec_tests/data/sdam/rs/too_new.yml
@@ -945,9 +1068,9 @@ files:
945
1068
  - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
946
1069
  - spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml
947
1070
  - spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml
948
- - spec/spec_tests/data/sdam/sharded/primary_address_change.yml
949
- - spec/spec_tests/data/sdam/sharded/primary_mismatched_me.yml
950
- - spec/spec_tests/data/sdam/sharded/single_mongos.yml
1071
+ - spec/spec_tests/data/sdam/sharded/ruby_discovered_single_mongos.yml
1072
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_different_address.yml
1073
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_mismatched_me.yml
951
1074
  - spec/spec_tests/data/sdam/sharded/too_new.yml
952
1075
  - spec/spec_tests/data/sdam/sharded/too_old.yml
953
1076
  - spec/spec_tests/data/sdam/single/compatible.yml
@@ -960,8 +1083,8 @@ files:
960
1083
  - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
961
1084
  - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
962
1085
  - spec/spec_tests/data/sdam/single/not_ok_response.yml
963
- - spec/spec_tests/data/sdam/single/primary_address_change.yml
964
- - spec/spec_tests/data/sdam/single/primary_mismatched_me.yml
1086
+ - spec/spec_tests/data/sdam/single/ruby_primary_different_address.yml
1087
+ - spec/spec_tests/data/sdam/single/ruby_primary_mismatched_me.yml
965
1088
  - spec/spec_tests/data/sdam/single/standalone_removed.yml
966
1089
  - spec/spec_tests/data/sdam/single/too_new.yml
967
1090
  - spec/spec_tests/data/sdam/single/too_old.yml
@@ -969,17 +1092,18 @@ files:
969
1092
  - spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml
970
1093
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml
971
1094
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
1095
+ - spec/spec_tests/data/sdam_monitoring/replica_set_primary_address_change.yml
972
1096
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
973
1097
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml
974
1098
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
975
1099
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml
976
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_change.yml
977
1100
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
978
1101
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
979
1102
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
980
1103
  - spec/spec_tests/data/sdam_monitoring/required_replica_set.yml
981
1104
  - spec/spec_tests/data/sdam_monitoring/standalone.yml
982
1105
  - spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml
1106
+ - spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml
983
1107
  - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
984
1108
  - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml
985
1109
  - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml
@@ -1080,7 +1204,6 @@ files:
1080
1204
  - spec/spec_tests/uri_options_spec.rb
1081
1205
  - spec/stress/connection_pool_stress_spec.rb
1082
1206
  - spec/stress/connection_pool_timing_spec.rb
1083
- - spec/support/auth.rb
1084
1207
  - spec/support/authorization.rb
1085
1208
  - spec/support/background_thread_registry.rb
1086
1209
  - spec/support/certificates/README.md
@@ -1107,30 +1230,31 @@ files:
1107
1230
  - spec/support/certificates/server-second-level.key
1108
1231
  - spec/support/certificates/server-second-level.pem
1109
1232
  - spec/support/certificates/server.pem
1110
- - spec/support/change_streams.rb
1111
- - spec/support/change_streams/operation.rb
1112
1233
  - spec/support/client_registry.rb
1113
1234
  - spec/support/client_registry_macros.rb
1114
1235
  - spec/support/cluster_config.rb
1115
1236
  - spec/support/cluster_tools.rb
1116
- - spec/support/cmap.rb
1117
- - spec/support/cmap/verifier.rb
1118
- - spec/support/command_monitoring.rb
1119
1237
  - spec/support/common_shortcuts.rb
1120
- - spec/support/connection_string.rb
1121
1238
  - spec/support/constraints.rb
1122
- - spec/support/crud.rb
1123
- - spec/support/crud/context.rb
1124
- - spec/support/crud/operation.rb
1125
- - spec/support/crud/outcome.rb
1126
- - spec/support/crud/requirement.rb
1127
- - spec/support/crud/spec.rb
1128
- - spec/support/crud/test.rb
1129
- - spec/support/crud/test_base.rb
1130
- - spec/support/crud/verifier.rb
1239
+ - spec/support/crypt.rb
1240
+ - spec/support/crypt/corpus/corpus-key-aws.json
1241
+ - spec/support/crypt/corpus/corpus-key-local.json
1242
+ - spec/support/crypt/corpus/corpus-schema.json
1243
+ - spec/support/crypt/corpus/corpus.json
1244
+ - spec/support/crypt/corpus/corpus_encrypted.json
1245
+ - spec/support/crypt/data_keys/key_document_aws.json
1246
+ - spec/support/crypt/data_keys/key_document_local.json
1247
+ - spec/support/crypt/external/external-key.json
1248
+ - spec/support/crypt/external/external-schema.json
1249
+ - spec/support/crypt/limits/limits-doc.json
1250
+ - spec/support/crypt/limits/limits-key.json
1251
+ - spec/support/crypt/limits/limits-schema.json
1252
+ - spec/support/crypt/schema_maps/schema_map_aws.json
1253
+ - spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json
1254
+ - spec/support/crypt/schema_maps/schema_map_local.json
1255
+ - spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json
1131
1256
  - spec/support/dns.rb
1132
1257
  - spec/support/event_subscriber.rb
1133
- - spec/support/gridfs.rb
1134
1258
  - spec/support/json_ext_formatter.rb
1135
1259
  - spec/support/lite_constraints.rb
1136
1260
  - spec/support/local_resource_registry.rb
@@ -1138,20 +1262,11 @@ files:
1138
1262
  - spec/support/monitoring_ext.rb
1139
1263
  - spec/support/primary_socket.rb
1140
1264
  - spec/support/sdam_formatter_integration.rb
1141
- - spec/support/sdam_monitoring.rb
1142
- - spec/support/server_discovery_and_monitoring.rb
1143
- - spec/support/server_selection.rb
1144
- - spec/support/server_selection_rtt.rb
1145
1265
  - spec/support/shared/protocol.rb
1146
1266
  - spec/support/shared/server_selector.rb
1147
1267
  - spec/support/shared/session.rb
1148
1268
  - spec/support/spec_config.rb
1149
1269
  - spec/support/spec_setup.rb
1150
- - spec/support/transactions.rb
1151
- - spec/support/transactions/context.rb
1152
- - spec/support/transactions/operation.rb
1153
- - spec/support/transactions/spec.rb
1154
- - spec/support/transactions/test.rb
1155
1270
  - spec/support/utils.rb
1156
1271
  homepage: https://docs.mongodb.com/ruby-driver/
1157
1272
  licenses:
@@ -1161,7 +1276,6 @@ metadata:
1161
1276
  changelog_uri: https://github.com/mongodb/mongo-ruby-driver/releases
1162
1277
  documentation_uri: https://docs.mongodb.com/ruby-driver/
1163
1278
  homepage_uri: https://docs.mongodb.com/ruby-driver/
1164
- mailing_list_uri: https://groups.google.com/group/mongodb-user
1165
1279
  source_code_uri: https://github.com/mongodb/mongo-ruby-driver
1166
1280
  post_install_message:
1167
1281
  rdoc_options: []
@@ -1183,713 +1297,806 @@ signing_key:
1183
1297
  specification_version: 4
1184
1298
  summary: Ruby driver for MongoDB
1185
1299
  test_files:
1186
- - spec/support/background_thread_registry.rb
1187
- - spec/support/change_streams.rb
1188
- - spec/support/change_streams/operation.rb
1189
- - spec/support/server_discovery_and_monitoring.rb
1190
- - spec/support/server_selection.rb
1191
- - spec/support/certificates/client-x509.pem
1192
- - spec/support/certificates/client-int.crt
1193
- - spec/support/certificates/README.md
1194
- - spec/support/certificates/server-second-level.key
1195
- - spec/support/certificates/client-second-level-bundle.pem
1196
- - spec/support/certificates/server.pem
1197
- - spec/support/certificates/client-x509.key
1198
- - spec/support/certificates/client-second-level.key
1199
- - spec/support/certificates/crl_client_revoked.pem
1200
- - spec/support/certificates/server-second-level.pem
1201
- - spec/support/certificates/client-x509.crt
1202
- - spec/support/certificates/client.pem
1203
- - spec/support/certificates/client-encrypted.key
1204
- - spec/support/certificates/multi-ca.crt
1205
- - spec/support/certificates/crl.pem
1206
- - spec/support/certificates/server-int.crt
1207
- - spec/support/certificates/client.key
1208
- - spec/support/certificates/ca.crt
1209
- - spec/support/certificates/python-ca.crt
1210
- - spec/support/certificates/client-second-level.crt
1211
- - spec/support/certificates/client.crt
1212
- - spec/support/certificates/client-second-level.pem
1213
- - spec/support/certificates/server-second-level.crt
1214
- - spec/support/certificates/server-second-level-bundle.pem
1215
- - spec/support/utils.rb
1216
- - spec/support/cluster_config.rb
1217
- - spec/support/client_registry.rb
1218
- - spec/support/auth.rb
1219
- - spec/support/sdam_formatter_integration.rb
1220
- - spec/support/constraints.rb
1221
- - spec/support/connection_string.rb
1222
- - spec/support/sdam_monitoring.rb
1223
- - spec/support/json_ext_formatter.rb
1224
- - spec/support/cmap/verifier.rb
1225
- - spec/support/shared/protocol.rb
1226
- - spec/support/shared/server_selector.rb
1227
- - spec/support/shared/session.rb
1228
- - spec/support/dns.rb
1229
- - spec/support/cmap.rb
1230
- - spec/support/authorization.rb
1231
- - spec/support/crud/spec.rb
1232
- - spec/support/crud/test_base.rb
1233
- - spec/support/crud/context.rb
1234
- - spec/support/crud/operation.rb
1235
- - spec/support/crud/test.rb
1236
- - spec/support/crud/verifier.rb
1237
- - spec/support/crud/requirement.rb
1238
- - spec/support/crud/outcome.rb
1239
- - spec/support/common_shortcuts.rb
1240
- - spec/support/monitoring_ext.rb
1241
- - spec/support/client_registry_macros.rb
1242
- - spec/support/gridfs.rb
1243
- - spec/support/server_selection_rtt.rb
1244
- - spec/support/matchers.rb
1245
- - spec/support/command_monitoring.rb
1246
- - spec/support/primary_socket.rb
1247
- - spec/support/spec_config.rb
1248
- - spec/support/event_subscriber.rb
1249
- - spec/support/local_resource_registry.rb
1250
- - spec/support/crud.rb
1251
- - spec/support/transactions.rb
1252
- - spec/support/cluster_tools.rb
1253
- - spec/support/transactions/spec.rb
1254
- - spec/support/transactions/context.rb
1255
- - spec/support/transactions/operation.rb
1256
- - spec/support/transactions/test.rb
1257
- - spec/support/spec_setup.rb
1258
- - spec/support/lite_constraints.rb
1259
- - spec/README.md
1260
- - spec/integration/client_options_spec.rb
1261
- - spec/integration/ssl_uri_options_spec.rb
1262
- - spec/integration/crud_spec.rb
1263
- - spec/integration/get_more_spec.rb
1264
- - spec/integration/step_down_spec.rb
1265
- - spec/integration/read_concern_spec.rb
1266
- - spec/integration/server_description_spec.rb
1267
- - spec/integration/connection_spec.rb
1268
- - spec/integration/operation_failure_code_spec.rb
1269
- - spec/integration/error_detection_spec.rb
1270
- - spec/integration/connect_single_rs_name_spec.rb
1271
- - spec/integration/mmapv1_spec.rb
1300
+ - spec/kerberos/kerberos_spec.rb
1301
+ - spec/spec_helper.rb
1302
+ - spec/integration/read_preference_spec.rb
1272
1303
  - spec/integration/sdam_events_spec.rb
1273
- - spec/integration/shell_examples_spec.rb
1274
- - spec/integration/cursor_reaping_spec.rb
1304
+ - spec/integration/connect_single_rs_name_spec.rb
1305
+ - spec/integration/docs_examples_spec.rb
1306
+ - spec/integration/time_zone_querying_spec.rb
1275
1307
  - spec/integration/client_spec.rb
1308
+ - spec/integration/operation_failure_code_spec.rb
1276
1309
  - spec/integration/server_spec.rb
1277
- - spec/integration/client_construction_spec.rb
1278
- - spec/integration/server_selector_spec.rb
1279
- - spec/integration/retryable_writes_spec.rb
1280
- - spec/integration/retryable_errors_spec.rb
1310
+ - spec/integration/crud_spec.rb
1311
+ - spec/integration/cursor_reaping_spec.rb
1281
1312
  - spec/integration/connection_pool_populator_spec.rb
1313
+ - spec/integration/size_limit_spec.rb
1314
+ - spec/integration/change_stream_spec.rb
1315
+ - spec/integration/bulk_insert_spec.rb
1282
1316
  - spec/integration/bson_symbol_spec.rb
1283
- - spec/integration/change_stream_examples_spec.rb
1284
- - spec/integration/transactions_examples_spec.rb
1285
- - spec/integration/srv_monitoring_spec.rb
1286
- - spec/integration/command_monitoring_spec.rb
1287
- - spec/integration/read_preference_spec.rb
1288
1317
  - spec/integration/reconnect_spec.rb
1289
- - spec/integration/client_connectivity_spec.rb
1290
- - spec/integration/bulk_insert_spec.rb
1291
- - spec/integration/auth_spec.rb
1292
- - spec/integration/command_spec.rb
1293
- - spec/integration/change_stream_spec.rb
1294
- - spec/integration/time_zone_querying_spec.rb
1318
+ - spec/integration/error_detection_spec.rb
1319
+ - spec/integration/retryable_writes_errors_spec.rb
1320
+ - spec/integration/retryable_writes_spec.rb
1321
+ - spec/integration/mmapv1_spec.rb
1322
+ - spec/integration/client_side_encryption/explicit_encryption_spec.rb
1323
+ - spec/integration/client_side_encryption/data_key_spec.rb
1324
+ - spec/integration/client_side_encryption/corpus_spec.rb
1325
+ - spec/integration/client_side_encryption/client_close_spec.rb
1326
+ - spec/integration/client_side_encryption/custom_endpoint_spec.rb
1327
+ - spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb
1328
+ - spec/integration/client_side_encryption/bson_size_limit_spec.rb
1329
+ - spec/integration/client_side_encryption/external_key_vault_spec.rb
1330
+ - spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb
1331
+ - spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb
1332
+ - spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb
1333
+ - spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb
1334
+ - spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb
1335
+ - spec/integration/client_side_encryption/auto_encryption_spec.rb
1336
+ - spec/integration/client_side_encryption/views_spec.rb
1295
1337
  - spec/integration/mongos_pinning_spec.rb
1296
1338
  - spec/integration/heartbeat_events_spec.rb
1297
- - spec/integration/retryable_writes_errors_spec.rb
1298
- - spec/integration/docs_examples_spec.rb
1299
1339
  - spec/integration/sdam_error_handling_spec.rb
1340
+ - spec/integration/retryable_errors_spec.rb
1341
+ - spec/integration/command_spec.rb
1342
+ - spec/integration/grid_fs_bucket_spec.rb
1343
+ - spec/integration/get_more_spec.rb
1344
+ - spec/integration/shell_examples_spec.rb
1345
+ - spec/integration/client_construction_spec.rb
1346
+ - spec/integration/read_concern_spec.rb
1347
+ - spec/integration/transactions_examples_spec.rb
1348
+ - spec/integration/bulk_write_spec.rb
1349
+ - spec/integration/change_stream_examples_spec.rb
1350
+ - spec/integration/connection_spec.rb
1351
+ - spec/integration/client_authentication_options_spec.rb
1352
+ - spec/integration/command_monitoring_spec.rb
1353
+ - spec/integration/ssl_uri_options_spec.rb
1354
+ - spec/integration/step_down_spec.rb
1355
+ - spec/integration/client_connectivity_spec.rb
1356
+ - spec/integration/client_update_spec.rb
1300
1357
  - spec/integration/server_monitor_spec.rb
1358
+ - spec/integration/srv_monitoring_spec.rb
1359
+ - spec/integration/server_description_spec.rb
1360
+ - spec/integration/auth_spec.rb
1361
+ - spec/integration/server_selector_spec.rb
1362
+ - spec/integration/zlib_compression_spec.rb
1363
+ - spec/lite_spec_helper.rb
1364
+ - spec/README.md
1301
1365
  - spec/USERS.md
1302
- - spec/mongo/cursor_spec.rb
1366
+ - spec/support/client_registry_macros.rb
1367
+ - spec/support/common_shortcuts.rb
1368
+ - spec/support/constraints.rb
1369
+ - spec/support/matchers.rb
1370
+ - spec/support/background_thread_registry.rb
1371
+ - spec/support/monitoring_ext.rb
1372
+ - spec/support/client_registry.rb
1373
+ - spec/support/lite_constraints.rb
1374
+ - spec/support/crypt/corpus/corpus-key-local.json
1375
+ - spec/support/crypt/corpus/corpus.json
1376
+ - spec/support/crypt/corpus/corpus-key-aws.json
1377
+ - spec/support/crypt/corpus/corpus-schema.json
1378
+ - spec/support/crypt/corpus/corpus_encrypted.json
1379
+ - spec/support/crypt/schema_maps/schema_map_local.json
1380
+ - spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json
1381
+ - spec/support/crypt/schema_maps/schema_map_aws.json
1382
+ - spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json
1383
+ - spec/support/crypt/limits/limits-doc.json
1384
+ - spec/support/crypt/limits/limits-key.json
1385
+ - spec/support/crypt/limits/limits-schema.json
1386
+ - spec/support/crypt/data_keys/key_document_local.json
1387
+ - spec/support/crypt/data_keys/key_document_aws.json
1388
+ - spec/support/crypt/external/external-schema.json
1389
+ - spec/support/crypt/external/external-key.json
1390
+ - spec/support/json_ext_formatter.rb
1391
+ - spec/support/sdam_formatter_integration.rb
1392
+ - spec/support/primary_socket.rb
1393
+ - spec/support/shared/server_selector.rb
1394
+ - spec/support/shared/session.rb
1395
+ - spec/support/shared/protocol.rb
1396
+ - spec/support/certificates/client-second-level.key
1397
+ - spec/support/certificates/client-second-level-bundle.pem
1398
+ - spec/support/certificates/server-second-level.crt
1399
+ - spec/support/certificates/client.crt
1400
+ - spec/support/certificates/client-x509.crt
1401
+ - spec/support/certificates/server.pem
1402
+ - spec/support/certificates/ca.crt
1403
+ - spec/support/certificates/crl.pem
1404
+ - spec/support/certificates/server-second-level-bundle.pem
1405
+ - spec/support/certificates/client-second-level.pem
1406
+ - spec/support/certificates/client.pem
1407
+ - spec/support/certificates/README.md
1408
+ - spec/support/certificates/server-second-level.key
1409
+ - spec/support/certificates/client-x509.pem
1410
+ - spec/support/certificates/client-encrypted.key
1411
+ - spec/support/certificates/client-second-level.crt
1412
+ - spec/support/certificates/server-int.crt
1413
+ - spec/support/certificates/client-int.crt
1414
+ - spec/support/certificates/crl_client_revoked.pem
1415
+ - spec/support/certificates/python-ca.crt
1416
+ - spec/support/certificates/client-x509.key
1417
+ - spec/support/certificates/server-second-level.pem
1418
+ - spec/support/certificates/multi-ca.crt
1419
+ - spec/support/certificates/client.key
1420
+ - spec/support/utils.rb
1421
+ - spec/support/authorization.rb
1422
+ - spec/support/spec_config.rb
1423
+ - spec/support/spec_setup.rb
1424
+ - spec/support/cluster_tools.rb
1425
+ - spec/support/dns.rb
1426
+ - spec/support/local_resource_registry.rb
1427
+ - spec/support/event_subscriber.rb
1428
+ - spec/support/crypt.rb
1429
+ - spec/support/cluster_config.rb
1430
+ - spec/mongo/operation/collections_info_spec.rb
1431
+ - spec/mongo/operation/delete_spec.rb
1432
+ - spec/mongo/operation/drop_index_spec.rb
1433
+ - spec/mongo/operation/insert/bulk_spec.rb
1434
+ - spec/mongo/operation/insert/command_spec.rb
1435
+ - spec/mongo/operation/insert/op_msg_spec.rb
1436
+ - spec/mongo/operation/aggregate_spec.rb
1437
+ - spec/mongo/operation/update/bulk_spec.rb
1438
+ - spec/mongo/operation/update/command_spec.rb
1439
+ - spec/mongo/operation/update/op_msg_spec.rb
1440
+ - spec/mongo/operation/delete/bulk_spec.rb
1441
+ - spec/mongo/operation/delete/command_spec.rb
1442
+ - spec/mongo/operation/delete/op_msg_spec.rb
1443
+ - spec/mongo/operation/aggregate/result_spec.rb
1444
+ - spec/mongo/operation/map_reduce_spec.rb
1445
+ - spec/mongo/operation/create_index_spec.rb
1446
+ - spec/mongo/operation/update_spec.rb
1447
+ - spec/mongo/operation/remove_user_spec.rb
1448
+ - spec/mongo/operation/read_preference_legacy_spec.rb
1449
+ - spec/mongo/operation/specifiable_spec.rb
1450
+ - spec/mongo/operation/result_spec.rb
1451
+ - spec/mongo/operation/command_spec.rb
1452
+ - spec/mongo/operation/read_preference_op_msg_spec.rb
1453
+ - spec/mongo/operation/get_more_spec.rb
1454
+ - spec/mongo/operation/insert_spec.rb
1455
+ - spec/mongo/operation/limited_spec.rb
1456
+ - spec/mongo/operation/indexes_spec.rb
1457
+ - spec/mongo/operation/find/legacy_spec.rb
1458
+ - spec/mongo/operation/update_user_spec.rb
1459
+ - spec/mongo/operation/create_user_spec.rb
1460
+ - spec/mongo/operation/kill_cursors_spec.rb
1461
+ - spec/mongo/session_spec.rb
1303
1462
  - spec/mongo/collection_spec.rb
1304
- - spec/mongo/server/round_trip_time_averager_spec.rb
1463
+ - spec/mongo/options/redacted_spec.rb
1464
+ - spec/mongo/cursor_spec.rb
1465
+ - spec/mongo/write_concern/unacknowledged_spec.rb
1466
+ - spec/mongo/write_concern/acknowledged_spec.rb
1467
+ - spec/mongo/cluster/topology/sharded_spec.rb
1468
+ - spec/mongo/cluster/topology/single_spec.rb
1469
+ - spec/mongo/cluster/topology/replica_set_spec.rb
1470
+ - spec/mongo/cluster/topology/unknown_spec.rb
1471
+ - spec/mongo/cluster/cursor_reaper_spec.rb
1472
+ - spec/mongo/cluster/periodic_executor_spec.rb
1473
+ - spec/mongo/cluster/topology_spec.rb
1474
+ - spec/mongo/cluster/socket_reaper_spec.rb
1475
+ - spec/mongo/server_selector/primary_preferred_spec.rb
1476
+ - spec/mongo/server_selector/secondary_preferred_spec.rb
1477
+ - spec/mongo/server_selector/primary_spec.rb
1478
+ - spec/mongo/server_selector/secondary_spec.rb
1479
+ - spec/mongo/server_selector/nearest_spec.rb
1480
+ - spec/mongo/client_spec.rb
1481
+ - spec/mongo/collection/view_spec.rb
1482
+ - spec/mongo/collection/view/aggregation_spec.rb
1483
+ - spec/mongo/collection/view/change_stream_spec.rb
1484
+ - spec/mongo/collection/view/map_reduce_spec.rb
1485
+ - spec/mongo/collection/view/readable_spec.rb
1486
+ - spec/mongo/collection/view/immutable_spec.rb
1487
+ - spec/mongo/collection/view/explainable_spec.rb
1488
+ - spec/mongo/collection/view/builder/modifiers_spec.rb
1489
+ - spec/mongo/collection/view/builder/find_command_spec.rb
1490
+ - spec/mongo/collection/view/builder/op_query_spec.rb
1491
+ - spec/mongo/collection/view/builder/flags_spec.rb
1492
+ - spec/mongo/collection/view/writable_spec.rb
1493
+ - spec/mongo/server_spec.rb
1494
+ - spec/mongo/logger_spec.rb
1495
+ - spec/mongo/cursor/builder/get_more_command_spec.rb
1496
+ - spec/mongo/cursor/builder/op_kill_cursors_spec.rb
1497
+ - spec/mongo/cursor/builder/op_get_more_spec.rb
1498
+ - spec/mongo/cluster_time_spec.rb
1499
+ - spec/mongo/auth/cr_spec.rb
1500
+ - spec/mongo/auth/ldap/conversation_spec.rb
1501
+ - spec/mongo/auth/user/view_spec.rb
1502
+ - spec/mongo/auth/x509/conversation_spec.rb
1503
+ - spec/mongo/auth/ldap_spec.rb
1504
+ - spec/mongo/auth/scram/conversation_spec.rb
1505
+ - spec/mongo/auth/scram/negotiation_spec.rb
1506
+ - spec/mongo/auth/invalid_mechanism_spec.rb
1507
+ - spec/mongo/auth/scram_spec.rb
1508
+ - spec/mongo/auth/stringprep_spec.rb
1509
+ - spec/mongo/auth/user_spec.rb
1510
+ - spec/mongo/auth/x509_spec.rb
1511
+ - spec/mongo/auth/stringprep/profiles/sasl_spec.rb
1512
+ - spec/mongo/database_spec.rb
1513
+ - spec/mongo/crypt/encryption_io_spec.rb
1514
+ - spec/mongo/crypt/auto_decryption_context_spec.rb
1515
+ - spec/mongo/crypt/data_key_context_spec.rb
1516
+ - spec/mongo/crypt/auto_encryption_context_spec.rb
1517
+ - spec/mongo/crypt/binding_unloaded_spec.rb
1518
+ - spec/mongo/crypt/binding/mongocrypt_spec.rb
1519
+ - spec/mongo/crypt/binding/context_spec.rb
1520
+ - spec/mongo/crypt/binding/version_spec.rb
1521
+ - spec/mongo/crypt/binding/helpers_spec.rb
1522
+ - spec/mongo/crypt/binding/binary_spec.rb
1523
+ - spec/mongo/crypt/binding/status_spec.rb
1524
+ - spec/mongo/crypt/binary_spec.rb
1525
+ - spec/mongo/crypt/status_spec.rb
1526
+ - spec/mongo/crypt/handle_spec.rb
1527
+ - spec/mongo/crypt/explicit_decryption_context_spec.rb
1528
+ - spec/mongo/crypt/auto_encrypter_spec.rb
1529
+ - spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb
1530
+ - spec/mongo/crypt/explicit_encryption_context_spec.rb
1531
+ - spec/mongo/socket_spec.rb
1532
+ - spec/mongo/id_spec.rb
1533
+ - spec/mongo/bson_spec.rb
1305
1534
  - spec/mongo/server/app_metadata_spec.rb
1535
+ - spec/mongo/server/connection_pool_spec.rb
1306
1536
  - spec/mongo/server/monitor/app_metadata_spec.rb
1307
1537
  - spec/mongo/server/monitor/connection_spec.rb
1308
- - spec/mongo/server/connection_spec.rb
1309
1538
  - spec/mongo/server/monitor_spec.rb
1310
- - spec/mongo/server/connection_auth_spec.rb
1539
+ - spec/mongo/server/connection_pool/populator_spec.rb
1540
+ - spec/mongo/server/round_trip_time_averager_spec.rb
1311
1541
  - spec/mongo/server/description/features_spec.rb
1542
+ - spec/mongo/server/connection_spec.rb
1312
1543
  - spec/mongo/server/description_spec.rb
1313
- - spec/mongo/server/connection_pool/populator_spec.rb
1314
- - spec/mongo/server/connection_pool_spec.rb
1544
+ - spec/mongo/server/connection_auth_spec.rb
1315
1545
  - spec/mongo/server/description_query_methods_spec.rb
1316
- - spec/mongo/session_spec.rb
1317
- - spec/mongo/grid/stream_spec.rb
1318
- - spec/mongo/grid/stream/write_spec.rb
1319
- - spec/mongo/grid/stream/read_spec.rb
1320
- - spec/mongo/grid/file_spec.rb
1321
- - spec/mongo/grid/file/chunk_spec.rb
1322
- - spec/mongo/grid/file/info_spec.rb
1323
- - spec/mongo/grid/fs_bucket_spec.rb
1324
- - spec/mongo/logger_spec.rb
1325
- - spec/mongo/cursor/builder/op_get_more_spec.rb
1326
- - spec/mongo/cursor/builder/op_kill_cursors_spec.rb
1327
- - spec/mongo/cursor/builder/get_more_command_spec.rb
1328
- - spec/mongo/server_selector/primary_spec.rb
1329
- - spec/mongo/server_selector/secondary_spec.rb
1330
- - spec/mongo/server_selector/nearest_spec.rb
1331
- - spec/mongo/server_selector/secondary_preferred_spec.rb
1332
- - spec/mongo/server_selector/primary_preferred_spec.rb
1333
- - spec/mongo/error/no_server_available_spec.rb
1334
- - spec/mongo/error/operation_failure_spec.rb
1335
- - spec/mongo/error/parser_spec.rb
1336
- - spec/mongo/retryable_spec.rb
1337
- - spec/mongo/write_concern_spec.rb
1338
- - spec/mongo/uri_option_parsing_spec.rb
1339
- - spec/mongo/lint_spec.rb
1340
1546
  - spec/mongo/dbref_spec.rb
1341
- - spec/mongo/cluster_time_spec.rb
1342
- - spec/mongo/options/redacted_spec.rb
1343
- - spec/mongo/srv/monitor_spec.rb
1344
- - spec/mongo/srv/result_spec.rb
1345
- - spec/mongo/client_spec.rb
1346
- - spec/mongo/server_spec.rb
1547
+ - spec/mongo/client_encryption_spec.rb
1548
+ - spec/mongo/protocol/compressed_spec.rb
1549
+ - spec/mongo/protocol/delete_spec.rb
1550
+ - spec/mongo/protocol/msg_spec.rb
1551
+ - spec/mongo/protocol/update_spec.rb
1552
+ - spec/mongo/protocol/reply_spec.rb
1553
+ - spec/mongo/protocol/registry_spec.rb
1554
+ - spec/mongo/protocol/get_more_spec.rb
1555
+ - spec/mongo/protocol/insert_spec.rb
1556
+ - spec/mongo/protocol/query_spec.rb
1557
+ - spec/mongo/protocol/kill_cursors_spec.rb
1558
+ - spec/mongo/timeout_spec.rb
1559
+ - spec/mongo/session_transaction_spec.rb
1560
+ - spec/mongo/uri_option_parsing_spec.rb
1561
+ - spec/mongo/write_concern_spec.rb
1347
1562
  - spec/mongo/client_construction_spec.rb
1563
+ - spec/mongo/bulk_write_spec.rb
1564
+ - spec/mongo/address/ipv6_spec.rb
1565
+ - spec/mongo/address/unix_spec.rb
1566
+ - spec/mongo/address/validator_spec.rb
1567
+ - spec/mongo/address/ipv4_spec.rb
1568
+ - spec/mongo/monitoring_spec.rb
1569
+ - spec/mongo/bulk_write/ordered_combiner_spec.rb
1570
+ - spec/mongo/bulk_write/result_spec.rb
1571
+ - spec/mongo/bulk_write/unordered_combiner_spec.rb
1572
+ - spec/mongo/lint_spec.rb
1573
+ - spec/mongo/index/view_spec.rb
1574
+ - spec/mongo/uri_spec.rb
1348
1575
  - spec/mongo/monitoring/command_log_subscriber_spec.rb
1349
- - spec/mongo/monitoring/event/server_opening_spec.rb
1350
- - spec/mongo/monitoring/event/server_heartbeat_started_spec.rb
1351
- - spec/mongo/monitoring/event/server_description_changed_spec.rb
1352
- - spec/mongo/monitoring/event/command_succeeded_spec.rb
1353
1576
  - spec/mongo/monitoring/event/command_failed_spec.rb
1354
- - spec/mongo/monitoring/event/command_started_spec.rb
1355
- - spec/mongo/monitoring/event/server_heartbeat_failed_spec.rb
1577
+ - spec/mongo/monitoring/event/server_heartbeat_started_spec.rb
1356
1578
  - spec/mongo/monitoring/event/topology_changed_spec.rb
1357
- - spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb
1579
+ - spec/mongo/monitoring/event/secure_spec.rb
1580
+ - spec/mongo/monitoring/event/server_opening_spec.rb
1581
+ - spec/mongo/monitoring/event/server_heartbeat_failed_spec.rb
1582
+ - spec/mongo/monitoring/event/server_description_changed_spec.rb
1583
+ - spec/mongo/monitoring/event/cmap/connection_checked_in_spec.rb
1358
1584
  - spec/mongo/monitoring/event/cmap/connection_created_spec.rb
1585
+ - spec/mongo/monitoring/event/cmap/pool_closed_spec.rb
1586
+ - spec/mongo/monitoring/event/cmap/connection_checked_out_spec.rb
1587
+ - spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb
1359
1588
  - spec/mongo/monitoring/event/cmap/pool_created_spec.rb
1360
1589
  - spec/mongo/monitoring/event/cmap/pool_cleared_spec.rb
1361
1590
  - spec/mongo/monitoring/event/cmap/connection_ready_spec.rb
1362
1591
  - spec/mongo/monitoring/event/cmap/connection_closed_spec.rb
1363
- - spec/mongo/monitoring/event/cmap/connection_checked_in_spec.rb
1364
- - spec/mongo/monitoring/event/cmap/pool_closed_spec.rb
1365
1592
  - spec/mongo/monitoring/event/cmap/connection_check_out_failed_spec.rb
1366
- - spec/mongo/monitoring/event/cmap/connection_checked_out_spec.rb
1593
+ - spec/mongo/monitoring/event/command_started_spec.rb
1367
1594
  - spec/mongo/monitoring/event/server_closed_spec.rb
1368
- - spec/mongo/monitoring/event/topology_closed_spec.rb
1369
- - spec/mongo/monitoring/event/server_heartbeat_succeeded_spec.rb
1370
- - spec/mongo/monitoring/event/secure_spec.rb
1371
1595
  - spec/mongo/monitoring/event/topology_opening_spec.rb
1596
+ - spec/mongo/monitoring/event/command_succeeded_spec.rb
1597
+ - spec/mongo/monitoring/event/server_heartbeat_succeeded_spec.rb
1598
+ - spec/mongo/monitoring/event/topology_closed_spec.rb
1599
+ - spec/mongo/uri/srv_protocol_spec.rb
1600
+ - spec/mongo/error/no_server_available_spec.rb
1601
+ - spec/mongo/error/bulk_write_error_spec.rb
1602
+ - spec/mongo/error/notable_spec.rb
1603
+ - spec/mongo/error/parser_spec.rb
1604
+ - spec/mongo/error/max_bson_size_spec.rb
1605
+ - spec/mongo/error/crypt_error_spec.rb
1606
+ - spec/mongo/error/operation_failure_spec.rb
1607
+ - spec/mongo/event/subscriber_spec.rb
1608
+ - spec/mongo/event/publisher_spec.rb
1609
+ - spec/mongo/auth_spec.rb
1610
+ - spec/mongo/server_selector_spec.rb
1611
+ - spec/mongo/srv/monitor_spec.rb
1612
+ - spec/mongo/srv/result_spec.rb
1613
+ - spec/mongo/socket/ssl_spec.rb
1372
1614
  - spec/mongo/socket/unix_spec.rb
1373
1615
  - spec/mongo/socket/tcp_spec.rb
1374
- - spec/mongo/socket/ssl_spec.rb
1375
- - spec/mongo/server_selector_spec.rb
1376
- - spec/mongo/address/ipv6_spec.rb
1377
- - spec/mongo/address/validator_spec.rb
1378
- - spec/mongo/address/ipv4_spec.rb
1379
- - spec/mongo/address/unix_spec.rb
1380
- - spec/mongo/session_transaction_spec.rb
1381
- - spec/mongo/uri_spec.rb
1382
- - spec/mongo/monitoring_spec.rb
1383
- - spec/mongo/socket_spec.rb
1384
- - spec/mongo/collection/view_spec.rb
1385
- - spec/mongo/collection/view/explainable_spec.rb
1386
- - spec/mongo/collection/view/aggregation_spec.rb
1387
- - spec/mongo/collection/view/map_reduce_spec.rb
1388
- - spec/mongo/collection/view/immutable_spec.rb
1389
- - spec/mongo/collection/view/builder/op_query_spec.rb
1390
- - spec/mongo/collection/view/builder/find_command_spec.rb
1391
- - spec/mongo/collection/view/builder/flags_spec.rb
1392
- - spec/mongo/collection/view/builder/modifiers_spec.rb
1393
- - spec/mongo/collection/view/readable_spec.rb
1394
- - spec/mongo/collection/view/writable_spec.rb
1395
- - spec/mongo/collection/view/change_stream_spec.rb
1396
- - spec/mongo/database_spec.rb
1397
- - spec/mongo/index/view_spec.rb
1398
- - spec/mongo/operation/limited_spec.rb
1399
- - spec/mongo/operation/map_reduce_spec.rb
1400
- - spec/mongo/operation/get_more_spec.rb
1401
- - spec/mongo/operation/specifiable_spec.rb
1402
- - spec/mongo/operation/collections_info_spec.rb
1403
- - spec/mongo/operation/aggregate/result_spec.rb
1404
- - spec/mongo/operation/delete_spec.rb
1405
- - spec/mongo/operation/delete/op_msg_spec.rb
1406
- - spec/mongo/operation/delete/bulk_spec.rb
1407
- - spec/mongo/operation/delete/command_spec.rb
1408
- - spec/mongo/operation/create_index_spec.rb
1409
- - spec/mongo/operation/update/op_msg_spec.rb
1410
- - spec/mongo/operation/update/bulk_spec.rb
1411
- - spec/mongo/operation/update/command_spec.rb
1412
- - spec/mongo/operation/create_user_spec.rb
1413
- - spec/mongo/operation/update_spec.rb
1414
- - spec/mongo/operation/update_user_spec.rb
1415
- - spec/mongo/operation/result_spec.rb
1416
- - spec/mongo/operation/indexes_spec.rb
1417
- - spec/mongo/operation/find/legacy_spec.rb
1418
- - spec/mongo/operation/drop_index_spec.rb
1419
- - spec/mongo/operation/aggregate_spec.rb
1420
- - spec/mongo/operation/kill_cursors_spec.rb
1421
- - spec/mongo/operation/insert/op_msg_spec.rb
1422
- - spec/mongo/operation/insert/bulk_spec.rb
1423
- - spec/mongo/operation/insert/command_spec.rb
1424
- - spec/mongo/operation/read_preference_spec.rb
1425
- - spec/mongo/operation/command_spec.rb
1426
- - spec/mongo/operation/insert_spec.rb
1427
- - spec/mongo/operation/remove_user_spec.rb
1428
- - spec/mongo/bulk_write/unordered_combiner_spec.rb
1429
- - spec/mongo/bulk_write/ordered_combiner_spec.rb
1430
- - spec/mongo/bulk_write/result_spec.rb
1431
- - spec/mongo/id_spec.rb
1432
- - spec/mongo/auth/ldap_spec.rb
1433
- - spec/mongo/auth/stringprep/profiles/sasl_spec.rb
1434
- - spec/mongo/auth/invalid_mechanism_spec.rb
1435
- - spec/mongo/auth/user_spec.rb
1436
- - spec/mongo/auth/ldap/conversation_spec.rb
1437
- - spec/mongo/auth/stringprep_spec.rb
1438
- - spec/mongo/auth/scram/negotiation_spec.rb
1439
- - spec/mongo/auth/scram/conversation_spec.rb
1440
- - spec/mongo/auth/cr_spec.rb
1441
- - spec/mongo/auth/x509_spec.rb
1442
- - spec/mongo/auth/x509/conversation_spec.rb
1443
- - spec/mongo/auth/scram_spec.rb
1444
- - spec/mongo/auth/user/view_spec.rb
1445
- - spec/mongo/bulk_write_spec.rb
1446
- - spec/mongo/protocol/get_more_spec.rb
1447
- - spec/mongo/protocol/reply_spec.rb
1448
- - spec/mongo/protocol/delete_spec.rb
1449
- - spec/mongo/protocol/update_spec.rb
1450
- - spec/mongo/protocol/registry_spec.rb
1451
- - spec/mongo/protocol/kill_cursors_spec.rb
1452
- - spec/mongo/protocol/query_spec.rb
1453
- - spec/mongo/protocol/msg_spec.rb
1454
- - spec/mongo/protocol/insert_spec.rb
1455
- - spec/mongo/protocol/compressed_spec.rb
1456
- - spec/mongo/session/session_pool_spec.rb
1457
- - spec/mongo/session/server_session_spec.rb
1458
- - spec/mongo/auth_spec.rb
1459
- - spec/mongo/write_concern/acknowledged_spec.rb
1460
- - spec/mongo/write_concern/unacknowledged_spec.rb
1461
- - spec/mongo/cluster/srv_monitor_spec.rb
1462
- - spec/mongo/cluster/topology_spec.rb
1463
- - spec/mongo/cluster/socket_reaper_spec.rb
1464
- - spec/mongo/cluster/cursor_reaper_spec.rb
1465
- - spec/mongo/cluster/periodic_executor_spec.rb
1466
- - spec/mongo/cluster/topology/unknown_spec.rb
1467
- - spec/mongo/cluster/topology/sharded_spec.rb
1468
- - spec/mongo/cluster/topology/single_spec.rb
1469
- - spec/mongo/cluster/topology/replica_set_spec.rb
1470
- - spec/mongo/bson_spec.rb
1471
1616
  - spec/mongo/cluster_spec.rb
1472
1617
  - spec/mongo/address_spec.rb
1473
- - spec/mongo/event/publisher_spec.rb
1474
- - spec/mongo/event/subscriber_spec.rb
1475
- - spec/mongo/uri/srv_protocol_spec.rb
1618
+ - spec/mongo/grid/file/chunk_spec.rb
1619
+ - spec/mongo/grid/file/info_spec.rb
1620
+ - spec/mongo/grid/fs_bucket_spec.rb
1621
+ - spec/mongo/grid/stream/write_spec.rb
1622
+ - spec/mongo/grid/stream/read_spec.rb
1623
+ - spec/mongo/grid/stream_spec.rb
1624
+ - spec/mongo/grid/file_spec.rb
1625
+ - spec/mongo/session/session_pool_spec.rb
1626
+ - spec/mongo/session/server_session_spec.rb
1627
+ - spec/mongo/retryable_spec.rb
1628
+ - spec/runners/crud.rb
1629
+ - spec/runners/gridfs.rb
1630
+ - spec/runners/change_streams/operation.rb
1631
+ - spec/runners/read_write_concern_document.rb
1632
+ - spec/runners/server_selection_rtt.rb
1633
+ - spec/runners/cmap/verifier.rb
1634
+ - spec/runners/transactions/context.rb
1635
+ - spec/runners/transactions/spec.rb
1636
+ - spec/runners/transactions/operation.rb
1637
+ - spec/runners/transactions/test.rb
1638
+ - spec/runners/sdam_monitoring.rb
1639
+ - spec/runners/server_discovery_and_monitoring.rb
1640
+ - spec/runners/transactions.rb
1641
+ - spec/runners/sdam/verifier.rb
1642
+ - spec/runners/crud/verifier.rb
1643
+ - spec/runners/crud/test_base.rb
1644
+ - spec/runners/crud/context.rb
1645
+ - spec/runners/crud/spec.rb
1646
+ - spec/runners/crud/outcome.rb
1647
+ - spec/runners/crud/operation.rb
1648
+ - spec/runners/crud/test.rb
1649
+ - spec/runners/crud/requirement.rb
1650
+ - spec/runners/connection_string.rb
1651
+ - spec/runners/change_streams.rb
1652
+ - spec/runners/server_selection.rb
1653
+ - spec/runners/cmap.rb
1654
+ - spec/runners/command_monitoring.rb
1655
+ - spec/runners/auth.rb
1476
1656
  - spec/atlas/operations_spec.rb
1477
1657
  - spec/atlas/atlas_connectivity_spec.rb
1478
- - spec/enterprise_auth/kerberos_spec.rb
1479
- - spec/stress/connection_pool_timing_spec.rb
1480
- - spec/stress/connection_pool_stress_spec.rb
1481
- - spec/lite_spec_helper.rb
1482
- - spec/spec_helper.rb
1483
- - spec/spec_tests/data/transactions_api/transaction-options.yml
1484
- - spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml
1485
- - spec/spec_tests/data/transactions_api/callback-aborts.yml
1486
- - spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml
1487
- - spec/spec_tests/data/transactions_api/commit-retry.yml
1488
- - spec/spec_tests/data/transactions_api/callback-retry.yml
1489
- - spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml
1490
- - spec/spec_tests/data/transactions_api/callback-commits.yml
1491
- - spec/spec_tests/data/transactions_api/commit.yml
1492
- - spec/spec_tests/data/change_streams/change-streams-errors.yml
1493
- - spec/spec_tests/data/change_streams/change-streams.yml
1494
- - spec/spec_tests/data/command_monitoring/deleteMany.yml
1495
- - spec/spec_tests/data/command_monitoring/bulkWrite.yml
1496
- - spec/spec_tests/data/command_monitoring/updateOne.yml
1497
- - spec/spec_tests/data/command_monitoring/unacknowledgedBulkWrite.yml
1498
- - spec/spec_tests/data/command_monitoring/find.yml
1499
- - spec/spec_tests/data/command_monitoring/insertOne.yml
1500
- - spec/spec_tests/data/command_monitoring/command.yml
1501
- - spec/spec_tests/data/command_monitoring/updateMany.yml
1502
- - spec/spec_tests/data/command_monitoring/deleteOne.yml
1503
- - spec/spec_tests/data/command_monitoring/insertMany.yml
1504
- - spec/spec_tests/data/max_staleness/Single/Incompatible.yml
1505
- - spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml
1506
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml
1507
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml
1508
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml
1509
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml
1510
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml
1511
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml
1512
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml
1513
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Incompatible.yml
1514
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml
1515
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml
1516
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml
1517
- - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml
1518
- - spec/spec_tests/data/max_staleness/Sharded/Incompatible.yml
1519
- - spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml
1520
- - spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml
1521
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml
1522
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml
1523
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml
1524
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml
1525
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml
1526
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml
1527
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml
1528
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml
1529
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml
1530
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml
1531
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.yml
1532
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Incompatible.yml
1533
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml
1534
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml
1535
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml
1536
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml
1537
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml
1538
- - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml
1539
- - spec/spec_tests/data/gridfs/download_by_name.yml
1540
- - spec/spec_tests/data/gridfs/download.yml
1541
- - spec/spec_tests/data/gridfs/upload.yml
1542
- - spec/spec_tests/data/gridfs/delete.yml
1543
- - spec/spec_tests/data/server_selection/Single/read/SecondaryPreferred.yml
1544
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Primary.yml
1545
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml
1546
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml
1547
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml
1548
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.yml
1549
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml
1550
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml
1551
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml
1552
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml
1553
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary.yml
1554
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest.yml
1555
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.yml
1556
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml
1557
- - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimary.yml
1558
- - spec/spec_tests/data/server_selection/Sharded/read/Primary.yml
1559
- - spec/spec_tests/data/server_selection/Sharded/read/PrimaryPreferred.yml
1560
- - spec/spec_tests/data/server_selection/Sharded/read/SecondaryPreferred.yml
1561
- - spec/spec_tests/data/server_selection/Sharded/read/Secondary.yml
1562
- - spec/spec_tests/data/server_selection/Sharded/read/Nearest.yml
1563
- - spec/spec_tests/data/server_selection/Unknown/read/SecondaryPreferred.yml
1564
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Primary.yml
1565
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml
1566
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred.yml
1567
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml
1568
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching.yml
1569
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml
1570
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.yml
1571
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching.yml
1572
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary.yml
1573
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest.yml
1574
- - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.yml
1575
- - spec/spec_tests/data/connection_string/valid-host_identifiers.yml
1576
- - spec/spec_tests/data/connection_string/valid-warnings.yml
1577
- - spec/spec_tests/data/connection_string/valid-db-with-dotted-name.yml
1578
- - spec/spec_tests/data/connection_string/invalid-uris.yml
1579
- - spec/spec_tests/data/connection_string/valid-unix_socket-absolute.yml
1580
- - spec/spec_tests/data/connection_string/valid-unix_socket-relative.yml
1581
- - spec/spec_tests/data/connection_string/valid-auth.yml
1582
- - spec/spec_tests/data/connection_string/valid-options.yml
1583
- - spec/spec_tests/data/retryable_writes/deleteOne-serverErrors.yml
1584
- - spec/spec_tests/data/retryable_writes/findOneAndDelete.yml
1585
- - spec/spec_tests/data/retryable_writes/replaceOne-serverErrors.yml
1586
- - spec/spec_tests/data/retryable_writes/deleteMany.yml
1587
- - spec/spec_tests/data/retryable_writes/findOneAndUpdate-serverErrors.yml
1588
- - spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml
1589
- - spec/spec_tests/data/retryable_writes/bulkWrite.yml
1590
- - spec/spec_tests/data/retryable_writes/insertMany-serverErrors.yml
1591
- - spec/spec_tests/data/retryable_writes/findOneAndDelete-serverErrors.yml
1592
- - spec/spec_tests/data/retryable_writes/updateOne.yml
1593
- - spec/spec_tests/data/retryable_writes/bulkWrite-serverErrors.yml
1594
- - spec/spec_tests/data/retryable_writes/insertOne.yml
1595
- - spec/spec_tests/data/retryable_writes/findOneAndReplace.yml
1596
- - spec/spec_tests/data/retryable_writes/replaceOne.yml
1597
- - spec/spec_tests/data/retryable_writes/findOneAndUpdate.yml
1598
- - spec/spec_tests/data/retryable_writes/findOneAndReplace-serverErrors.yml
1599
- - spec/spec_tests/data/retryable_writes/updateMany.yml
1600
- - spec/spec_tests/data/retryable_writes/updateOne-serverErrors.yml
1601
- - spec/spec_tests/data/retryable_writes/deleteOne.yml
1602
- - spec/spec_tests/data/retryable_writes/insertMany.yml
1603
- - spec/spec_tests/data/cmap/pool-checkout-connection.yml
1604
- - spec/spec_tests/data/cmap/pool-create.yml
1605
- - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
1606
- - spec/spec_tests/data/cmap/pool-checkout-error-closed.yml
1607
- - spec/spec_tests/data/cmap/pool-checkout-no-idle.yml
1608
- - spec/spec_tests/data/cmap/pool-close-destroy-conns.yml
1609
- - spec/spec_tests/data/cmap/connection-must-have-id.yml
1610
- - spec/spec_tests/data/cmap/connection-must-order-ids.yml
1611
- - spec/spec_tests/data/cmap/pool-checkout-multiple.yml
1612
- - spec/spec_tests/data/cmap/pool-checkin.yml
1613
- - spec/spec_tests/data/cmap/pool-checkout-no-stale.yml
1614
- - spec/spec_tests/data/cmap/pool-create-with-options.yml
1615
- - spec/spec_tests/data/cmap/pool-close.yml
1616
- - spec/spec_tests/data/cmap/pool-checkin-make-available.yml
1617
- - spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml
1618
- - spec/spec_tests/data/cmap/wait-queue-timeout.yml
1619
- - spec/spec_tests/data/cmap/pool-create-min-size.yml
1620
- - spec/spec_tests/data/cmap/wait-queue-fairness.yml
1621
- - spec/spec_tests/data/cmap/pool-create-max-size.yml
1622
- - spec/spec_tests/data/sdam_monitoring/standalone.yml
1658
+ - spec/spec_tests/dns_seedlist_discovery_spec.rb
1659
+ - spec/spec_tests/gridfs_spec.rb
1660
+ - spec/spec_tests/crud_spec.rb
1661
+ - spec/spec_tests/retryable_reads_spec.rb
1662
+ - spec/spec_tests/sdam_spec.rb
1663
+ - spec/spec_tests/read_write_concern_document_spec.rb
1664
+ - spec/spec_tests/server_selection_rtt_spec.rb
1665
+ - spec/spec_tests/server_selection_spec.rb
1666
+ - spec/spec_tests/change_streams_spec.rb
1667
+ - spec/spec_tests/transactions_api_spec.rb
1668
+ - spec/spec_tests/cmap_spec.rb
1669
+ - spec/spec_tests/read_write_concern_connection_string_spec.rb
1670
+ - spec/spec_tests/retryable_writes_spec.rb
1671
+ - spec/spec_tests/client_side_encryption_spec.rb
1672
+ - spec/spec_tests/max_staleness_spec.rb
1673
+ - spec/spec_tests/sdam_monitoring_spec.rb
1674
+ - spec/spec_tests/connection_string_spec.rb
1675
+ - spec/spec_tests/command_monitoring_spec.rb
1676
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
1677
+ - spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml
1678
+ - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
1679
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
1623
1680
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml
1624
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml
1681
+ - spec/spec_tests/data/sdam_monitoring/standalone.yml
1682
+ - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
1625
1683
  - spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml
1626
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
1627
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
1628
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
1629
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_change.yml
1630
1684
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml
1631
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
1685
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml
1632
1686
  - spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml
1633
- - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
1634
- - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
1687
+ - spec/spec_tests/data/sdam_monitoring/replica_set_primary_address_change.yml
1688
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
1635
1689
  - spec/spec_tests/data/sdam_monitoring/required_replica_set.yml
1636
- - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
1637
- - spec/spec_tests/data/uri_options/tls-options.yml
1638
- - spec/spec_tests/data/uri_options/compression-options.yml
1639
- - spec/spec_tests/data/uri_options/connection-options.yml
1640
- - spec/spec_tests/data/uri_options/auth-options.yml
1641
- - spec/spec_tests/data/uri_options/connection-pool-options.yml
1642
- - spec/spec_tests/data/uri_options/read-preference-options.yml
1643
- - spec/spec_tests/data/uri_options/concern-options.yml
1644
- - spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml
1645
- - spec/spec_tests/data/crud_v2/updateWithPipelines.yml
1646
- - spec/spec_tests/data/crud_v2/aggregate-merge.yml
1647
- - spec/spec_tests/data/crud_v2/db-aggregate.yml
1648
- - spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml
1649
- - spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml
1650
- - spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml
1651
- - spec/spec_tests/data/crud/write/findOneAndDelete.yml
1652
- - spec/spec_tests/data/crud/write/bulkWrite-collation.yml
1653
- - spec/spec_tests/data/crud/write/deleteMany.yml
1654
- - spec/spec_tests/data/crud/write/deleteOne-collation.yml
1655
- - spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml
1656
- - spec/spec_tests/data/crud/write/deleteMany-collation.yml
1657
- - spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml
1658
- - spec/spec_tests/data/crud/write/bulkWrite.yml
1659
- - spec/spec_tests/data/crud/write/updateOne.yml
1660
- - spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml
1661
- - spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml
1662
- - spec/spec_tests/data/crud/write/insertOne.yml
1663
- - spec/spec_tests/data/crud/write/findOneAndReplace.yml
1664
- - spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml
1665
- - spec/spec_tests/data/crud/write/updateMany-collation.yml
1666
- - spec/spec_tests/data/crud/write/replaceOne.yml
1667
- - spec/spec_tests/data/crud/write/findOneAndUpdate.yml
1668
- - spec/spec_tests/data/crud/write/replaceOne-collation.yml
1669
- - spec/spec_tests/data/crud/write/updateOne-collation.yml
1670
- - spec/spec_tests/data/crud/write/updateOne-arrayFilters.yml
1671
- - spec/spec_tests/data/crud/write/updateMany-pre_2.6.yml
1672
- - spec/spec_tests/data/crud/write/findOneAndReplace-upsert_pre_2.6.yml
1673
- - spec/spec_tests/data/crud/write/replaceOne-upsert.yml
1674
- - spec/spec_tests/data/crud/write/updateMany.yml
1675
- - spec/spec_tests/data/crud/write/findOneAndUpdate-arrayFilters.yml
1676
- - spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml
1677
- - spec/spec_tests/data/crud/write/deleteOne.yml
1678
- - spec/spec_tests/data/crud/write/insertMany.yml
1679
- - spec/spec_tests/data/crud/read/distinct.yml
1680
- - spec/spec_tests/data/crud/read/distinct-collation.yml
1681
- - spec/spec_tests/data/crud/read/find.yml
1682
- - spec/spec_tests/data/crud/read/count.yml
1683
- - spec/spec_tests/data/crud/read/count-empty.yml
1684
- - spec/spec_tests/data/crud/read/aggregate-out.yml
1685
- - spec/spec_tests/data/crud/read/find-collation.yml
1686
- - spec/spec_tests/data/crud/read/aggregate.yml
1687
- - spec/spec_tests/data/crud/read/count-collation.yml
1688
- - spec/spec_tests/data/crud/read/aggregate-collation.yml
1689
- - spec/spec_tests/data/retryable_reads/listCollections.yml
1690
- - spec/spec_tests/data/retryable_reads/estimatedDocumentCount.yml
1691
- - spec/spec_tests/data/retryable_reads/listCollectionObjects.yml
1690
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
1691
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
1692
+ - spec/spec_tests/data/server_selection_rtt/first_value.yml
1693
+ - spec/spec_tests/data/server_selection_rtt/value_test_2.yml
1694
+ - spec/spec_tests/data/server_selection_rtt/value_test_3.yml
1695
+ - spec/spec_tests/data/server_selection_rtt/value_test_1.yml
1696
+ - spec/spec_tests/data/server_selection_rtt/value_test_4.yml
1697
+ - spec/spec_tests/data/server_selection_rtt/value_test_5.yml
1698
+ - spec/spec_tests/data/server_selection_rtt/first_value_zero.yml
1699
+ - spec/spec_tests/data/connection_string/valid-unix_socket-relative.yml
1700
+ - spec/spec_tests/data/connection_string/valid-auth.yml
1701
+ - spec/spec_tests/data/connection_string/valid-db-with-dotted-name.yml
1702
+ - spec/spec_tests/data/connection_string/valid-host_identifiers.yml
1703
+ - spec/spec_tests/data/connection_string/valid-warnings.yml
1704
+ - spec/spec_tests/data/connection_string/valid-options.yml
1705
+ - spec/spec_tests/data/connection_string/valid-unix_socket-absolute.yml
1706
+ - spec/spec_tests/data/connection_string/invalid-uris.yml
1707
+ - spec/spec_tests/data/change_streams/change-streams.yml
1708
+ - spec/spec_tests/data/change_streams/change-streams-errors.yml
1709
+ - spec/spec_tests/data/retryable_reads/listDatabases.yml
1692
1710
  - spec/spec_tests/data/retryable_reads/listIndexes.yml
1693
- - spec/spec_tests/data/retryable_reads/changeStreams-client.watch.yml
1694
- - spec/spec_tests/data/retryable_reads/listIndexes-serverErrors.yml
1695
- - spec/spec_tests/data/retryable_reads/changeStreams-db.watch-serverErrors.yml
1711
+ - spec/spec_tests/data/retryable_reads/listDatabaseObjects.yml
1712
+ - spec/spec_tests/data/retryable_reads/aggregate.yml
1713
+ - spec/spec_tests/data/retryable_reads/count-serverErrors.yml
1714
+ - spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch.yml
1715
+ - spec/spec_tests/data/retryable_reads/gridfs-download.yml
1696
1716
  - spec/spec_tests/data/retryable_reads/gridfs-downloadByName.yml
1697
- - spec/spec_tests/data/retryable_reads/countDocuments-serverErrors.yml
1698
- - spec/spec_tests/data/retryable_reads/listCollections-serverErrors.yml
1699
- - spec/spec_tests/data/retryable_reads/listCollectionObjects-serverErrors.yml
1700
- - spec/spec_tests/data/retryable_reads/findOne.yml
1701
- - spec/spec_tests/data/retryable_reads/listCollectionNames-serverErrors.yml
1702
- - spec/spec_tests/data/retryable_reads/gridfs-download-serverErrors.yml
1703
- - spec/spec_tests/data/retryable_reads/distinct.yml
1704
- - spec/spec_tests/data/retryable_reads/estimatedDocumentCount-serverErrors.yml
1705
- - spec/spec_tests/data/retryable_reads/aggregate-serverErrors.yml
1706
- - spec/spec_tests/data/retryable_reads/listCollectionNames.yml
1707
1717
  - spec/spec_tests/data/retryable_reads/find.yml
1718
+ - spec/spec_tests/data/retryable_reads/listDatabaseNames.yml
1719
+ - spec/spec_tests/data/retryable_reads/changeStreams-db.watch-serverErrors.yml
1708
1720
  - spec/spec_tests/data/retryable_reads/gridfs-downloadByName-serverErrors.yml
1709
- - spec/spec_tests/data/retryable_reads/listDatabaseObjects.yml
1710
- - spec/spec_tests/data/retryable_reads/listDatabases.yml
1711
- - spec/spec_tests/data/retryable_reads/listDatabases-serverErrors.yml
1712
- - spec/spec_tests/data/retryable_reads/listDatabaseObjects-serverErrors.yml
1713
- - spec/spec_tests/data/retryable_reads/listIndexNames.yml
1714
- - spec/spec_tests/data/retryable_reads/mapReduce.yml
1715
- - spec/spec_tests/data/retryable_reads/count-serverErrors.yml
1716
- - spec/spec_tests/data/retryable_reads/aggregate-merge.yml
1717
- - spec/spec_tests/data/retryable_reads/countDocuments.yml
1718
1721
  - spec/spec_tests/data/retryable_reads/count.yml
1719
- - spec/spec_tests/data/retryable_reads/changeStreams-db.watch.yml
1722
+ - spec/spec_tests/data/retryable_reads/changeStreams-client.watch-serverErrors.yml
1723
+ - spec/spec_tests/data/retryable_reads/estimatedDocumentCount-serverErrors.yml
1724
+ - spec/spec_tests/data/retryable_reads/gridfs-download-serverErrors.yml
1725
+ - spec/spec_tests/data/retryable_reads/estimatedDocumentCount.yml
1720
1726
  - spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch-serverErrors.yml
1721
- - spec/spec_tests/data/retryable_reads/distinct-serverErrors.yml
1722
- - spec/spec_tests/data/retryable_reads/gridfs-download.yml
1723
1727
  - spec/spec_tests/data/retryable_reads/findOne-serverErrors.yml
1724
- - spec/spec_tests/data/retryable_reads/listIndexNames-serverErrors.yml
1728
+ - spec/spec_tests/data/retryable_reads/mapReduce.yml
1729
+ - spec/spec_tests/data/retryable_reads/listCollectionNames.yml
1730
+ - spec/spec_tests/data/retryable_reads/aggregate-serverErrors.yml
1731
+ - spec/spec_tests/data/retryable_reads/changeStreams-client.watch.yml
1732
+ - spec/spec_tests/data/retryable_reads/listDatabases-serverErrors.yml
1733
+ - spec/spec_tests/data/retryable_reads/aggregate-merge.yml
1734
+ - spec/spec_tests/data/retryable_reads/findOne.yml
1735
+ - spec/spec_tests/data/retryable_reads/listCollectionObjects-serverErrors.yml
1725
1736
  - spec/spec_tests/data/retryable_reads/find-serverErrors.yml
1726
- - spec/spec_tests/data/retryable_reads/changeStreams-client.watch-serverErrors.yml
1737
+ - spec/spec_tests/data/retryable_reads/changeStreams-db.watch.yml
1738
+ - spec/spec_tests/data/retryable_reads/listCollections.yml
1739
+ - spec/spec_tests/data/retryable_reads/listIndexNames.yml
1740
+ - spec/spec_tests/data/retryable_reads/listCollectionNames-serverErrors.yml
1727
1741
  - spec/spec_tests/data/retryable_reads/listDatabaseNames-serverErrors.yml
1728
- - spec/spec_tests/data/retryable_reads/aggregate.yml
1729
- - spec/spec_tests/data/retryable_reads/listDatabaseNames.yml
1730
- - spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch.yml
1742
+ - spec/spec_tests/data/retryable_reads/countDocuments-serverErrors.yml
1743
+ - spec/spec_tests/data/retryable_reads/listIndexNames-serverErrors.yml
1744
+ - spec/spec_tests/data/retryable_reads/listDatabaseObjects-serverErrors.yml
1745
+ - spec/spec_tests/data/retryable_reads/distinct-serverErrors.yml
1746
+ - spec/spec_tests/data/retryable_reads/listIndexes-serverErrors.yml
1747
+ - spec/spec_tests/data/retryable_reads/distinct.yml
1748
+ - spec/spec_tests/data/retryable_reads/listCollections-serverErrors.yml
1749
+ - spec/spec_tests/data/retryable_reads/listCollectionObjects.yml
1750
+ - spec/spec_tests/data/retryable_reads/countDocuments.yml
1751
+ - spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml
1752
+ - spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml
1753
+ - spec/spec_tests/data/transactions_api/commit-retry.yml
1754
+ - spec/spec_tests/data/transactions_api/callback-commits.yml
1755
+ - spec/spec_tests/data/transactions_api/callback-aborts.yml
1756
+ - spec/spec_tests/data/transactions_api/transaction-options.yml
1757
+ - spec/spec_tests/data/transactions_api/commit.yml
1758
+ - spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml
1759
+ - spec/spec_tests/data/transactions_api/callback-retry.yml
1760
+ - spec/spec_tests/data/auth/connection-string.yml
1761
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch2.yml
1762
+ - spec/spec_tests/data/dns_seedlist_discovery/one-result-default-port.yml
1763
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch3.yml
1764
+ - spec/spec_tests/data/dns_seedlist_discovery/uri-with-two-hosts.yml
1765
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch1.yml
1766
+ - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-wrong.yml
1767
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch4.yml
1768
+ - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch5.yml
1769
+ - spec/spec_tests/data/dns_seedlist_discovery/misformatted-option.yml
1770
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-ssl-option.yml
1771
+ - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record-multiple-strings.yml
1772
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-not-allowed-option.yml
1773
+ - spec/spec_tests/data/dns_seedlist_discovery/two-results-default-port.yml
1774
+ - spec/spec_tests/data/dns_seedlist_discovery/uri-with-port.yml
1775
+ - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record.yml
1776
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-uri-option.yml
1777
+ - spec/spec_tests/data/dns_seedlist_discovery/two-txt-records.yml
1778
+ - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-too-short.yml
1779
+ - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-unallowed-option.yml
1780
+ - spec/spec_tests/data/dns_seedlist_discovery/two-results-nonstandard-port.yml
1781
+ - spec/spec_tests/data/dns_seedlist_discovery/longer-parent-in-return.yml
1782
+ - spec/spec_tests/data/dns_seedlist_discovery/not-enough-parts.yml
1783
+ - spec/spec_tests/data/dns_seedlist_discovery/no-results.yml
1784
+ - spec/spec_tests/data/max_staleness/Sharded/Incompatible.yml
1785
+ - spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml
1786
+ - spec/spec_tests/data/max_staleness/Single/Incompatible.yml
1787
+ - spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml
1788
+ - spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml
1789
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml
1790
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml
1791
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml
1792
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml
1793
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.yml
1794
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Incompatible.yml
1795
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml
1796
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml
1797
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml
1798
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml
1799
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml
1800
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml
1801
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml
1802
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml
1803
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml
1804
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml
1805
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml
1806
+ - spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml
1807
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml
1808
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml
1809
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml
1810
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Incompatible.yml
1811
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml
1812
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml
1813
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml
1814
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml
1815
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml
1816
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml
1817
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml
1818
+ - spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml
1819
+ - spec/spec_tests/data/read_write_concern/document/write-concern.yml
1820
+ - spec/spec_tests/data/read_write_concern/document/read-concern.yml
1821
+ - spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml
1822
+ - spec/spec_tests/data/read_write_concern/connection-string/read-concern.yml
1823
+ - spec/spec_tests/data/uri_options/compression-options.yml
1824
+ - spec/spec_tests/data/uri_options/concern-options.yml
1825
+ - spec/spec_tests/data/uri_options/connection-options.yml
1826
+ - spec/spec_tests/data/uri_options/read-preference-options.yml
1827
+ - spec/spec_tests/data/uri_options/tls-options.yml
1828
+ - spec/spec_tests/data/uri_options/auth-options.yml
1829
+ - spec/spec_tests/data/uri_options/connection-pool-options.yml
1830
+ - spec/spec_tests/data/cmap/pool-checkin-make-available.yml
1831
+ - spec/spec_tests/data/cmap/pool-checkout-no-stale.yml
1832
+ - spec/spec_tests/data/cmap/pool-checkout-no-idle.yml
1833
+ - spec/spec_tests/data/cmap/connection-must-have-id.yml
1834
+ - spec/spec_tests/data/cmap/pool-create.yml
1835
+ - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
1836
+ - spec/spec_tests/data/cmap/wait-queue-fairness.yml
1837
+ - spec/spec_tests/data/cmap/pool-close.yml
1838
+ - spec/spec_tests/data/cmap/connection-must-order-ids.yml
1839
+ - spec/spec_tests/data/cmap/pool-create-with-options.yml
1840
+ - spec/spec_tests/data/cmap/pool-create-min-size.yml
1841
+ - spec/spec_tests/data/cmap/wait-queue-timeout.yml
1842
+ - spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml
1843
+ - spec/spec_tests/data/cmap/pool-checkout-multiple.yml
1844
+ - spec/spec_tests/data/cmap/pool-checkin.yml
1845
+ - spec/spec_tests/data/cmap/pool-checkout-error-closed.yml
1846
+ - spec/spec_tests/data/cmap/pool-close-destroy-conns.yml
1847
+ - spec/spec_tests/data/cmap/pool-checkout-connection.yml
1848
+ - spec/spec_tests/data/cmap/pool-create-max-size.yml
1849
+ - spec/spec_tests/data/client_side_encryption/types.yml
1850
+ - spec/spec_tests/data/client_side_encryption/keyAltName.yml
1851
+ - spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml
1852
+ - spec/spec_tests/data/client_side_encryption/bypassedCommand.yml
1853
+ - spec/spec_tests/data/client_side_encryption/missingKey.yml
1854
+ - spec/spec_tests/data/client_side_encryption/updateOne.yml
1855
+ - spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml
1856
+ - spec/spec_tests/data/client_side_encryption/basic.yml
1857
+ - spec/spec_tests/data/client_side_encryption/aggregate.yml
1858
+ - spec/spec_tests/data/client_side_encryption/maxWireVersion.yml
1859
+ - spec/spec_tests/data/client_side_encryption/badSchema.yml
1860
+ - spec/spec_tests/data/client_side_encryption/find.yml
1861
+ - spec/spec_tests/data/client_side_encryption/replaceOne.yml
1862
+ - spec/spec_tests/data/client_side_encryption/count.yml
1863
+ - spec/spec_tests/data/client_side_encryption/localSchema.yml
1864
+ - spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml
1865
+ - spec/spec_tests/data/client_side_encryption/getMore.yml
1866
+ - spec/spec_tests/data/client_side_encryption/delete.yml
1867
+ - spec/spec_tests/data/client_side_encryption/localKMS.yml
1868
+ - spec/spec_tests/data/client_side_encryption/bulk.yml
1869
+ - spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml
1870
+ - spec/spec_tests/data/client_side_encryption/badQueries.yml
1871
+ - spec/spec_tests/data/client_side_encryption/updateMany.yml
1872
+ - spec/spec_tests/data/client_side_encryption/insert.yml
1873
+ - spec/spec_tests/data/client_side_encryption/explain.yml
1874
+ - spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml
1875
+ - spec/spec_tests/data/client_side_encryption/distinct.yml
1876
+ - spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml
1877
+ - spec/spec_tests/data/client_side_encryption/countDocuments.yml
1878
+ - spec/spec_tests/data/transactions/causal-consistency.yml
1879
+ - spec/spec_tests/data/transactions/write-concern.yml
1880
+ - spec/spec_tests/data/transactions/mongos-recovery-token.yml
1881
+ - spec/spec_tests/data/transactions/findOneAndDelete.yml
1882
+ - spec/spec_tests/data/transactions/reads.yml
1883
+ - spec/spec_tests/data/transactions/retryable-abort.yml
1884
+ - spec/spec_tests/data/transactions/count.yml
1885
+ - spec/spec_tests/data/transactions/errors-client.yml
1886
+ - spec/spec_tests/data/transactions/abort.yml
1887
+ - spec/spec_tests/data/transactions/delete.yml
1888
+ - spec/spec_tests/data/transactions/bulk.yml
1889
+ - spec/spec_tests/data/transactions/findOneAndUpdate.yml
1890
+ - spec/spec_tests/data/transactions/transaction-options.yml
1891
+ - spec/spec_tests/data/transactions/commit.yml
1892
+ - spec/spec_tests/data/transactions/run-command.yml
1893
+ - spec/spec_tests/data/transactions/retryable-commit.yml
1894
+ - spec/spec_tests/data/transactions/mongos-pin-auto.yml
1895
+ - spec/spec_tests/data/transactions/insert.yml
1896
+ - spec/spec_tests/data/transactions/errors.yml
1897
+ - spec/spec_tests/data/transactions/transaction-options-repl.yml
1898
+ - spec/spec_tests/data/transactions/findOneAndReplace.yml
1899
+ - spec/spec_tests/data/transactions/update.yml
1900
+ - spec/spec_tests/data/transactions/read-pref.yml
1901
+ - spec/spec_tests/data/transactions/retryable-writes.yml
1902
+ - spec/spec_tests/data/transactions/error-labels.yml
1903
+ - spec/spec_tests/data/transactions/pin-mongos.yml
1904
+ - spec/spec_tests/data/transactions/isolation.yml
1905
+ - spec/spec_tests/data/transactions/read-concern.yml
1906
+ - spec/spec_tests/data/server_selection/Sharded/read/Primary.yml
1907
+ - spec/spec_tests/data/server_selection/Sharded/read/Secondary.yml
1908
+ - spec/spec_tests/data/server_selection/Sharded/read/PrimaryPreferred.yml
1909
+ - spec/spec_tests/data/server_selection/Sharded/read/Nearest.yml
1910
+ - spec/spec_tests/data/server_selection/Sharded/read/SecondaryPreferred.yml
1911
+ - spec/spec_tests/data/server_selection/Single/read/SecondaryPreferred.yml
1912
+ - spec/spec_tests/data/server_selection/Unknown/read/SecondaryPreferred.yml
1913
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml
1914
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml
1915
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching.yml
1916
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.yml
1917
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.yml
1918
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Primary.yml
1919
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary.yml
1920
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml
1921
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest.yml
1922
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred.yml
1923
+ - spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching.yml
1924
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml
1925
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml
1926
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml
1927
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.yml
1928
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest.yml
1929
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml
1930
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Primary.yml
1931
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimary.yml
1932
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary.yml
1933
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml
1934
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml
1935
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.yml
1936
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml
1937
+ - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml
1938
+ - spec/spec_tests/data/gridfs/upload.yml
1939
+ - spec/spec_tests/data/gridfs/download_by_name.yml
1940
+ - spec/spec_tests/data/gridfs/delete.yml
1941
+ - spec/spec_tests/data/gridfs/download.yml
1942
+ - spec/spec_tests/data/sdam/sharded/ruby_discovered_single_mongos.yml
1943
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_different_address.yml
1944
+ - spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml
1945
+ - spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml
1946
+ - spec/spec_tests/data/sdam/sharded/too_new.yml
1947
+ - spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml
1948
+ - spec/spec_tests/data/sdam/sharded/ruby_primary_mismatched_me.yml
1949
+ - spec/spec_tests/data/sdam/sharded/too_old.yml
1950
+ - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
1951
+ - spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml
1952
+ - spec/spec_tests/data/sdam/sharded/compatible.yml
1953
+ - spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml
1954
+ - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
1955
+ - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
1956
+ - spec/spec_tests/data/sdam/single/standalone_removed.yml
1731
1957
  - spec/spec_tests/data/sdam/single/direct_connection_slave.yml
1732
- - spec/spec_tests/data/sdam/single/not_ok_response.yml
1733
- - spec/spec_tests/data/sdam/single/too_old.yml
1958
+ - spec/spec_tests/data/sdam/single/ruby_primary_different_address.yml
1734
1959
  - spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml
1735
1960
  - spec/spec_tests/data/sdam/single/unavailable_seed.yml
1736
- - spec/spec_tests/data/sdam/single/standalone_removed.yml
1737
- - spec/spec_tests/data/sdam/single/direct_connection_mongos.yml
1738
- - spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml
1739
- - spec/spec_tests/data/sdam/single/compatible.yml
1740
1961
  - spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml
1741
- - spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml
1742
- - spec/spec_tests/data/sdam/single/primary_address_change.yml
1743
1962
  - spec/spec_tests/data/sdam/single/too_new.yml
1744
- - spec/spec_tests/data/sdam/single/primary_mismatched_me.yml
1745
- - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
1746
- - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
1747
- - spec/spec_tests/data/sdam/sharded/too_old.yml
1748
- - spec/spec_tests/data/sdam/sharded/compatible.yml
1749
- - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
1750
- - spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml
1751
- - spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml
1752
- - spec/spec_tests/data/sdam/sharded/primary_address_change.yml
1753
- - spec/spec_tests/data/sdam/sharded/too_new.yml
1754
- - spec/spec_tests/data/sdam/sharded/primary_mismatched_me.yml
1755
- - spec/spec_tests/data/sdam/sharded/single_mongos.yml
1756
- - spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml
1757
- - spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml
1758
- - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml
1759
- - spec/spec_tests/data/sdam/rs/rsother_discovered.yml
1760
- - spec/spec_tests/data/sdam/rs/too_old.yml
1761
- - spec/spec_tests/data/sdam/rs/ls_timeout.yml
1762
- - spec/spec_tests/data/sdam/rs/discover_secondary.yml
1763
- - spec/spec_tests/data/sdam/rs/non_rs_member.yml
1764
- - spec/spec_tests/data/sdam/rs/discover_primary.yml
1765
- - spec/spec_tests/data/sdam/rs/wrong_set_name.yml
1766
- - spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml
1767
- - spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml
1768
- - spec/spec_tests/data/sdam/rs/primary_disconnect_electionid.yml
1769
- - spec/spec_tests/data/sdam/rs/sec_not_auth.yml
1770
- - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary_second.yml
1771
- - spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml
1772
- - spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml
1773
- - spec/spec_tests/data/sdam/rs/use_setversion_without_electionid.yml
1774
- - spec/spec_tests/data/sdam/rs/compatible.yml
1775
- - spec/spec_tests/data/sdam/rs/primary_disconnect.yml
1776
- - spec/spec_tests/data/sdam/rs/new_primary.yml
1777
- - spec/spec_tests/data/sdam/rs/discovery.yml
1778
- - spec/spec_tests/data/sdam/rs/normalize_case.yml
1779
- - spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml
1780
- - spec/spec_tests/data/sdam/rs/equal_electionids.yml
1781
- - spec/spec_tests/data/sdam/rs/discover_passives.yml
1963
+ - spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml
1964
+ - spec/spec_tests/data/sdam/single/not_ok_response.yml
1965
+ - spec/spec_tests/data/sdam/single/ruby_primary_mismatched_me.yml
1966
+ - spec/spec_tests/data/sdam/single/too_old.yml
1967
+ - spec/spec_tests/data/sdam/single/direct_connection_mongos.yml
1968
+ - spec/spec_tests/data/sdam/single/compatible.yml
1782
1969
  - spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml
1783
- - spec/spec_tests/data/sdam/rs/compatible_unknown.yml
1970
+ - spec/spec_tests/data/sdam/rs/incompatible_ghost.yml
1971
+ - spec/spec_tests/data/sdam/rs/member_standalone.yml
1972
+ - spec/spec_tests/data/sdam/rs/wrong_set_name.yml
1784
1973
  - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary.yml
1785
- - spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml
1974
+ - spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml
1786
1975
  - spec/spec_tests/data/sdam/rs/primary_changes_set_name.yml
1787
- - spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml
1788
- - spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml
1789
- - spec/spec_tests/data/sdam/rs/primary_address_change.yml
1790
- - spec/spec_tests/data/sdam/rs/too_new.yml
1791
- - spec/spec_tests/data/sdam/rs/member_standalone.yml
1792
- - spec/spec_tests/data/sdam/rs/incompatible_ghost.yml
1793
- - spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml
1794
- - spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml
1795
- - spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml
1796
- - spec/spec_tests/data/sdam/rs/unexpected_mongos.yml
1797
- - spec/spec_tests/data/sdam/rs/new_primary_new_setversion.yml
1798
1976
  - spec/spec_tests/data/sdam/rs/member_reconfig.yml
1977
+ - spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml
1978
+ - spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml
1979
+ - spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml
1980
+ - spec/spec_tests/data/sdam/rs/discover_primary.yml
1981
+ - spec/spec_tests/data/sdam/rs/ruby_primary_address_change.yml
1982
+ - spec/spec_tests/data/sdam/rs/discover_passives.yml
1799
1983
  - spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml
1800
- - spec/spec_tests/data/sdam/rs/response_from_removed.yml
1984
+ - spec/spec_tests/data/sdam/rs/normalize_case.yml
1985
+ - spec/spec_tests/data/sdam/rs/too_new.yml
1986
+ - spec/spec_tests/data/sdam/rs/discovery.yml
1801
1987
  - spec/spec_tests/data/sdam/rs/ghost_discovered.yml
1802
- - spec/spec_tests/data/sdam/rs/new_primary_new_electionid.yml
1803
- - spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml
1988
+ - spec/spec_tests/data/sdam/rs/equal_electionids.yml
1989
+ - spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml
1990
+ - spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml
1991
+ - spec/spec_tests/data/sdam/rs/primary_disconnect.yml
1992
+ - spec/spec_tests/data/sdam/rs/rsother_discovered.yml
1993
+ - spec/spec_tests/data/sdam/rs/discover_secondary.yml
1994
+ - spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml
1995
+ - spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml
1996
+ - spec/spec_tests/data/sdam/rs/ls_timeout.yml
1997
+ - spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml
1804
1998
  - spec/spec_tests/data/sdam/rs/normalize_case_me.yml
1999
+ - spec/spec_tests/data/sdam/rs/use_setversion_without_electionid.yml
2000
+ - spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml
1805
2001
  - spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml
2002
+ - spec/spec_tests/data/sdam/rs/compatible_unknown.yml
2003
+ - spec/spec_tests/data/sdam/rs/too_old.yml
2004
+ - spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml
2005
+ - spec/spec_tests/data/sdam/rs/repeated.yml
2006
+ - spec/spec_tests/data/sdam/rs/sec_not_auth.yml
2007
+ - spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml
2008
+ - spec/spec_tests/data/sdam/rs/ruby_secondary_wrong_set_name_with_primary_second.yml
2009
+ - spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml
2010
+ - spec/spec_tests/data/sdam/rs/primary_disconnect_electionid.yml
2011
+ - spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml
2012
+ - spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml
2013
+ - spec/spec_tests/data/sdam/rs/unexpected_mongos.yml
2014
+ - spec/spec_tests/data/sdam/rs/non_rs_member.yml
2015
+ - spec/spec_tests/data/sdam/rs/response_from_removed.yml
2016
+ - spec/spec_tests/data/sdam/rs/new_primary.yml
2017
+ - spec/spec_tests/data/sdam/rs/new_primary_new_setversion.yml
1806
2018
  - spec/spec_tests/data/sdam/rs/incompatible_other.yml
2019
+ - spec/spec_tests/data/sdam/rs/new_primary_new_electionid.yml
1807
2020
  - spec/spec_tests/data/sdam/rs/null_election_id.yml
1808
- - spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml
2021
+ - spec/spec_tests/data/sdam/rs/compatible.yml
1809
2022
  - spec/spec_tests/data/sdam/rs/discover_arbiters.yml
1810
- - spec/spec_tests/data/auth/connection-string.yml
1811
- - spec/spec_tests/data/dns_seedlist_discovery/misformatted-option.yml
1812
- - spec/spec_tests/data/dns_seedlist_discovery/no-results.yml
1813
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-unallowed-option.yml
1814
- - spec/spec_tests/data/dns_seedlist_discovery/one-result-default-port.yml
1815
- - spec/spec_tests/data/dns_seedlist_discovery/two-results-default-port.yml
1816
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch3.yml
1817
- - spec/spec_tests/data/dns_seedlist_discovery/not-enough-parts.yml
1818
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch2.yml
1819
- - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record-multiple-strings.yml
1820
- - spec/spec_tests/data/dns_seedlist_discovery/two-txt-records.yml
1821
- - spec/spec_tests/data/dns_seedlist_discovery/longer-parent-in-return.yml
1822
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch4.yml
1823
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch1.yml
1824
- - spec/spec_tests/data/dns_seedlist_discovery/uri-with-two-hosts.yml
1825
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-ssl-option.yml
1826
- - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-wrong.yml
1827
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-with-overridden-uri-option.yml
1828
- - spec/spec_tests/data/dns_seedlist_discovery/txt-record-not-allowed-option.yml
1829
- - spec/spec_tests/data/dns_seedlist_discovery/uri-with-port.yml
1830
- - spec/spec_tests/data/dns_seedlist_discovery/two-results-nonstandard-port.yml
1831
- - spec/spec_tests/data/dns_seedlist_discovery/returned-parent-too-short.yml
1832
- - spec/spec_tests/data/dns_seedlist_discovery/parent-part-mismatch5.yml
1833
- - spec/spec_tests/data/dns_seedlist_discovery/one-txt-record.yml
1834
- - spec/spec_tests/data/server_selection_rtt/value_test_2.yml
1835
- - spec/spec_tests/data/server_selection_rtt/value_test_1.yml
1836
- - spec/spec_tests/data/server_selection_rtt/value_test_4.yml
1837
- - spec/spec_tests/data/server_selection_rtt/value_test_5.yml
1838
- - spec/spec_tests/data/server_selection_rtt/first_value_zero.yml
1839
- - spec/spec_tests/data/server_selection_rtt/first_value.yml
1840
- - spec/spec_tests/data/server_selection_rtt/value_test_3.yml
1841
- - spec/spec_tests/data/read_write_concern/document/write-concern.yml
1842
- - spec/spec_tests/data/read_write_concern/document/read-concern.yml
1843
- - spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml
1844
- - spec/spec_tests/data/read_write_concern/connection-string/read-concern.yml
1845
- - spec/spec_tests/data/transactions/errors.yml
1846
- - spec/spec_tests/data/transactions/update.yml
1847
- - spec/spec_tests/data/transactions/isolation.yml
1848
- - spec/spec_tests/data/transactions/transaction-options.yml
1849
- - spec/spec_tests/data/transactions/write-concern.yml
1850
- - spec/spec_tests/data/transactions/transaction-options-repl.yml
1851
- - spec/spec_tests/data/transactions/errors-client.yml
1852
- - spec/spec_tests/data/transactions/read-pref.yml
1853
- - spec/spec_tests/data/transactions/findOneAndDelete.yml
1854
- - spec/spec_tests/data/transactions/mongos-pin-auto.yml
1855
- - spec/spec_tests/data/transactions/error-labels.yml
1856
- - spec/spec_tests/data/transactions/retryable-commit.yml
1857
- - spec/spec_tests/data/transactions/read-concern.yml
1858
- - spec/spec_tests/data/transactions/bulk.yml
1859
- - spec/spec_tests/data/transactions/pin-mongos.yml
1860
- - spec/spec_tests/data/transactions/reads.yml
1861
- - spec/spec_tests/data/transactions/count.yml
1862
- - spec/spec_tests/data/transactions/findOneAndReplace.yml
1863
- - spec/spec_tests/data/transactions/findOneAndUpdate.yml
1864
- - spec/spec_tests/data/transactions/abort.yml
1865
- - spec/spec_tests/data/transactions/retryable-abort.yml
1866
- - spec/spec_tests/data/transactions/insert.yml
1867
- - spec/spec_tests/data/transactions/retryable-writes.yml
1868
- - spec/spec_tests/data/transactions/causal-consistency.yml
1869
- - spec/spec_tests/data/transactions/run-command.yml
1870
- - spec/spec_tests/data/transactions/delete.yml
1871
- - spec/spec_tests/data/transactions/mongos-recovery-token.yml
1872
- - spec/spec_tests/data/transactions/commit.yml
1873
- - spec/spec_tests/crud_spec.rb
1874
- - spec/spec_tests/max_staleness_spec.rb
1875
- - spec/spec_tests/sdam_spec.rb
1876
- - spec/spec_tests/read_write_concern_document_spec.rb
1877
- - spec/spec_tests/server_selection_rtt_spec.rb
1878
- - spec/spec_tests/change_streams_spec.rb
1879
- - spec/spec_tests/retryable_writes_spec.rb
1880
- - spec/spec_tests/uri_options_spec.rb
1881
- - spec/spec_tests/connection_string_spec.rb
1882
- - spec/spec_tests/transactions_api_spec.rb
1883
- - spec/spec_tests/server_selection_spec.rb
1884
- - spec/spec_tests/command_monitoring_spec.rb
1885
- - spec/spec_tests/cmap_spec.rb
1886
- - spec/spec_tests/retryable_reads_spec.rb
1887
- - spec/spec_tests/gridfs_spec.rb
1888
- - spec/spec_tests/read_write_concern_connection_string_spec.rb
2023
+ - spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml
2024
+ - spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml
2025
+ - spec/spec_tests/data/crud/write/deleteOne.yml
2026
+ - spec/spec_tests/data/crud/write/updateOne.yml
2027
+ - spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml
2028
+ - spec/spec_tests/data/crud/write/findOneAndDelete.yml
2029
+ - spec/spec_tests/data/crud/write/replaceOne-collation.yml
2030
+ - spec/spec_tests/data/crud/write/updateOne-collation.yml
2031
+ - spec/spec_tests/data/crud/write/insertMany.yml
2032
+ - spec/spec_tests/data/crud/write/deleteMany-collation.yml
2033
+ - spec/spec_tests/data/crud/write/bulkWrite.yml
2034
+ - spec/spec_tests/data/crud/write/updateOne-arrayFilters.yml
2035
+ - spec/spec_tests/data/crud/write/replaceOne.yml
2036
+ - spec/spec_tests/data/crud/write/insertOne.yml
2037
+ - spec/spec_tests/data/crud/write/updateMany-collation.yml
2038
+ - spec/spec_tests/data/crud/write/findOneAndUpdate-arrayFilters.yml
2039
+ - spec/spec_tests/data/crud/write/findOneAndUpdate.yml
2040
+ - spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml
2041
+ - spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml
2042
+ - spec/spec_tests/data/crud/write/replaceOne-upsert.yml
2043
+ - spec/spec_tests/data/crud/write/updateMany.yml
2044
+ - spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml
2045
+ - spec/spec_tests/data/crud/write/findOneAndReplace-upsert_pre_2.6.yml
2046
+ - spec/spec_tests/data/crud/write/bulkWrite-collation.yml
2047
+ - spec/spec_tests/data/crud/write/updateMany-pre_2.6.yml
2048
+ - spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml
2049
+ - spec/spec_tests/data/crud/write/deleteOne-collation.yml
2050
+ - spec/spec_tests/data/crud/write/findOneAndReplace.yml
2051
+ - spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml
2052
+ - spec/spec_tests/data/crud/write/deleteMany.yml
2053
+ - spec/spec_tests/data/crud/read/aggregate.yml
2054
+ - spec/spec_tests/data/crud/read/count-collation.yml
2055
+ - spec/spec_tests/data/crud/read/find.yml
2056
+ - spec/spec_tests/data/crud/read/aggregate-out.yml
2057
+ - spec/spec_tests/data/crud/read/aggregate-collation.yml
2058
+ - spec/spec_tests/data/crud/read/count.yml
2059
+ - spec/spec_tests/data/crud/read/distinct-collation.yml
2060
+ - spec/spec_tests/data/crud/read/find-collation.yml
2061
+ - spec/spec_tests/data/crud/read/distinct.yml
2062
+ - spec/spec_tests/data/crud/read/count-empty.yml
2063
+ - spec/spec_tests/data/retryable_writes/deleteOne-serverErrors.yml
2064
+ - spec/spec_tests/data/retryable_writes/deleteOne.yml
2065
+ - spec/spec_tests/data/retryable_writes/updateOne.yml
2066
+ - spec/spec_tests/data/retryable_writes/findOneAndDelete.yml
2067
+ - spec/spec_tests/data/retryable_writes/findOneAndReplace-serverErrors.yml
2068
+ - spec/spec_tests/data/retryable_writes/findOneAndUpdate-serverErrors.yml
2069
+ - spec/spec_tests/data/retryable_writes/insertMany.yml
2070
+ - spec/spec_tests/data/retryable_writes/bulkWrite.yml
2071
+ - spec/spec_tests/data/retryable_writes/insertMany-serverErrors.yml
2072
+ - spec/spec_tests/data/retryable_writes/replaceOne.yml
2073
+ - spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml
2074
+ - spec/spec_tests/data/retryable_writes/insertOne.yml
2075
+ - spec/spec_tests/data/retryable_writes/updateOne-serverErrors.yml
2076
+ - spec/spec_tests/data/retryable_writes/findOneAndUpdate.yml
2077
+ - spec/spec_tests/data/retryable_writes/bulkWrite-serverErrors.yml
2078
+ - spec/spec_tests/data/retryable_writes/updateMany.yml
2079
+ - spec/spec_tests/data/retryable_writes/findOneAndDelete-serverErrors.yml
2080
+ - spec/spec_tests/data/retryable_writes/findOneAndReplace.yml
2081
+ - spec/spec_tests/data/retryable_writes/deleteMany.yml
2082
+ - spec/spec_tests/data/retryable_writes/replaceOne-serverErrors.yml
2083
+ - spec/spec_tests/data/command_monitoring/unacknowledgedBulkWrite.yml
2084
+ - spec/spec_tests/data/command_monitoring/deleteOne.yml
2085
+ - spec/spec_tests/data/command_monitoring/updateOne.yml
2086
+ - spec/spec_tests/data/command_monitoring/insertMany.yml
2087
+ - spec/spec_tests/data/command_monitoring/find.yml
2088
+ - spec/spec_tests/data/command_monitoring/bulkWrite.yml
2089
+ - spec/spec_tests/data/command_monitoring/insertOne.yml
2090
+ - spec/spec_tests/data/command_monitoring/command.yml
2091
+ - spec/spec_tests/data/command_monitoring/updateMany.yml
2092
+ - spec/spec_tests/data/command_monitoring/deleteMany.yml
2093
+ - spec/spec_tests/data/crud_v2/db-aggregate.yml
2094
+ - spec/spec_tests/data/crud_v2/updateWithPipelines.yml
2095
+ - spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml
2096
+ - spec/spec_tests/data/crud_v2/aggregate-merge.yml
2097
+ - spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml
1889
2098
  - spec/spec_tests/auth_spec.rb
1890
- - spec/spec_tests/sdam_monitoring_spec.rb
2099
+ - spec/spec_tests/uri_options_spec.rb
1891
2100
  - spec/spec_tests/transactions_spec.rb
1892
- - spec/spec_tests/dns_seedlist_discovery_spec.rb
1893
- - spec/runners/connection_string.rb
1894
- - spec/runners/read_write_concern_document.rb
1895
- - spec/runners/sdam/verifier.rb
2101
+ - spec/stress/connection_pool_timing_spec.rb
2102
+ - spec/stress/connection_pool_stress_spec.rb