mongo 2.21.0 → 2.21.1

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 (1428) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/mongo/auth/aws/conversation.rb +1 -1
  4. data/lib/mongo/auth/credential_cache.rb +13 -6
  5. data/lib/mongo/client.rb +75 -28
  6. data/lib/mongo/client_encryption.rb +1 -1
  7. data/lib/mongo/cluster/sdam_flow.rb +1 -1
  8. data/lib/mongo/collection/view/aggregation.rb +1 -1
  9. data/lib/mongo/crypt/binary.rb +5 -5
  10. data/lib/mongo/crypt/binding.rb +65 -1
  11. data/lib/mongo/crypt/context.rb +55 -27
  12. data/lib/mongo/crypt/encryption_io.rb +4 -2
  13. data/lib/mongo/crypt/handle.rb +1 -1
  14. data/lib/mongo/cursor.rb +1 -1
  15. data/lib/mongo/error/kms_error.rb +9 -0
  16. data/lib/mongo/error/pool_cleared_error.rb +1 -0
  17. data/lib/mongo/error/sdam_error_detection.rb +3 -3
  18. data/lib/mongo/lint.rb +1 -1
  19. data/lib/mongo/monitoring/event/secure.rb +1 -1
  20. data/lib/mongo/monitoring.rb +1 -1
  21. data/lib/mongo/operation/shared/read_preference_supported.rb +2 -2
  22. data/lib/mongo/operation/shared/sessions_supported.rb +2 -2
  23. data/lib/mongo/protocol/compressed.rb +1 -1
  24. data/lib/mongo/protocol/msg.rb +1 -1
  25. data/lib/mongo/search_index/view.rb +4 -4
  26. data/lib/mongo/server/push_monitor.rb +1 -1
  27. data/lib/mongo/session/server_session/dirtyable.rb +1 -1
  28. data/lib/mongo/socket.rb +29 -22
  29. data/lib/mongo/uri/srv_protocol.rb +3 -1
  30. data/lib/mongo/version.rb +1 -1
  31. data/mongo.gemspec +4 -4
  32. metadata +19 -2799
  33. data/Rakefile +0 -196
  34. data/spec/NOTES.aws-auth.md +0 -296
  35. data/spec/README.aws-auth.md +0 -318
  36. data/spec/README.md +0 -733
  37. data/spec/USERS.md +0 -72
  38. data/spec/atlas/atlas_connectivity_spec.rb +0 -27
  39. data/spec/atlas/operations_spec.rb +0 -23
  40. data/spec/faas/ruby-sam-app/Gemfile +0 -9
  41. data/spec/faas/ruby-sam-app/mongodb/Gemfile +0 -4
  42. data/spec/faas/ruby-sam-app/mongodb/app.rb +0 -149
  43. data/spec/faas/ruby-sam-app/template.yaml +0 -48
  44. data/spec/integration/auth_spec.rb +0 -309
  45. data/spec/integration/awaited_ismaster_spec.rb +0 -31
  46. data/spec/integration/aws_auth_credentials_cache_spec.rb +0 -51
  47. data/spec/integration/aws_auth_request_spec.rb +0 -77
  48. data/spec/integration/aws_credentials_retriever_spec.rb +0 -136
  49. data/spec/integration/aws_lambda_examples_spec.rb +0 -68
  50. data/spec/integration/bson_symbol_spec.rb +0 -39
  51. data/spec/integration/bulk_insert_spec.rb +0 -83
  52. data/spec/integration/bulk_write_error_message_spec.rb +0 -74
  53. data/spec/integration/bulk_write_spec.rb +0 -86
  54. data/spec/integration/change_stream_examples_spec.rb +0 -208
  55. data/spec/integration/change_stream_spec.rb +0 -814
  56. data/spec/integration/check_clean_slate_spec.rb +0 -19
  57. data/spec/integration/client_authentication_options_spec.rb +0 -514
  58. data/spec/integration/client_connectivity_spec.rb +0 -41
  59. data/spec/integration/client_construction_aws_auth_spec.rb +0 -203
  60. data/spec/integration/client_construction_spec.rb +0 -381
  61. data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +0 -360
  62. data/spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb +0 -306
  63. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +0 -75
  64. data/spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb +0 -82
  65. data/spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb +0 -260
  66. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +0 -754
  67. data/spec/integration/client_side_encryption/automatic_data_encryption_keys_prose_spec.rb +0 -153
  68. data/spec/integration/client_side_encryption/bson_size_limit_spec.rb +0 -190
  69. data/spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb +0 -81
  70. data/spec/integration/client_side_encryption/client_close_spec.rb +0 -66
  71. data/spec/integration/client_side_encryption/corpus_spec.rb +0 -273
  72. data/spec/integration/client_side_encryption/custom_endpoint_spec.rb +0 -132
  73. data/spec/integration/client_side_encryption/data_key_spec.rb +0 -258
  74. data/spec/integration/client_side_encryption/decryption_events_prose_spec.rb +0 -159
  75. data/spec/integration/client_side_encryption/explicit_encryption_spec.rb +0 -176
  76. data/spec/integration/client_side_encryption/explicit_queryable_encryption_spec.rb +0 -150
  77. data/spec/integration/client_side_encryption/external_key_vault_spec.rb +0 -144
  78. data/spec/integration/client_side_encryption/kms_tls_options_spec.rb +0 -436
  79. data/spec/integration/client_side_encryption/kms_tls_spec.rb +0 -92
  80. data/spec/integration/client_side_encryption/mongocryptd_prose_spec.rb +0 -105
  81. data/spec/integration/client_side_encryption/on_demand_aws_credentials_spec.rb +0 -49
  82. data/spec/integration/client_side_encryption/on_demand_azure_credentials_spec.rb +0 -46
  83. data/spec/integration/client_side_encryption/on_demand_gcp_credentials_spec.rb +0 -47
  84. data/spec/integration/client_side_encryption/queryable_encryption_examples_spec.rb +0 -114
  85. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +0 -583
  86. data/spec/integration/client_side_encryption/rewrap_prose_spec.rb +0 -114
  87. data/spec/integration/client_side_encryption/unique_index_on_key_alt_names_prose_spec.rb +0 -89
  88. data/spec/integration/client_side_encryption/views_spec.rb +0 -47
  89. data/spec/integration/client_side_operations_timeout/encryption_prose_spec.rb +0 -131
  90. data/spec/integration/client_spec.rb +0 -54
  91. data/spec/integration/client_update_spec.rb +0 -161
  92. data/spec/integration/collection_indexes_prose_spec.rb +0 -58
  93. data/spec/integration/command_monitoring_spec.rb +0 -184
  94. data/spec/integration/command_spec.rb +0 -157
  95. data/spec/integration/connect_single_rs_name_spec.rb +0 -75
  96. data/spec/integration/connection/faas_env_spec.rb +0 -62
  97. data/spec/integration/connection_pool_populator_spec.rb +0 -327
  98. data/spec/integration/connection_spec.rb +0 -353
  99. data/spec/integration/crud_spec.rb +0 -378
  100. data/spec/integration/cursor_pinning_spec.rb +0 -80
  101. data/spec/integration/cursor_reaping_spec.rb +0 -143
  102. data/spec/integration/docs_examples_spec.rb +0 -207
  103. data/spec/integration/error_detection_spec.rb +0 -42
  104. data/spec/integration/find_options_spec.rb +0 -227
  105. data/spec/integration/fork_reconnect_spec.rb +0 -207
  106. data/spec/integration/get_more_spec.rb +0 -42
  107. data/spec/integration/grid_fs_bucket_spec.rb +0 -51
  108. data/spec/integration/heartbeat_events_spec.rb +0 -102
  109. data/spec/integration/map_reduce_spec.rb +0 -81
  110. data/spec/integration/mmapv1_spec.rb +0 -31
  111. data/spec/integration/mongos_pinning_spec.rb +0 -37
  112. data/spec/integration/ocsp_connectivity_spec.rb +0 -29
  113. data/spec/integration/ocsp_verifier_cache_spec.rb +0 -191
  114. data/spec/integration/ocsp_verifier_spec.rb +0 -358
  115. data/spec/integration/operation_failure_code_spec.rb +0 -29
  116. data/spec/integration/operation_failure_message_spec.rb +0 -91
  117. data/spec/integration/query_cache_spec.rb +0 -1343
  118. data/spec/integration/query_cache_transactions_spec.rb +0 -193
  119. data/spec/integration/read_concern_spec.rb +0 -92
  120. data/spec/integration/read_preference_spec.rb +0 -548
  121. data/spec/integration/reconnect_spec.rb +0 -200
  122. data/spec/integration/retryable_errors_spec.rb +0 -286
  123. data/spec/integration/retryable_reads_errors_spec.rb +0 -275
  124. data/spec/integration/retryable_writes/retryable_writes_36_and_older_spec.rb +0 -764
  125. data/spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb +0 -405
  126. data/spec/integration/retryable_writes/shared/adds_diagnostics.rb +0 -18
  127. data/spec/integration/retryable_writes/shared/does_not_support_retries.rb +0 -27
  128. data/spec/integration/retryable_writes/shared/only_supports_legacy_retries.rb +0 -28
  129. data/spec/integration/retryable_writes/shared/performs_legacy_retries.rb +0 -220
  130. data/spec/integration/retryable_writes/shared/performs_modern_retries.rb +0 -235
  131. data/spec/integration/retryable_writes/shared/performs_no_retries.rb +0 -113
  132. data/spec/integration/retryable_writes/shared/supports_legacy_retries.rb +0 -22
  133. data/spec/integration/retryable_writes/shared/supports_modern_retries.rb +0 -28
  134. data/spec/integration/retryable_writes/shared/supports_retries.rb +0 -19
  135. data/spec/integration/retryable_writes_errors_spec.rb +0 -348
  136. data/spec/integration/sdam_error_handling_spec.rb +0 -490
  137. data/spec/integration/sdam_events_spec.rb +0 -178
  138. data/spec/integration/sdam_prose_spec.rb +0 -67
  139. data/spec/integration/search_indexes_prose_spec.rb +0 -172
  140. data/spec/integration/secondary_reads_spec.rb +0 -103
  141. data/spec/integration/server_description_spec.rb +0 -48
  142. data/spec/integration/server_monitor_spec.rb +0 -57
  143. data/spec/integration/server_selection_spec.rb +0 -39
  144. data/spec/integration/server_selector_spec.rb +0 -107
  145. data/spec/integration/server_spec.rb +0 -67
  146. data/spec/integration/shell_examples_spec.rb +0 -984
  147. data/spec/integration/size_limit_spec.rb +0 -118
  148. data/spec/integration/snappy_compression_spec.rb +0 -28
  149. data/spec/integration/snapshot_query_examples_spec.rb +0 -129
  150. data/spec/integration/srv_monitoring_spec.rb +0 -445
  151. data/spec/integration/srv_spec.rb +0 -60
  152. data/spec/integration/ssl_uri_options_spec.rb +0 -28
  153. data/spec/integration/step_down_spec.rb +0 -225
  154. data/spec/integration/time_zone_querying_spec.rb +0 -55
  155. data/spec/integration/transaction_pinning_spec.rb +0 -134
  156. data/spec/integration/transactions_api_examples_spec.rb +0 -64
  157. data/spec/integration/transactions_examples_spec.rb +0 -235
  158. data/spec/integration/truncated_utf8_spec.rb +0 -26
  159. data/spec/integration/versioned_api_examples_spec.rb +0 -120
  160. data/spec/integration/x509_auth_spec.rb +0 -112
  161. data/spec/integration/zlib_compression_spec.rb +0 -28
  162. data/spec/integration/zstd_compression_spec.rb +0 -29
  163. data/spec/kerberos/kerberos_spec.rb +0 -98
  164. data/spec/lite_spec_helper.rb +0 -211
  165. data/spec/mongo/address/ipv4_spec.rb +0 -102
  166. data/spec/mongo/address/ipv6_spec.rb +0 -137
  167. data/spec/mongo/address/unix_spec.rb +0 -45
  168. data/spec/mongo/address/validator_spec.rb +0 -54
  169. data/spec/mongo/address_spec.rb +0 -357
  170. data/spec/mongo/auth/aws/credential_cache_spec.rb +0 -63
  171. data/spec/mongo/auth/aws/credentials_retriever_spec.rb +0 -90
  172. data/spec/mongo/auth/aws/credentials_spec.rb +0 -46
  173. data/spec/mongo/auth/aws/request_region_spec.rb +0 -45
  174. data/spec/mongo/auth/aws/request_spec.rb +0 -79
  175. data/spec/mongo/auth/cr_spec.rb +0 -58
  176. data/spec/mongo/auth/gssapi/conversation_spec.rb +0 -124
  177. data/spec/mongo/auth/invalid_mechanism_spec.rb +0 -14
  178. data/spec/mongo/auth/ldap/conversation_spec.rb +0 -46
  179. data/spec/mongo/auth/ldap_spec.rb +0 -46
  180. data/spec/mongo/auth/scram/conversation_spec.rb +0 -205
  181. data/spec/mongo/auth/scram256/conversation_spec.rb +0 -174
  182. data/spec/mongo/auth/scram_negotiation_spec.rb +0 -532
  183. data/spec/mongo/auth/scram_spec.rb +0 -121
  184. data/spec/mongo/auth/stringprep/profiles/sasl_spec.rb +0 -116
  185. data/spec/mongo/auth/stringprep_spec.rb +0 -191
  186. data/spec/mongo/auth/user/view_spec.rb +0 -584
  187. data/spec/mongo/auth/user_spec.rb +0 -343
  188. data/spec/mongo/auth/x509/conversation_spec.rb +0 -72
  189. data/spec/mongo/auth/x509_spec.rb +0 -72
  190. data/spec/mongo/auth_spec.rb +0 -68
  191. data/spec/mongo/bson_spec.rb +0 -14
  192. data/spec/mongo/bulk_write/ordered_combiner_spec.rb +0 -287
  193. data/spec/mongo/bulk_write/result_spec.rb +0 -141
  194. data/spec/mongo/bulk_write/unordered_combiner_spec.rb +0 -242
  195. data/spec/mongo/bulk_write_spec.rb +0 -2514
  196. data/spec/mongo/caching_cursor_spec.rb +0 -73
  197. data/spec/mongo/client_construction_spec.rb +0 -2723
  198. data/spec/mongo/client_encryption_spec.rb +0 -403
  199. data/spec/mongo/client_spec.rb +0 -1357
  200. data/spec/mongo/cluster/cursor_reaper_spec.rb +0 -230
  201. data/spec/mongo/cluster/periodic_executor_spec.rb +0 -21
  202. data/spec/mongo/cluster/socket_reaper_spec.rb +0 -46
  203. data/spec/mongo/cluster/topology/replica_set_spec.rb +0 -601
  204. data/spec/mongo/cluster/topology/sharded_spec.rb +0 -158
  205. data/spec/mongo/cluster/topology/single_spec.rb +0 -192
  206. data/spec/mongo/cluster/topology/unknown_spec.rb +0 -103
  207. data/spec/mongo/cluster/topology_spec.rb +0 -211
  208. data/spec/mongo/cluster_spec.rb +0 -825
  209. data/spec/mongo/cluster_time_spec.rb +0 -151
  210. data/spec/mongo/collection/view/aggregation_spec.rb +0 -753
  211. data/spec/mongo/collection/view/builder/find_command_spec.rb +0 -528
  212. data/spec/mongo/collection/view/builder/op_query_spec.rb +0 -161
  213. data/spec/mongo/collection/view/change_stream_resume_spec.rb +0 -397
  214. data/spec/mongo/collection/view/change_stream_spec.rb +0 -547
  215. data/spec/mongo/collection/view/explainable_spec.rb +0 -119
  216. data/spec/mongo/collection/view/immutable_spec.rb +0 -57
  217. data/spec/mongo/collection/view/iterable_spec.rb +0 -41
  218. data/spec/mongo/collection/view/map_reduce_spec.rb +0 -907
  219. data/spec/mongo/collection/view/readable_spec.rb +0 -2283
  220. data/spec/mongo/collection/view/writable_spec.rb +0 -1976
  221. data/spec/mongo/collection/view_spec.rb +0 -424
  222. data/spec/mongo/collection_crud_spec.rb +0 -4472
  223. data/spec/mongo/collection_ddl_spec.rb +0 -587
  224. data/spec/mongo/collection_spec.rb +0 -849
  225. data/spec/mongo/condition_variable_spec.rb +0 -104
  226. data/spec/mongo/config/options_spec.rb +0 -76
  227. data/spec/mongo/config_spec.rb +0 -74
  228. data/spec/mongo/crypt/auto_decryption_context_spec.rb +0 -109
  229. data/spec/mongo/crypt/auto_encrypter_spec.rb +0 -450
  230. data/spec/mongo/crypt/auto_encryption_context_spec.rb +0 -126
  231. data/spec/mongo/crypt/binary_spec.rb +0 -113
  232. data/spec/mongo/crypt/binding/binary_spec.rb +0 -54
  233. data/spec/mongo/crypt/binding/context_spec.rb +0 -305
  234. data/spec/mongo/crypt/binding/helpers_spec.rb +0 -44
  235. data/spec/mongo/crypt/binding/mongocrypt_spec.rb +0 -113
  236. data/spec/mongo/crypt/binding/status_spec.rb +0 -97
  237. data/spec/mongo/crypt/binding/version_spec.rb +0 -67
  238. data/spec/mongo/crypt/binding_unloaded_spec.rb +0 -37
  239. data/spec/mongo/crypt/data_key_context_spec.rb +0 -146
  240. data/spec/mongo/crypt/encryption_io_spec.rb +0 -141
  241. data/spec/mongo/crypt/explicit_decryption_context_spec.rb +0 -106
  242. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +0 -266
  243. data/spec/mongo/crypt/handle_spec.rb +0 -266
  244. data/spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb +0 -111
  245. data/spec/mongo/crypt/hooks_spec.rb +0 -30
  246. data/spec/mongo/crypt/kms/azure/credentials_retriever_spec.rb +0 -86
  247. data/spec/mongo/crypt/kms/credentials_spec.rb +0 -373
  248. data/spec/mongo/crypt/kms_spec.rb +0 -62
  249. data/spec/mongo/crypt/status_spec.rb +0 -150
  250. data/spec/mongo/crypt_spec.rb +0 -21
  251. data/spec/mongo/cursor/builder/get_more_command_spec.rb +0 -195
  252. data/spec/mongo/cursor/builder/op_get_more_spec.rb +0 -68
  253. data/spec/mongo/cursor_spec.rb +0 -851
  254. data/spec/mongo/database_spec.rb +0 -1365
  255. data/spec/mongo/distinguishing_semaphore_spec.rb +0 -66
  256. data/spec/mongo/error/bulk_write_error_spec.rb +0 -52
  257. data/spec/mongo/error/crypt_error_spec.rb +0 -29
  258. data/spec/mongo/error/max_bson_size_spec.rb +0 -38
  259. data/spec/mongo/error/no_server_available_spec.rb +0 -35
  260. data/spec/mongo/error/notable_spec.rb +0 -62
  261. data/spec/mongo/error/operation_failure_heavy_spec.rb +0 -110
  262. data/spec/mongo/error/operation_failure_spec.rb +0 -553
  263. data/spec/mongo/error/parser_spec.rb +0 -519
  264. data/spec/mongo/error/unsupported_option_spec.rb +0 -57
  265. data/spec/mongo/event/publisher_spec.rb +0 -53
  266. data/spec/mongo/event/subscriber_spec.rb +0 -37
  267. data/spec/mongo/grid/file/chunk_spec.rb +0 -230
  268. data/spec/mongo/grid/file/info_spec.rb +0 -107
  269. data/spec/mongo/grid/file_spec.rb +0 -194
  270. data/spec/mongo/grid/fs_bucket_spec.rb +0 -1269
  271. data/spec/mongo/grid/stream/read_spec.rb +0 -292
  272. data/spec/mongo/grid/stream/write_spec.rb +0 -559
  273. data/spec/mongo/grid/stream_spec.rb +0 -51
  274. data/spec/mongo/id_spec.rb +0 -38
  275. data/spec/mongo/index/view_spec.rb +0 -1296
  276. data/spec/mongo/lint_spec.rb +0 -231
  277. data/spec/mongo/logger_spec.rb +0 -62
  278. data/spec/mongo/monitoring/command_log_subscriber_spec.rb +0 -79
  279. data/spec/mongo/monitoring/event/cmap/connection_check_out_failed_spec.rb +0 -26
  280. data/spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb +0 -22
  281. data/spec/mongo/monitoring/event/cmap/connection_checked_in_spec.rb +0 -33
  282. data/spec/mongo/monitoring/event/cmap/connection_checked_out_spec.rb +0 -33
  283. data/spec/mongo/monitoring/event/cmap/connection_closed_spec.rb +0 -30
  284. data/spec/mongo/monitoring/event/cmap/connection_created_spec.rb +0 -27
  285. data/spec/mongo/monitoring/event/cmap/connection_ready_spec.rb +0 -27
  286. data/spec/mongo/monitoring/event/cmap/pool_cleared_spec.rb +0 -22
  287. data/spec/mongo/monitoring/event/cmap/pool_closed_spec.rb +0 -29
  288. data/spec/mongo/monitoring/event/cmap/pool_created_spec.rb +0 -36
  289. data/spec/mongo/monitoring/event/command_failed_spec.rb +0 -87
  290. data/spec/mongo/monitoring/event/command_started_spec.rb +0 -51
  291. data/spec/mongo/monitoring/event/command_succeeded_spec.rb +0 -88
  292. data/spec/mongo/monitoring/event/secure_spec.rb +0 -123
  293. data/spec/mongo/monitoring/event/server_closed_spec.rb +0 -38
  294. data/spec/mongo/monitoring/event/server_description_changed_spec.rb +0 -38
  295. data/spec/mongo/monitoring/event/server_heartbeat_failed_spec.rb +0 -34
  296. data/spec/mongo/monitoring/event/server_heartbeat_started_spec.rb +0 -34
  297. data/spec/mongo/monitoring/event/server_heartbeat_succeeded_spec.rb +0 -34
  298. data/spec/mongo/monitoring/event/server_opening_spec.rb +0 -38
  299. data/spec/mongo/monitoring/event/topology_changed_spec.rb +0 -44
  300. data/spec/mongo/monitoring/event/topology_closed_spec.rb +0 -38
  301. data/spec/mongo/monitoring/event/topology_opening_spec.rb +0 -38
  302. data/spec/mongo/monitoring_spec.rb +0 -196
  303. data/spec/mongo/operation/aggregate/result_spec.rb +0 -90
  304. data/spec/mongo/operation/aggregate_spec.rb +0 -76
  305. data/spec/mongo/operation/collections_info_spec.rb +0 -48
  306. data/spec/mongo/operation/command_spec.rb +0 -86
  307. data/spec/mongo/operation/context_spec.rb +0 -79
  308. data/spec/mongo/operation/create/op_msg_spec.rb +0 -240
  309. data/spec/mongo/operation/create_index_spec.rb +0 -62
  310. data/spec/mongo/operation/create_user_spec.rb +0 -53
  311. data/spec/mongo/operation/delete/bulk_spec.rb +0 -245
  312. data/spec/mongo/operation/delete/op_msg_spec.rb +0 -267
  313. data/spec/mongo/operation/delete_spec.rb +0 -203
  314. data/spec/mongo/operation/drop_index_spec.rb +0 -61
  315. data/spec/mongo/operation/find/builder/flags_spec.rb +0 -109
  316. data/spec/mongo/operation/find/builder/modifiers_spec.rb +0 -213
  317. data/spec/mongo/operation/find/op_msg_spec.rb +0 -66
  318. data/spec/mongo/operation/get_more/op_msg_spec.rb +0 -65
  319. data/spec/mongo/operation/indexes_spec.rb +0 -41
  320. data/spec/mongo/operation/insert/bulk_spec.rb +0 -273
  321. data/spec/mongo/operation/insert/op_msg_spec.rb +0 -293
  322. data/spec/mongo/operation/insert_spec.rb +0 -258
  323. data/spec/mongo/operation/limited_spec.rb +0 -55
  324. data/spec/mongo/operation/map_reduce_spec.rb +0 -131
  325. data/spec/mongo/operation/read_preference_legacy_spec.rb +0 -360
  326. data/spec/mongo/operation/read_preference_op_msg_spec.rb +0 -332
  327. data/spec/mongo/operation/remove_user_spec.rb +0 -52
  328. data/spec/mongo/operation/result_spec.rb +0 -369
  329. data/spec/mongo/operation/shared/csot/examples.rb +0 -113
  330. data/spec/mongo/operation/specifiable_spec.rb +0 -87
  331. data/spec/mongo/operation/update/bulk_spec.rb +0 -239
  332. data/spec/mongo/operation/update/op_msg_spec.rb +0 -272
  333. data/spec/mongo/operation/update_spec.rb +0 -235
  334. data/spec/mongo/operation/update_user_spec.rb +0 -52
  335. data/spec/mongo/options/redacted_spec.rb +0 -353
  336. data/spec/mongo/protocol/caching_hash_spec.rb +0 -37
  337. data/spec/mongo/protocol/compressed_spec.rb +0 -83
  338. data/spec/mongo/protocol/get_more_spec.rb +0 -164
  339. data/spec/mongo/protocol/kill_cursors_spec.rb +0 -121
  340. data/spec/mongo/protocol/msg_spec.rb +0 -507
  341. data/spec/mongo/protocol/query_spec.rb +0 -347
  342. data/spec/mongo/protocol/registry_spec.rb +0 -34
  343. data/spec/mongo/protocol/reply_spec.rb +0 -198
  344. data/spec/mongo/query_cache_middleware_spec.rb +0 -55
  345. data/spec/mongo/query_cache_spec.rb +0 -471
  346. data/spec/mongo/retryable/write_worker_spec.rb +0 -39
  347. data/spec/mongo/retryable_spec.rb +0 -624
  348. data/spec/mongo/semaphore_spec.rb +0 -54
  349. data/spec/mongo/server/app_metadata/environment_spec.rb +0 -344
  350. data/spec/mongo/server/app_metadata/truncator_spec.rb +0 -158
  351. data/spec/mongo/server/app_metadata_spec.rb +0 -158
  352. data/spec/mongo/server/connection_auth_spec.rb +0 -138
  353. data/spec/mongo/server/connection_common_spec.rb +0 -87
  354. data/spec/mongo/server/connection_pool/populator_spec.rb +0 -120
  355. data/spec/mongo/server/connection_pool_spec.rb +0 -1609
  356. data/spec/mongo/server/connection_spec.rb +0 -1310
  357. data/spec/mongo/server/description/features_spec.rb +0 -274
  358. data/spec/mongo/server/description_query_methods_spec.rb +0 -291
  359. data/spec/mongo/server/description_spec.rb +0 -846
  360. data/spec/mongo/server/monitor/app_metadata_spec.rb +0 -25
  361. data/spec/mongo/server/monitor/connection_spec.rb +0 -197
  362. data/spec/mongo/server/monitor_spec.rb +0 -326
  363. data/spec/mongo/server/push_monitor_spec.rb +0 -95
  364. data/spec/mongo/server/round_trip_time_calculator_spec.rb +0 -120
  365. data/spec/mongo/server_selector/nearest_spec.rb +0 -338
  366. data/spec/mongo/server_selector/primary_preferred_spec.rb +0 -372
  367. data/spec/mongo/server_selector/primary_spec.rb +0 -181
  368. data/spec/mongo/server_selector/secondary_preferred_spec.rb +0 -350
  369. data/spec/mongo/server_selector/secondary_spec.rb +0 -278
  370. data/spec/mongo/server_selector_spec.rb +0 -736
  371. data/spec/mongo/server_spec.rb +0 -463
  372. data/spec/mongo/session/server_session_spec.rb +0 -62
  373. data/spec/mongo/session/session_pool_spec.rb +0 -257
  374. data/spec/mongo/session_spec.rb +0 -368
  375. data/spec/mongo/session_transaction_spec.rb +0 -222
  376. data/spec/mongo/socket/ssl_spec.rb +0 -830
  377. data/spec/mongo/socket/tcp_spec.rb +0 -17
  378. data/spec/mongo/socket/unix_spec.rb +0 -56
  379. data/spec/mongo/socket_spec.rb +0 -119
  380. data/spec/mongo/srv/monitor_spec.rb +0 -233
  381. data/spec/mongo/srv/result_spec.rb +0 -57
  382. data/spec/mongo/timeout_spec.rb +0 -42
  383. data/spec/mongo/tls_context_hooks_spec.rb +0 -40
  384. data/spec/mongo/uri/options_mapper_spec.rb +0 -1605
  385. data/spec/mongo/uri/srv_protocol_spec.rb +0 -1367
  386. data/spec/mongo/uri_option_parsing_spec.rb +0 -625
  387. data/spec/mongo/uri_spec.rb +0 -1443
  388. data/spec/mongo/utils_spec.rb +0 -42
  389. data/spec/mongo/write_concern/acknowledged_spec.rb +0 -58
  390. data/spec/mongo/write_concern/unacknowledged_spec.rb +0 -29
  391. data/spec/mongo/write_concern_spec.rb +0 -227
  392. data/spec/runners/auth.rb +0 -140
  393. data/spec/runners/change_streams/outcome.rb +0 -45
  394. data/spec/runners/change_streams/spec.rb +0 -60
  395. data/spec/runners/change_streams/test.rb +0 -232
  396. data/spec/runners/cmap/verifier.rb +0 -48
  397. data/spec/runners/cmap.rb +0 -516
  398. data/spec/runners/command_monitoring.rb +0 -346
  399. data/spec/runners/connection_string.rb +0 -393
  400. data/spec/runners/crud/context.rb +0 -30
  401. data/spec/runners/crud/operation.rb +0 -480
  402. data/spec/runners/crud/outcome.rb +0 -56
  403. data/spec/runners/crud/requirement.rb +0 -139
  404. data/spec/runners/crud/spec.rb +0 -76
  405. data/spec/runners/crud/test.rb +0 -115
  406. data/spec/runners/crud/test_base.rb +0 -53
  407. data/spec/runners/crud/verifier.rb +0 -224
  408. data/spec/runners/crud.rb +0 -257
  409. data/spec/runners/gridfs.rb +0 -641
  410. data/spec/runners/read_write_concern_document.rb +0 -70
  411. data/spec/runners/sdam/verifier.rb +0 -112
  412. data/spec/runners/sdam.rb +0 -279
  413. data/spec/runners/server_selection.rb +0 -365
  414. data/spec/runners/server_selection_rtt.rb +0 -41
  415. data/spec/runners/transactions/operation.rb +0 -332
  416. data/spec/runners/transactions/spec.rb +0 -29
  417. data/spec/runners/transactions/test.rb +0 -379
  418. data/spec/runners/transactions.rb +0 -107
  419. data/spec/runners/unified/ambiguous_operations.rb +0 -13
  420. data/spec/runners/unified/assertions.rb +0 -396
  421. data/spec/runners/unified/change_stream_operations.rb +0 -42
  422. data/spec/runners/unified/client_side_encryption_operations.rb +0 -83
  423. data/spec/runners/unified/crud_operations.rb +0 -367
  424. data/spec/runners/unified/ddl_operations.rb +0 -286
  425. data/spec/runners/unified/entity_map.rb +0 -42
  426. data/spec/runners/unified/error.rb +0 -29
  427. data/spec/runners/unified/event_subscriber.rb +0 -110
  428. data/spec/runners/unified/exceptions.rb +0 -24
  429. data/spec/runners/unified/grid_fs_operations.rb +0 -114
  430. data/spec/runners/unified/search_index_operations.rb +0 -63
  431. data/spec/runners/unified/support_operations.rb +0 -370
  432. data/spec/runners/unified/test.rb +0 -606
  433. data/spec/runners/unified/test_group.rb +0 -31
  434. data/spec/runners/unified/thread_operations.rb +0 -73
  435. data/spec/runners/unified.rb +0 -109
  436. data/spec/solo/clean_exit_spec.rb +0 -24
  437. data/spec/spec_helper.rb +0 -35
  438. data/spec/spec_tests/auth_spec.rb +0 -58
  439. data/spec/spec_tests/change_streams_unified_spec.rb +0 -14
  440. data/spec/spec_tests/client_side_encryption_spec.rb +0 -37
  441. data/spec/spec_tests/client_side_encryption_unified_spec.rb +0 -26
  442. data/spec/spec_tests/client_side_operations_timeout_spec.rb +0 -15
  443. data/spec/spec_tests/cmap_spec.rb +0 -126
  444. data/spec/spec_tests/collection_management_spec.rb +0 -13
  445. data/spec/spec_tests/command_monitoring_unified_spec.rb +0 -13
  446. data/spec/spec_tests/connection_string_spec.rb +0 -10
  447. data/spec/spec_tests/crud_spec.rb +0 -12
  448. data/spec/spec_tests/crud_unified_spec.rb +0 -13
  449. data/spec/spec_tests/data/auth/connection-string.yml +0 -366
  450. data/spec/spec_tests/data/change_streams_unified/change-streams-clusterTime.yml +0 -43
  451. data/spec/spec_tests/data/change_streams_unified/change-streams-disambiguatedPaths.yml +0 -105
  452. data/spec/spec_tests/data/change_streams_unified/change-streams-errors.yml +0 -122
  453. data/spec/spec_tests/data/change_streams_unified/change-streams-pre_and_post_images.yml +0 -351
  454. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-allowlist.yml +0 -1169
  455. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-errorLabels.yml +0 -1069
  456. data/spec/spec_tests/data/change_streams_unified/change-streams-showExpandedEvents.yml +0 -307
  457. data/spec/spec_tests/data/change_streams_unified/change-streams.yml +0 -927
  458. data/spec/spec_tests/data/client_side_encryption/aggregate.yml +0 -120
  459. data/spec/spec_tests/data/client_side_encryption/awsTemporary.yml +0 -57
  460. data/spec/spec_tests/data/client_side_encryption/azureKMS.yml +0 -46
  461. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +0 -537
  462. data/spec/spec_tests/data/client_side_encryption/badSchema.yml +0 -73
  463. data/spec/spec_tests/data/client_side_encryption/basic.yml +0 -102
  464. data/spec/spec_tests/data/client_side_encryption/bulk.yml +0 -81
  465. data/spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml +0 -100
  466. data/spec/spec_tests/data/client_side_encryption/bypassedCommand.yml +0 -43
  467. data/spec/spec_tests/data/client_side_encryption/count.yml +0 -54
  468. data/spec/spec_tests/data/client_side_encryption/countDocuments.yml +0 -52
  469. data/spec/spec_tests/data/client_side_encryption/create-and-createIndexes.yml +0 -58
  470. data/spec/spec_tests/data/client_side_encryption/delete.yml +0 -91
  471. data/spec/spec_tests/data/client_side_encryption/distinct.yml +0 -66
  472. data/spec/spec_tests/data/client_side_encryption/explain.yml +0 -57
  473. data/spec/spec_tests/data/client_side_encryption/find.yml +0 -105
  474. data/spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml +0 -50
  475. data/spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml +0 -50
  476. data/spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml +0 -50
  477. data/spec/spec_tests/data/client_side_encryption/fle2v2-BypassQueryAnalysis.yml +0 -90
  478. data/spec/spec_tests/data/client_side_encryption/fle2v2-Compact.yml +0 -83
  479. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection-OldServer.yml +0 -61
  480. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection.yml +0 -938
  481. data/spec/spec_tests/data/client_side_encryption/fle2v2-DecryptExistingData.yml +0 -67
  482. data/spec/spec_tests/data/client_side_encryption/fle2v2-Delete.yml +0 -101
  483. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-EncryptedFieldsMap.yml +0 -80
  484. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-jsonSchema.yml +0 -103
  485. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFieldsMap-defaults.yml +0 -59
  486. data/spec/spec_tests/data/client_side_encryption/fle2v2-FindOneAndUpdate.yml +0 -201
  487. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Indexed.yml +0 -97
  488. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml +0 -90
  489. data/spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml +0 -44
  490. data/spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml +0 -45
  491. data/spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml +0 -211
  492. data/spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml +0 -170
  493. data/spec/spec_tests/data/client_side_encryption/gcpKMS.yml +0 -46
  494. data/spec/spec_tests/data/client_side_encryption/getMore.yml +0 -61
  495. data/spec/spec_tests/data/client_side_encryption/insert.yml +0 -88
  496. data/spec/spec_tests/data/client_side_encryption/keyAltName.yml +0 -64
  497. data/spec/spec_tests/data/client_side_encryption/localKMS.yml +0 -47
  498. data/spec/spec_tests/data/client_side_encryption/localSchema.yml +0 -65
  499. data/spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml +0 -69
  500. data/spec/spec_tests/data/client_side_encryption/maxWireVersion.yml +0 -22
  501. data/spec/spec_tests/data/client_side_encryption/missingKey.yml +0 -42
  502. data/spec/spec_tests/data/client_side_encryption/noSchema.yml +0 -39
  503. data/spec/spec_tests/data/client_side_encryption/replaceOne.yml +0 -57
  504. data/spec/spec_tests/data/client_side_encryption/timeoutMS.yml +0 -67
  505. data/spec/spec_tests/data/client_side_encryption/types.yml +0 -501
  506. data/spec/spec_tests/data/client_side_encryption/unified/addKeyAltName.yml +0 -194
  507. data/spec/spec_tests/data/client_side_encryption/unified/createDataKey-kms_providers-invalid.yml +0 -67
  508. data/spec/spec_tests/data/client_side_encryption/unified/createDataKey.yml +0 -309
  509. data/spec/spec_tests/data/client_side_encryption/unified/deleteKey.yml +0 -159
  510. data/spec/spec_tests/data/client_side_encryption/unified/getKey.yml +0 -105
  511. data/spec/spec_tests/data/client_side_encryption/unified/getKeyByAltName.yml +0 -104
  512. data/spec/spec_tests/data/client_side_encryption/unified/getKeys.yml +0 -122
  513. data/spec/spec_tests/data/client_side_encryption/unified/removeKeyAltName.yml +0 -157
  514. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey-decrypt_failure.yml +0 -69
  515. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey-encrypt_failure.yml +0 -122
  516. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey.yml +0 -432
  517. data/spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml +0 -25
  518. data/spec/spec_tests/data/client_side_encryption/updateMany.yml +0 -70
  519. data/spec/spec_tests/data/client_side_encryption/updateOne.yml +0 -164
  520. data/spec/spec_tests/data/client_side_encryption/validatorAndPartialFieldExpression.yml +0 -166
  521. data/spec/spec_tests/data/client_side_operations_timeout/bulkWrite.yml +0 -87
  522. data/spec/spec_tests/data/client_side_operations_timeout/change-streams.yml +0 -358
  523. data/spec/spec_tests/data/client_side_operations_timeout/close-cursors.yml +0 -129
  524. data/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml +0 -250
  525. data/spec/spec_tests/data/client_side_operations_timeout/convenient-transactions.yml +0 -113
  526. data/spec/spec_tests/data/client_side_operations_timeout/cursors.yml +0 -70
  527. data/spec/spec_tests/data/client_side_operations_timeout/deprecated-options.yml +0 -3982
  528. data/spec/spec_tests/data/client_side_operations_timeout/error-transformations.yml +0 -96
  529. data/spec/spec_tests/data/client_side_operations_timeout/global-timeoutMS.yml +0 -3236
  530. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-advanced.yml +0 -207
  531. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-delete.yml +0 -152
  532. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-download.yml +0 -182
  533. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-find.yml +0 -100
  534. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-upload.yml +0 -249
  535. data/spec/spec_tests/data/client_side_operations_timeout/legacy-timeouts.yml +0 -204
  536. data/spec/spec_tests/data/client_side_operations_timeout/non-tailable-cursors.yml +0 -307
  537. data/spec/spec_tests/data/client_side_operations_timeout/override-collection-timeoutMS.yml +0 -1877
  538. data/spec/spec_tests/data/client_side_operations_timeout/override-operation-timeoutMS.yml +0 -1918
  539. data/spec/spec_tests/data/client_side_operations_timeout/retryability-legacy-timeouts.yml +0 -1676
  540. data/spec/spec_tests/data/client_side_operations_timeout/retryability-timeoutMS.yml +0 -2824
  541. data/spec/spec_tests/data/client_side_operations_timeout/sessions-inherit-timeoutMS.yml +0 -168
  542. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-operation-timeoutMS.yml +0 -171
  543. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-timeoutMS.yml +0 -168
  544. data/spec/spec_tests/data/client_side_operations_timeout/tailable-awaitData.yml +0 -247
  545. data/spec/spec_tests/data/client_side_operations_timeout/tailable-non-awaitData.yml +0 -181
  546. data/spec/spec_tests/data/cmap/connection-must-have-id.yml +0 -29
  547. data/spec/spec_tests/data/cmap/connection-must-order-ids.yml +0 -29
  548. data/spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml +0 -29
  549. data/spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml +0 -29
  550. data/spec/spec_tests/data/cmap/pool-checkin-make-available.yml +0 -26
  551. data/spec/spec_tests/data/cmap/pool-checkin.yml +0 -24
  552. data/spec/spec_tests/data/cmap/pool-checkout-connection.yml +0 -21
  553. data/spec/spec_tests/data/cmap/pool-checkout-custom-maxConnecting-is-enforced.yml +0 -50
  554. data/spec/spec_tests/data/cmap/pool-checkout-error-closed.yml +0 -38
  555. data/spec/spec_tests/data/cmap/pool-checkout-maxConnecting-is-enforced.yml +0 -81
  556. data/spec/spec_tests/data/cmap/pool-checkout-maxConnecting-timeout.yml +0 -71
  557. data/spec/spec_tests/data/cmap/pool-checkout-minPoolSize-connection-maxConnecting.yml +0 -64
  558. data/spec/spec_tests/data/cmap/pool-checkout-multiple.yml +0 -39
  559. data/spec/spec_tests/data/cmap/pool-checkout-no-idle.yml +0 -41
  560. data/spec/spec_tests/data/cmap/pool-checkout-no-stale.yml +0 -41
  561. data/spec/spec_tests/data/cmap/pool-checkout-returned-connection-maxConnecting.yml +0 -88
  562. data/spec/spec_tests/data/cmap/pool-clear-interrupting-pending-connections.yml +0 -43
  563. data/spec/spec_tests/data/cmap/pool-clear-min-size.yml +0 -41
  564. data/spec/spec_tests/data/cmap/pool-clear-paused.yml +0 -18
  565. data/spec/spec_tests/data/cmap/pool-clear-ready.yml +0 -39
  566. data/spec/spec_tests/data/cmap/pool-clear-schedule-run-interruptInUseConnections-false.yml +0 -48
  567. data/spec/spec_tests/data/cmap/pool-close-destroy-conns.yml +0 -30
  568. data/spec/spec_tests/data/cmap/pool-close.yml +0 -11
  569. data/spec/spec_tests/data/cmap/pool-create-max-size.yml +0 -73
  570. data/spec/spec_tests/data/cmap/pool-create-min-size-error.yml +0 -43
  571. data/spec/spec_tests/data/cmap/pool-create-min-size.yml +0 -43
  572. data/spec/spec_tests/data/cmap/pool-create-with-options.yml +0 -21
  573. data/spec/spec_tests/data/cmap/pool-create.yml +0 -12
  574. data/spec/spec_tests/data/cmap/pool-ready-ready.yml +0 -22
  575. data/spec/spec_tests/data/cmap/pool-ready.yml +0 -30
  576. data/spec/spec_tests/data/cmap/wait-queue-fairness.yml +0 -126
  577. data/spec/spec_tests/data/cmap/wait-queue-timeout.yml +0 -51
  578. data/spec/spec_tests/data/collection_management/clustered-indexes.yml +0 -135
  579. data/spec/spec_tests/data/collection_management/createCollection-pre_and_post_images.yml +0 -50
  580. data/spec/spec_tests/data/collection_management/modifyCollection-errorResponse.yml +0 -59
  581. data/spec/spec_tests/data/collection_management/modifyCollection-pre_and_post_images.yml +0 -58
  582. data/spec/spec_tests/data/collection_management/timeseries-collection.yml +0 -164
  583. data/spec/spec_tests/data/command_monitoring_unified/bulkWrite.yml +0 -68
  584. data/spec/spec_tests/data/command_monitoring_unified/command.yml +0 -50
  585. data/spec/spec_tests/data/command_monitoring_unified/deleteMany.yml +0 -79
  586. data/spec/spec_tests/data/command_monitoring_unified/deleteOne.yml +0 -79
  587. data/spec/spec_tests/data/command_monitoring_unified/find.yml +0 -254
  588. data/spec/spec_tests/data/command_monitoring_unified/insertMany.yml +0 -79
  589. data/spec/spec_tests/data/command_monitoring_unified/insertOne.yml +0 -77
  590. data/spec/spec_tests/data/command_monitoring_unified/pre-42-server-connection-id.yml +0 -56
  591. data/spec/spec_tests/data/command_monitoring_unified/redacted-commands.yml +0 -348
  592. data/spec/spec_tests/data/command_monitoring_unified/server-connection-id.yml +0 -56
  593. data/spec/spec_tests/data/command_monitoring_unified/unacknowledgedBulkWrite.yml +0 -55
  594. data/spec/spec_tests/data/command_monitoring_unified/updateMany.yml +0 -87
  595. data/spec/spec_tests/data/command_monitoring_unified/updateOne.yml +0 -118
  596. data/spec/spec_tests/data/command_monitoring_unified/writeConcernError.yml +0 -80
  597. data/spec/spec_tests/data/connection_string/invalid-uris.yml +0 -251
  598. data/spec/spec_tests/data/connection_string/valid-auth.yml +0 -257
  599. data/spec/spec_tests/data/connection_string/valid-db-with-dotted-name.yml +0 -77
  600. data/spec/spec_tests/data/connection_string/valid-host_identifiers.yml +0 -121
  601. data/spec/spec_tests/data/connection_string/valid-options.yml +0 -30
  602. data/spec/spec_tests/data/connection_string/valid-unix_socket-absolute.yml +0 -197
  603. data/spec/spec_tests/data/connection_string/valid-unix_socket-relative.yml +0 -213
  604. data/spec/spec_tests/data/connection_string/valid-warnings.yml +0 -75
  605. data/spec/spec_tests/data/crud/read/aggregate-collation.yml +0 -18
  606. data/spec/spec_tests/data/crud/read/aggregate-out.yml +0 -44
  607. data/spec/spec_tests/data/crud/read/aggregate.yml +0 -21
  608. data/spec/spec_tests/data/crud/read/count-collation.yml +0 -26
  609. data/spec/spec_tests/data/crud/read/count-empty.yml +0 -29
  610. data/spec/spec_tests/data/crud/read/count.yml +0 -74
  611. data/spec/spec_tests/data/crud/read/distinct-collation.yml +0 -18
  612. data/spec/spec_tests/data/crud/read/distinct.yml +0 -32
  613. data/spec/spec_tests/data/crud/read/find-collation.yml +0 -16
  614. data/spec/spec_tests/data/crud/read/find.yml +0 -49
  615. data/spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml +0 -45
  616. data/spec/spec_tests/data/crud/write/bulkWrite-collation.yml +0 -102
  617. data/spec/spec_tests/data/crud/write/bulkWrite.yml +0 -405
  618. data/spec/spec_tests/data/crud/write/deleteMany-collation.yml +0 -23
  619. data/spec/spec_tests/data/crud/write/deleteMany.yml +0 -35
  620. data/spec/spec_tests/data/crud/write/deleteOne-collation.yml +0 -23
  621. data/spec/spec_tests/data/crud/write/deleteOne.yml +0 -48
  622. data/spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml +0 -24
  623. data/spec/spec_tests/data/crud/write/findOneAndDelete.yml +0 -53
  624. data/spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml +0 -25
  625. data/spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml +0 -91
  626. data/spec/spec_tests/data/crud/write/findOneAndReplace-upsert_pre_2.6.yml +0 -88
  627. data/spec/spec_tests/data/crud/write/findOneAndReplace.yml +0 -113
  628. data/spec/spec_tests/data/crud/write/findOneAndUpdate-arrayFilters.yml +0 -69
  629. data/spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml +0 -28
  630. data/spec/spec_tests/data/crud/write/findOneAndUpdate.yml +0 -163
  631. data/spec/spec_tests/data/crud/write/insertMany.yml +0 -81
  632. data/spec/spec_tests/data/crud/write/insertOne.yml +0 -18
  633. data/spec/spec_tests/data/crud/write/replaceOne-collation.yml +0 -25
  634. data/spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml +0 -98
  635. data/spec/spec_tests/data/crud/write/replaceOne-upsert.yml +0 -48
  636. data/spec/spec_tests/data/crud/write/replaceOne.yml +0 -102
  637. data/spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml +0 -66
  638. data/spec/spec_tests/data/crud/write/updateMany-collation.yml +0 -29
  639. data/spec/spec_tests/data/crud/write/updateMany-pre_2.6.yml +0 -86
  640. data/spec/spec_tests/data/crud/write/updateMany.yml +0 -87
  641. data/spec/spec_tests/data/crud/write/updateOne-arrayFilters.yml +0 -114
  642. data/spec/spec_tests/data/crud/write/updateOne-collation.yml +0 -26
  643. data/spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml +0 -83
  644. data/spec/spec_tests/data/crud/write/updateOne.yml +0 -84
  645. data/spec/spec_tests/data/crud_unified/aggregate-allowdiskuse.yml +0 -75
  646. data/spec/spec_tests/data/crud_unified/aggregate-let.yml +0 -138
  647. data/spec/spec_tests/data/crud_unified/aggregate-merge-errorResponse.yml +0 -42
  648. data/spec/spec_tests/data/crud_unified/aggregate-merge.yml +0 -185
  649. data/spec/spec_tests/data/crud_unified/aggregate-out-readConcern.yml +0 -171
  650. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +0 -161
  651. data/spec/spec_tests/data/crud_unified/aggregate.yml +0 -215
  652. data/spec/spec_tests/data/crud_unified/bulkWrite-arrayFilters-clientError.yml +0 -98
  653. data/spec/spec_tests/data/crud_unified/bulkWrite-arrayFilters.yml +0 -174
  654. data/spec/spec_tests/data/crud_unified/bulkWrite-comment.yml +0 -189
  655. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint-clientError.yml +0 -113
  656. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint-serverError.yml +0 -142
  657. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint.yml +0 -154
  658. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteMany-hint-unacknowledged.yml +0 -98
  659. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteMany-let.yml +0 -86
  660. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteOne-hint-unacknowledged.yml +0 -97
  661. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteOne-let.yml +0 -86
  662. data/spec/spec_tests/data/crud_unified/bulkWrite-errorResponse.yml +0 -50
  663. data/spec/spec_tests/data/crud_unified/bulkWrite-insertOne-dots_and_dollars.yml +0 -138
  664. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-dots_and_dollars.yml +0 -165
  665. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-hint-unacknowledged.yml +0 -103
  666. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-let.yml +0 -93
  667. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint-clientError.yml +0 -148
  668. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint-serverError.yml +0 -239
  669. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint.yml +0 -256
  670. data/spec/spec_tests/data/crud_unified/bulkWrite-update-validation.yml +0 -73
  671. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-dots_and_dollars.yml +0 -150
  672. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-hint-unacknowledged.yml +0 -104
  673. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-let.yml +0 -96
  674. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-dots_and_dollars.yml +0 -150
  675. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-hint-unacknowledged.yml +0 -103
  676. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-let.yml +0 -95
  677. data/spec/spec_tests/data/crud_unified/countDocuments-comment.yml +0 -92
  678. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +0 -157
  679. data/spec/spec_tests/data/crud_unified/db-aggregate.yml +0 -73
  680. data/spec/spec_tests/data/crud_unified/deleteMany-comment.yml +0 -97
  681. data/spec/spec_tests/data/crud_unified/deleteMany-hint-clientError.yml +0 -87
  682. data/spec/spec_tests/data/crud_unified/deleteMany-hint-serverError.yml +0 -107
  683. data/spec/spec_tests/data/crud_unified/deleteMany-hint-unacknowledged.yml +0 -90
  684. data/spec/spec_tests/data/crud_unified/deleteMany-hint.yml +0 -99
  685. data/spec/spec_tests/data/crud_unified/deleteMany-let.yml +0 -93
  686. data/spec/spec_tests/data/crud_unified/deleteOne-comment.yml +0 -98
  687. data/spec/spec_tests/data/crud_unified/deleteOne-errorResponse.yml +0 -46
  688. data/spec/spec_tests/data/crud_unified/deleteOne-hint-clientError.yml +0 -80
  689. data/spec/spec_tests/data/crud_unified/deleteOne-hint-serverError.yml +0 -100
  690. data/spec/spec_tests/data/crud_unified/deleteOne-hint-unacknowledged.yml +0 -89
  691. data/spec/spec_tests/data/crud_unified/deleteOne-hint.yml +0 -95
  692. data/spec/spec_tests/data/crud_unified/deleteOne-let.yml +0 -91
  693. data/spec/spec_tests/data/crud_unified/distinct-comment.yml +0 -98
  694. data/spec/spec_tests/data/crud_unified/estimatedDocumentCount-comment.yml +0 -95
  695. data/spec/spec_tests/data/crud_unified/estimatedDocumentCount.yml +0 -181
  696. data/spec/spec_tests/data/crud_unified/find-allowdiskuse-clientError.yml +0 -55
  697. data/spec/spec_tests/data/crud_unified/find-allowdiskuse-serverError.yml +0 -68
  698. data/spec/spec_tests/data/crud_unified/find-allowdiskuse.yml +0 -79
  699. data/spec/spec_tests/data/crud_unified/find-comment.yml +0 -166
  700. data/spec/spec_tests/data/crud_unified/find-let.yml +0 -71
  701. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +0 -377
  702. data/spec/spec_tests/data/crud_unified/find.yml +0 -68
  703. data/spec/spec_tests/data/crud_unified/findOneAndDelete-comment.yml +0 -96
  704. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-clientError.yml +0 -91
  705. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-serverError.yml +0 -107
  706. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-unacknowledged.yml +0 -88
  707. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint.yml +0 -102
  708. data/spec/spec_tests/data/crud_unified/findOneAndDelete-let.yml +0 -86
  709. data/spec/spec_tests/data/crud_unified/findOneAndReplace-comment.yml +0 -101
  710. data/spec/spec_tests/data/crud_unified/findOneAndReplace-dots_and_dollars.yml +0 -140
  711. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-clientError.yml +0 -83
  712. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-serverError.yml +0 -99
  713. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-unacknowledged.yml +0 -96
  714. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint.yml +0 -98
  715. data/spec/spec_tests/data/crud_unified/findOneAndReplace-let.yml +0 -94
  716. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-comment.yml +0 -95
  717. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-dots_and_dollars.yml +0 -127
  718. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-errorResponse.yml +0 -69
  719. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-clientError.yml +0 -84
  720. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-serverError.yml +0 -100
  721. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-unacknowledged.yml +0 -92
  722. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint.yml +0 -99
  723. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-let.yml +0 -96
  724. data/spec/spec_tests/data/crud_unified/insertMany-comment.yml +0 -93
  725. data/spec/spec_tests/data/crud_unified/insertMany-dots_and_dollars.yml +0 -128
  726. data/spec/spec_tests/data/crud_unified/insertOne-comment.yml +0 -91
  727. data/spec/spec_tests/data/crud_unified/insertOne-dots_and_dollars.yml +0 -238
  728. data/spec/spec_tests/data/crud_unified/insertOne-errorResponse.yml +0 -46
  729. data/spec/spec_tests/data/crud_unified/replaceOne-comment.yml +0 -105
  730. data/spec/spec_tests/data/crud_unified/replaceOne-dots_and_dollars.yml +0 -180
  731. data/spec/spec_tests/data/crud_unified/replaceOne-hint-unacknowledged.yml +0 -95
  732. data/spec/spec_tests/data/crud_unified/replaceOne-hint.yml +0 -108
  733. data/spec/spec_tests/data/crud_unified/replaceOne-let.yml +0 -98
  734. data/spec/spec_tests/data/crud_unified/replaceOne-validation.yml +0 -37
  735. data/spec/spec_tests/data/crud_unified/updateMany-comment.yml +0 -104
  736. data/spec/spec_tests/data/crud_unified/updateMany-dots_and_dollars.yml +0 -138
  737. data/spec/spec_tests/data/crud_unified/updateMany-hint-clientError.yml +0 -91
  738. data/spec/spec_tests/data/crud_unified/updateMany-hint-serverError.yml +0 -115
  739. data/spec/spec_tests/data/crud_unified/updateMany-hint-unacknowledged.yml +0 -96
  740. data/spec/spec_tests/data/crud_unified/updateMany-hint.yml +0 -115
  741. data/spec/spec_tests/data/crud_unified/updateMany-let.yml +0 -107
  742. data/spec/spec_tests/data/crud_unified/updateMany-validation.yml +0 -39
  743. data/spec/spec_tests/data/crud_unified/updateOne-comment.yml +0 -104
  744. data/spec/spec_tests/data/crud_unified/updateOne-dots_and_dollars.yml +0 -138
  745. data/spec/spec_tests/data/crud_unified/updateOne-errorResponse.yml +0 -47
  746. data/spec/spec_tests/data/crud_unified/updateOne-hint-clientError.yml +0 -85
  747. data/spec/spec_tests/data/crud_unified/updateOne-hint-serverError.yml +0 -109
  748. data/spec/spec_tests/data/crud_unified/updateOne-hint-unacknowledged.yml +0 -95
  749. data/spec/spec_tests/data/crud_unified/updateOne-hint.yml +0 -109
  750. data/spec/spec_tests/data/crud_unified/updateOne-let.yml +0 -102
  751. data/spec/spec_tests/data/crud_unified/updateOne-validation.yml +0 -37
  752. data/spec/spec_tests/data/crud_unified/updateWithPipelines.yml +0 -299
  753. data/spec/spec_tests/data/gridfs/delete.yml +0 -123
  754. data/spec/spec_tests/data/gridfs/download.yml +0 -192
  755. data/spec/spec_tests/data/gridfs/download_by_name.yml +0 -113
  756. data/spec/spec_tests/data/gridfs/upload.yml +0 -158
  757. data/spec/spec_tests/data/gridfs_unified/delete.yml +0 -198
  758. data/spec/spec_tests/data/gridfs_unified/download.yml +0 -241
  759. data/spec/spec_tests/data/gridfs_unified/downloadByName.yml +0 -159
  760. data/spec/spec_tests/data/gridfs_unified/upload-disableMD5.yml +0 -92
  761. data/spec/spec_tests/data/gridfs_unified/upload.yml +0 -288
  762. data/spec/spec_tests/data/index_management/createSearchIndex.yml +0 -64
  763. data/spec/spec_tests/data/index_management/createSearchIndexes.yml +0 -86
  764. data/spec/spec_tests/data/index_management/dropSearchIndex.yml +0 -43
  765. data/spec/spec_tests/data/index_management/listSearchIndexes.yml +0 -91
  766. data/spec/spec_tests/data/index_management/updateSearchIndex.yml +0 -46
  767. data/spec/spec_tests/data/load_balancers/event-monitoring.yml +0 -99
  768. data/spec/spec_tests/data/load_balancers/lb-connection-establishment.yml +0 -36
  769. data/spec/spec_tests/data/load_balancers/non-lb-connection-establishment.yml +0 -56
  770. data/spec/spec_tests/data/load_balancers/server-selection.yml +0 -50
  771. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml +0 -26
  772. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Incompatible.yml +0 -25
  773. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml +0 -33
  774. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/MaxStalenessTooSmall.yml +0 -15
  775. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml +0 -33
  776. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml +0 -33
  777. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml +0 -16
  778. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml +0 -27
  779. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml +0 -36
  780. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml +0 -51
  781. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml +0 -26
  782. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml +0 -51
  783. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml +0 -23
  784. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml +0 -26
  785. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Incompatible.yml +0 -25
  786. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml +0 -35
  787. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml +0 -29
  788. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml +0 -25
  789. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml +0 -26
  790. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml +0 -23
  791. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml +0 -33
  792. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml +0 -33
  793. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml +0 -36
  794. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml +0 -27
  795. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.yml +0 -27
  796. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml +0 -26
  797. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml +0 -59
  798. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml +0 -43
  799. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml +0 -59
  800. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml +0 -43
  801. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml +0 -23
  802. data/spec/spec_tests/data/max_staleness/Sharded/Incompatible.yml +0 -25
  803. data/spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml +0 -28
  804. data/spec/spec_tests/data/max_staleness/Single/Incompatible.yml +0 -18
  805. data/spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml +0 -20
  806. data/spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml +0 -15
  807. data/spec/spec_tests/data/read_write_concern/connection-string/read-concern.yml +0 -32
  808. data/spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml +0 -79
  809. data/spec/spec_tests/data/read_write_concern/document/read-concern.yml +0 -37
  810. data/spec/spec_tests/data/read_write_concern/document/write-concern.yml +0 -100
  811. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-2.6.yml +0 -215
  812. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.2.yml +0 -58
  813. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.4.yml +0 -95
  814. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-4.2.yml +0 -36
  815. data/spec/spec_tests/data/retryable_reads/legacy/aggregate-merge.yml +0 -39
  816. data/spec/spec_tests/data/retryable_reads/legacy/aggregate-serverErrors.yml +0 -157
  817. data/spec/spec_tests/data/retryable_reads/legacy/aggregate.yml +0 -87
  818. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-client.watch-serverErrors.yml +0 -150
  819. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-client.watch.yml +0 -62
  820. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.coll.watch-serverErrors.yml +0 -150
  821. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.coll.watch.yml +0 -66
  822. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.watch-serverErrors.yml +0 -154
  823. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.watch.yml +0 -62
  824. data/spec/spec_tests/data/retryable_reads/legacy/count-serverErrors.yml +0 -150
  825. data/spec/spec_tests/data/retryable_reads/legacy/count.yml +0 -64
  826. data/spec/spec_tests/data/retryable_reads/legacy/countDocuments-serverErrors.yml +0 -150
  827. data/spec/spec_tests/data/retryable_reads/legacy/countDocuments.yml +0 -64
  828. data/spec/spec_tests/data/retryable_reads/legacy/distinct-serverErrors.yml +0 -156
  829. data/spec/spec_tests/data/retryable_reads/legacy/distinct.yml +0 -71
  830. data/spec/spec_tests/data/retryable_reads/legacy/estimatedDocumentCount-serverErrors.yml +0 -148
  831. data/spec/spec_tests/data/retryable_reads/legacy/estimatedDocumentCount.yml +0 -62
  832. data/spec/spec_tests/data/retryable_reads/legacy/find-serverErrors.yml +0 -160
  833. data/spec/spec_tests/data/retryable_reads/legacy/find.yml +0 -86
  834. data/spec/spec_tests/data/retryable_reads/legacy/findOne-serverErrors.yml +0 -154
  835. data/spec/spec_tests/data/retryable_reads/legacy/findOne.yml +0 -68
  836. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-download-serverErrors.yml +0 -173
  837. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-download.yml +0 -79
  838. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-downloadByName-serverErrors.yml +0 -174
  839. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-downloadByName.yml +0 -79
  840. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionNames-serverErrors.yml +0 -143
  841. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionNames.yml +0 -59
  842. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionObjects-serverErrors.yml +0 -144
  843. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionObjects.yml +0 -59
  844. data/spec/spec_tests/data/retryable_reads/legacy/listCollections-serverErrors.yml +0 -143
  845. data/spec/spec_tests/data/retryable_reads/legacy/listCollections.yml +0 -59
  846. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseNames-serverErrors.yml +0 -143
  847. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseNames.yml +0 -59
  848. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseObjects-serverErrors.yml +0 -144
  849. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseObjects.yml +0 -59
  850. data/spec/spec_tests/data/retryable_reads/legacy/listDatabases-serverErrors.yml +0 -144
  851. data/spec/spec_tests/data/retryable_reads/legacy/listDatabases.yml +0 -59
  852. data/spec/spec_tests/data/retryable_reads/legacy/listIndexNames-serverErrors.yml +0 -144
  853. data/spec/spec_tests/data/retryable_reads/legacy/listIndexNames.yml +0 -60
  854. data/spec/spec_tests/data/retryable_reads/legacy/listIndexes-serverErrors.yml +0 -145
  855. data/spec/spec_tests/data/retryable_reads/legacy/listIndexes.yml +0 -60
  856. data/spec/spec_tests/data/retryable_reads/legacy/mapReduce.yml +0 -62
  857. data/spec/spec_tests/data/retryable_reads/unified/handshakeError.yml +0 -1342
  858. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite-errorLabels.yml +0 -77
  859. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite-serverErrors.yml +0 -130
  860. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite.yml +0 -402
  861. data/spec/spec_tests/data/retryable_writes/legacy/deleteMany.yml +0 -22
  862. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne-errorLabels.yml +0 -48
  863. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne-serverErrors.yml +0 -73
  864. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne.yml +0 -57
  865. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete-errorLabels.yml +0 -49
  866. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete-serverErrors.yml +0 -74
  867. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete.yml +0 -58
  868. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace-errorLabels.yml +0 -52
  869. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace-serverErrors.yml +0 -80
  870. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace.yml +0 -63
  871. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate-errorLabels.yml +0 -52
  872. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate-serverErrors.yml +0 -79
  873. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate.yml +0 -62
  874. data/spec/spec_tests/data/retryable_writes/legacy/insertMany-errorLabels.yml +0 -54
  875. data/spec/spec_tests/data/retryable_writes/legacy/insertMany-serverErrors.yml +0 -84
  876. data/spec/spec_tests/data/retryable_writes/legacy/insertMany.yml +0 -74
  877. data/spec/spec_tests/data/retryable_writes/legacy/insertOne-errorLabels.yml +0 -44
  878. data/spec/spec_tests/data/retryable_writes/legacy/insertOne-serverErrors.yml +0 -527
  879. data/spec/spec_tests/data/retryable_writes/legacy/insertOne.yml +0 -61
  880. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne-errorLabels.yml +0 -53
  881. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne-serverErrors.yml +0 -82
  882. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne.yml +0 -66
  883. data/spec/spec_tests/data/retryable_writes/legacy/updateMany.yml +0 -27
  884. data/spec/spec_tests/data/retryable_writes/legacy/updateOne-errorLabels.yml +0 -53
  885. data/spec/spec_tests/data/retryable_writes/legacy/updateOne-serverErrors.yml +0 -82
  886. data/spec/spec_tests/data/retryable_writes/legacy/updateOne.yml +0 -129
  887. data/spec/spec_tests/data/retryable_writes/unified/bulkWrite-serverErrors.yml +0 -93
  888. data/spec/spec_tests/data/retryable_writes/unified/handshakeError.yml +0 -785
  889. data/spec/spec_tests/data/retryable_writes/unified/insertOne-noWritesPerformedError.yml +0 -54
  890. data/spec/spec_tests/data/retryable_writes/unified/insertOne-serverErrors.yml +0 -75
  891. data/spec/spec_tests/data/run_command_unified/runCommand.yml +0 -319
  892. data/spec/spec_tests/data/sdam/errors/error_handling_handshake.yml +0 -55
  893. data/spec/spec_tests/data/sdam/errors/non-stale-network-error.yml +0 -47
  894. data/spec/spec_tests/data/sdam/errors/non-stale-network-timeout-error.yml +0 -38
  895. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedAtShutdown.yml +0 -61
  896. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedDueToReplStateChange.yml +0 -61
  897. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-LegacyNotPrimary.yml +0 -61
  898. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotPrimaryNoSecondaryOk.yml +0 -61
  899. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotPrimaryOrSecondary.yml +0 -61
  900. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotWritablePrimary.yml +0 -61
  901. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-PrimarySteppedDown.yml +0 -61
  902. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-ShutdownInProgress.yml +0 -61
  903. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedAtShutdown.yml +0 -52
  904. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedDueToReplStateChange.yml +0 -52
  905. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-LegacyNotPrimary.yml +0 -52
  906. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotPrimaryNoSecondaryOk.yml +0 -52
  907. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotPrimaryOrSecondary.yml +0 -52
  908. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotWritablePrimary.yml +0 -52
  909. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-PrimarySteppedDown.yml +0 -52
  910. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-ShutdownInProgress.yml +0 -52
  911. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedAtShutdown.yml +0 -61
  912. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedDueToReplStateChange.yml +0 -61
  913. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-LegacyNotPrimary.yml +0 -61
  914. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotPrimaryNoSecondaryOk.yml +0 -61
  915. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotPrimaryOrSecondary.yml +0 -61
  916. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotWritablePrimary.yml +0 -61
  917. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-PrimarySteppedDown.yml +0 -61
  918. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-ShutdownInProgress.yml +0 -61
  919. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedAtShutdown.yml +0 -47
  920. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedDueToReplStateChange.yml +0 -47
  921. data/spec/spec_tests/data/sdam/errors/post-42-LegacyNotPrimary.yml +0 -47
  922. data/spec/spec_tests/data/sdam/errors/post-42-NotPrimaryNoSecondaryOk.yml +0 -47
  923. data/spec/spec_tests/data/sdam/errors/post-42-NotPrimaryOrSecondary.yml +0 -47
  924. data/spec/spec_tests/data/sdam/errors/post-42-NotWritablePrimary.yml +0 -47
  925. data/spec/spec_tests/data/sdam/errors/post-42-PrimarySteppedDown.yml +0 -47
  926. data/spec/spec_tests/data/sdam/errors/post-42-ShutdownInProgress.yml +0 -47
  927. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedAtShutdown.yml +0 -47
  928. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedDueToReplStateChange.yml +0 -47
  929. data/spec/spec_tests/data/sdam/errors/pre-42-LegacyNotPrimary.yml +0 -47
  930. data/spec/spec_tests/data/sdam/errors/pre-42-NotPrimaryNoSecondaryOk.yml +0 -47
  931. data/spec/spec_tests/data/sdam/errors/pre-42-NotPrimaryOrSecondary.yml +0 -47
  932. data/spec/spec_tests/data/sdam/errors/pre-42-NotWritablePrimary.yml +0 -47
  933. data/spec/spec_tests/data/sdam/errors/pre-42-PrimarySteppedDown.yml +0 -47
  934. data/spec/spec_tests/data/sdam/errors/pre-42-ShutdownInProgress.yml +0 -47
  935. data/spec/spec_tests/data/sdam/errors/prefer-error-code.yml +0 -54
  936. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedAtShutdown.yml +0 -91
  937. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedDueToReplStateChange.yml +0 -91
  938. data/spec/spec_tests/data/sdam/errors/stale-generation-NotPrimaryNoSecondaryOk.yml +0 -91
  939. data/spec/spec_tests/data/sdam/errors/stale-generation-NotPrimaryOrSecondary.yml +0 -91
  940. data/spec/spec_tests/data/sdam/errors/stale-generation-NotWritablePrimary.yml +0 -91
  941. data/spec/spec_tests/data/sdam/errors/stale-generation-PrimarySteppedDown.yml +0 -91
  942. data/spec/spec_tests/data/sdam/errors/stale-generation-ShutdownInProgress.yml +0 -91
  943. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedAtShutdown.yml +0 -91
  944. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedDueToReplStateChange.yml +0 -91
  945. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-LegacyNotPrimary.yml +0 -91
  946. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotPrimaryNoSecondaryOk.yml +0 -91
  947. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotPrimaryOrSecondary.yml +0 -91
  948. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotWritablePrimary.yml +0 -91
  949. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-PrimarySteppedDown.yml +0 -91
  950. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-ShutdownInProgress.yml +0 -91
  951. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-network.yml +0 -82
  952. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-timeout.yml +0 -82
  953. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedAtShutdown.yml +0 -91
  954. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedDueToReplStateChange.yml +0 -91
  955. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-LegacyNotPrimary.yml +0 -91
  956. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotPrimaryNoSecondaryOk.yml +0 -91
  957. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotPrimaryOrSecondary.yml +0 -91
  958. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotWritablePrimary.yml +0 -91
  959. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-PrimarySteppedDown.yml +0 -91
  960. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-ShutdownInProgress.yml +0 -91
  961. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-network.yml +0 -82
  962. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-timeout.yml +0 -82
  963. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedAtShutdown.yml +0 -65
  964. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedDueToReplStateChange.yml +0 -65
  965. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-LegacyNotPrimary.yml +0 -65
  966. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotPrimaryNoSecondaryOk.yml +0 -65
  967. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotPrimaryOrSecondary.yml +0 -65
  968. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotWritablePrimary.yml +0 -65
  969. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-PrimarySteppedDown.yml +0 -65
  970. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-ShutdownInProgress.yml +0 -65
  971. data/spec/spec_tests/data/sdam/errors/write_errors_ignored.yml +0 -42
  972. data/spec/spec_tests/data/sdam/load-balanced/discover_load_balancer.yml +0 -25
  973. data/spec/spec_tests/data/sdam/rs/compatible.yml +0 -45
  974. data/spec/spec_tests/data/sdam/rs/compatible_unknown.yml +0 -34
  975. data/spec/spec_tests/data/sdam/rs/discover_arbiters.yml +0 -44
  976. data/spec/spec_tests/data/sdam/rs/discover_arbiters_replicaset.yml +0 -44
  977. data/spec/spec_tests/data/sdam/rs/discover_ghost.yml +0 -36
  978. data/spec/spec_tests/data/sdam/rs/discover_ghost_replicaset.yml +0 -42
  979. data/spec/spec_tests/data/sdam/rs/discover_hidden.yml +0 -51
  980. data/spec/spec_tests/data/sdam/rs/discover_hidden_replicaset.yml +0 -51
  981. data/spec/spec_tests/data/sdam/rs/discover_passives.yml +0 -83
  982. data/spec/spec_tests/data/sdam/rs/discover_passives_replicaset.yml +0 -83
  983. data/spec/spec_tests/data/sdam/rs/discover_primary.yml +0 -43
  984. data/spec/spec_tests/data/sdam/rs/discover_primary_replicaset.yml +0 -43
  985. data/spec/spec_tests/data/sdam/rs/discover_rsother.yml +0 -50
  986. data/spec/spec_tests/data/sdam/rs/discover_rsother_replicaset.yml +0 -68
  987. data/spec/spec_tests/data/sdam/rs/discover_secondary.yml +0 -44
  988. data/spec/spec_tests/data/sdam/rs/discover_secondary_replicaset.yml +0 -44
  989. data/spec/spec_tests/data/sdam/rs/discovery.yml +0 -207
  990. data/spec/spec_tests/data/sdam/rs/electionId_precedence_setVersion.yml +0 -62
  991. data/spec/spec_tests/data/sdam/rs/equal_electionids.yml +0 -57
  992. data/spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml +0 -37
  993. data/spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml +0 -36
  994. data/spec/spec_tests/data/sdam/rs/incompatible_ghost.yml +0 -34
  995. data/spec/spec_tests/data/sdam/rs/incompatible_other.yml +0 -36
  996. data/spec/spec_tests/data/sdam/rs/ls_timeout.yml +0 -249
  997. data/spec/spec_tests/data/sdam/rs/member_reconfig.yml +0 -74
  998. data/spec/spec_tests/data/sdam/rs/member_standalone.yml +0 -66
  999. data/spec/spec_tests/data/sdam/rs/new_primary.yml +0 -80
  1000. data/spec/spec_tests/data/sdam/rs/new_primary_new_electionid.yml +0 -119
  1001. data/spec/spec_tests/data/sdam/rs/new_primary_new_setversion.yml +0 -119
  1002. data/spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml +0 -77
  1003. data/spec/spec_tests/data/sdam/rs/non_rs_member.yml +0 -33
  1004. data/spec/spec_tests/data/sdam/rs/normalize_case.yml +0 -52
  1005. data/spec/spec_tests/data/sdam/rs/normalize_case_me.yml +0 -102
  1006. data/spec/spec_tests/data/sdam/rs/null_election_id-pre-6.0.yml +0 -175
  1007. data/spec/spec_tests/data/sdam/rs/null_election_id.yml +0 -177
  1008. data/spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml +0 -65
  1009. data/spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml +0 -58
  1010. data/spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml +0 -55
  1011. data/spec/spec_tests/data/sdam/rs/primary_changes_set_name.yml +0 -63
  1012. data/spec/spec_tests/data/sdam/rs/primary_disconnect.yml +0 -59
  1013. data/spec/spec_tests/data/sdam/rs/primary_disconnect_electionid.yml +0 -189
  1014. data/spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml +0 -189
  1015. data/spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml +0 -64
  1016. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml +0 -27
  1017. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml +0 -75
  1018. data/spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml +0 -175
  1019. data/spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml +0 -81
  1020. data/spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml +0 -30
  1021. data/spec/spec_tests/data/sdam/rs/repeated.yml +0 -105
  1022. data/spec/spec_tests/data/sdam/rs/replicaset_rsnp.yml +0 -21
  1023. data/spec/spec_tests/data/sdam/rs/response_from_removed.yml +0 -69
  1024. data/spec/spec_tests/data/sdam/rs/ruby_primary_address_change.yml +0 -31
  1025. data/spec/spec_tests/data/sdam/rs/ruby_secondary_wrong_set_name_with_primary_second.yml +0 -73
  1026. data/spec/spec_tests/data/sdam/rs/sec_not_auth.yml +0 -55
  1027. data/spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0-pre-6.0.yml +0 -87
  1028. data/spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml +0 -87
  1029. data/spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml +0 -28
  1030. data/spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml +0 -31
  1031. data/spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary.yml +0 -75
  1032. data/spec/spec_tests/data/sdam/rs/set_version_can_rollback.yml +0 -101
  1033. data/spec/spec_tests/data/sdam/rs/setversion_equal_max_without_electionid.yml +0 -78
  1034. data/spec/spec_tests/data/sdam/rs/setversion_greaterthan_max_without_electionid.yml +0 -79
  1035. data/spec/spec_tests/data/sdam/rs/setversion_without_electionid-pre-6.0.yml +0 -79
  1036. data/spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml +0 -78
  1037. data/spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml +0 -65
  1038. data/spec/spec_tests/data/sdam/rs/too_new.yml +0 -45
  1039. data/spec/spec_tests/data/sdam/rs/too_old.yml +0 -41
  1040. data/spec/spec_tests/data/sdam/rs/topology_version_equal.yml +0 -68
  1041. data/spec/spec_tests/data/sdam/rs/topology_version_greater.yml +0 -194
  1042. data/spec/spec_tests/data/sdam/rs/topology_version_less.yml +0 -64
  1043. data/spec/spec_tests/data/sdam/rs/unexpected_mongos.yml +0 -29
  1044. data/spec/spec_tests/data/sdam/rs/use_setversion_without_electionid-pre-6.0.yml +0 -117
  1045. data/spec/spec_tests/data/sdam/rs/use_setversion_without_electionid.yml +0 -119
  1046. data/spec/spec_tests/data/sdam/rs/wrong_set_name.yml +0 -38
  1047. data/spec/spec_tests/data/sdam/sharded/compatible.yml +0 -40
  1048. data/spec/spec_tests/data/sdam/sharded/discover_single_mongos.yml +0 -24
  1049. data/spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml +0 -101
  1050. data/spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml +0 -113
  1051. data/spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml +0 -52
  1052. data/spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml +0 -47
  1053. data/spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml +0 -32
  1054. data/spec/spec_tests/data/sdam/sharded/ruby_primary_different_address.yml +0 -21
  1055. data/spec/spec_tests/data/sdam/sharded/ruby_primary_mismatched_me.yml +0 -22
  1056. data/spec/spec_tests/data/sdam/sharded/too_new.yml +0 -38
  1057. data/spec/spec_tests/data/sdam/sharded/too_old.yml +0 -38
  1058. data/spec/spec_tests/data/sdam/single/compatible.yml +0 -27
  1059. data/spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml +0 -37
  1060. data/spec/spec_tests/data/sdam/single/direct_connection_mongos.yml +0 -36
  1061. data/spec/spec_tests/data/sdam/single/direct_connection_replicaset.yml +0 -23
  1062. data/spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml +0 -38
  1063. data/spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml +0 -37
  1064. data/spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml +0 -38
  1065. data/spec/spec_tests/data/sdam/single/direct_connection_standalone.yml +0 -35
  1066. data/spec/spec_tests/data/sdam/single/direct_connection_unavailable_seed.yml +0 -28
  1067. data/spec/spec_tests/data/sdam/single/direct_connection_wrong_set_name.yml +0 -40
  1068. data/spec/spec_tests/data/sdam/single/discover_standalone.yml +0 -35
  1069. data/spec/spec_tests/data/sdam/single/discover_unavailable_seed.yml +0 -28
  1070. data/spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml +0 -36
  1071. data/spec/spec_tests/data/sdam/single/not_ok_response.yml +0 -44
  1072. data/spec/spec_tests/data/sdam/single/ruby_primary_different_address.yml +0 -24
  1073. data/spec/spec_tests/data/sdam/single/ruby_primary_mismatched_me.yml +0 -25
  1074. data/spec/spec_tests/data/sdam/single/standalone_removed.yml +0 -35
  1075. data/spec/spec_tests/data/sdam/single/standalone_using_legacy_hello.yml +0 -34
  1076. data/spec/spec_tests/data/sdam/single/too_new.yml +0 -27
  1077. data/spec/spec_tests/data/sdam/single/too_old.yml +0 -25
  1078. data/spec/spec_tests/data/sdam/single/too_old_then_upgraded.yml +0 -48
  1079. data/spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml +0 -70
  1080. data/spec/spec_tests/data/sdam_monitoring/load_balancer.yml +0 -65
  1081. data/spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml +0 -222
  1082. data/spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml +0 -225
  1083. data/spec/spec_tests/data/sdam_monitoring/replica_set_primary_address_change.yml +0 -251
  1084. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml +0 -111
  1085. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml +0 -112
  1086. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml +0 -111
  1087. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml +0 -198
  1088. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml +0 -175
  1089. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml +0 -111
  1090. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml +0 -106
  1091. data/spec/spec_tests/data/sdam_monitoring/required_replica_set.yml +0 -108
  1092. data/spec/spec_tests/data/sdam_monitoring/standalone.yml +0 -70
  1093. data/spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml +0 -86
  1094. data/spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml +0 -73
  1095. data/spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml +0 -90
  1096. data/spec/spec_tests/data/sdam_unified/auth-error.yml +0 -130
  1097. data/spec/spec_tests/data/sdam_unified/auth-misc-command-error.yml +0 -132
  1098. data/spec/spec_tests/data/sdam_unified/auth-network-error.yml +0 -132
  1099. data/spec/spec_tests/data/sdam_unified/auth-network-timeout-error.yml +0 -138
  1100. data/spec/spec_tests/data/sdam_unified/auth-shutdown-error.yml +0 -133
  1101. data/spec/spec_tests/data/sdam_unified/cancel-server-check.yml +0 -143
  1102. data/spec/spec_tests/data/sdam_unified/connectTimeoutMS.yml +0 -130
  1103. data/spec/spec_tests/data/sdam_unified/find-network-error.yml +0 -135
  1104. data/spec/spec_tests/data/sdam_unified/find-network-timeout-error.yml +0 -119
  1105. data/spec/spec_tests/data/sdam_unified/find-shutdown-error.yml +0 -163
  1106. data/spec/spec_tests/data/sdam_unified/hello-command-error.yml +0 -233
  1107. data/spec/spec_tests/data/sdam_unified/hello-network-error.yml +0 -228
  1108. data/spec/spec_tests/data/sdam_unified/hello-timeout.yml +0 -318
  1109. data/spec/spec_tests/data/sdam_unified/insert-network-error.yml +0 -137
  1110. data/spec/spec_tests/data/sdam_unified/insert-shutdown-error.yml +0 -162
  1111. data/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml +0 -340
  1112. data/spec/spec_tests/data/sdam_unified/minPoolSize-error.yml +0 -125
  1113. data/spec/spec_tests/data/sdam_unified/pool-cleared-error.yml +0 -239
  1114. data/spec/spec_tests/data/sdam_unified/rediscover-quickly-after-step-down.yml +0 -144
  1115. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-directConnection.yml +0 -14
  1116. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-no-results.yml +0 -5
  1117. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-replicaSet-errors.yml +0 -6
  1118. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-multiple-hosts.yml +0 -5
  1119. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-txt.yml +0 -11
  1120. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-conflicts_with_loadBalanced-true-txt.yml +0 -5
  1121. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-conflicts_with_loadBalanced-true.yml +0 -5
  1122. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-zero-txt.yml +0 -11
  1123. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-zero.yml +0 -11
  1124. data/spec/spec_tests/data/seed_list_discovery/replica-set/direct-connection-false.yml +0 -10
  1125. data/spec/spec_tests/data/seed_list_discovery/replica-set/direct-connection-true.yml +0 -5
  1126. data/spec/spec_tests/data/seed_list_discovery/replica-set/encoded-userinfo-and-db.yml +0 -15
  1127. data/spec/spec_tests/data/seed_list_discovery/replica-set/loadBalanced-false-txt.yml +0 -10
  1128. data/spec/spec_tests/data/seed_list_discovery/replica-set/longer-parent-in-return.yml +0 -11
  1129. data/spec/spec_tests/data/seed_list_discovery/replica-set/misformatted-option.yml +0 -5
  1130. data/spec/spec_tests/data/seed_list_discovery/replica-set/no-results.yml +0 -5
  1131. data/spec/spec_tests/data/seed_list_discovery/replica-set/not-enough-parts.yml +0 -5
  1132. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-result-default-port.yml +0 -10
  1133. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-txt-record-multiple-strings.yml +0 -10
  1134. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-txt-record.yml +0 -11
  1135. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch1.yml +0 -5
  1136. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch2.yml +0 -5
  1137. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch3.yml +0 -5
  1138. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch4.yml +0 -5
  1139. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch5.yml +0 -5
  1140. data/spec/spec_tests/data/seed_list_discovery/replica-set/returned-parent-too-short.yml +0 -5
  1141. data/spec/spec_tests/data/seed_list_discovery/replica-set/returned-parent-wrong.yml +0 -5
  1142. data/spec/spec_tests/data/seed_list_discovery/replica-set/srv-service-name.yml +0 -11
  1143. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-conflicts_with_replicaSet-txt.yml +0 -5
  1144. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-conflicts_with_replicaSet.yml +0 -5
  1145. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-equal_to_srv_records.yml +0 -16
  1146. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-greater_than_srv_records.yml +0 -15
  1147. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-less_than_srv_records.yml +0 -15
  1148. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-zero-txt.yml +0 -15
  1149. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-zero.yml +0 -15
  1150. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-results-default-port.yml +0 -11
  1151. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-results-nonstandard-port.yml +0 -11
  1152. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-txt-records.yml +0 -5
  1153. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-not-allowed-option.yml +0 -5
  1154. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-overridden-ssl-option.yml +0 -11
  1155. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-overridden-uri-option.yml +0 -11
  1156. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-unallowed-option.yml +0 -5
  1157. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-admin-database.yml +0 -13
  1158. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-auth.yml +0 -12
  1159. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-port.yml +0 -5
  1160. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-two-hosts.yml +0 -5
  1161. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-equal_to_srv_records.yml +0 -13
  1162. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-greater_than_srv_records.yml +0 -12
  1163. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-less_than_srv_records.yml +0 -10
  1164. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-zero.yml +0 -11
  1165. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml +0 -25
  1166. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml +0 -26
  1167. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml +0 -20
  1168. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimary.yml +0 -15
  1169. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest.yml +0 -15
  1170. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Primary.yml +0 -18
  1171. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml +0 -25
  1172. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml +0 -20
  1173. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary.yml +0 -25
  1174. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml +0 -25
  1175. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml +0 -20
  1176. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.yml +0 -31
  1177. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.yml +0 -31
  1178. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml +0 -20
  1179. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest.yml +0 -32
  1180. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.yml +0 -33
  1181. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml +0 -25
  1182. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Primary.yml +0 -26
  1183. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml +0 -28
  1184. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml +0 -28
  1185. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary.yml +0 -30
  1186. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred.yml +0 -30
  1187. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching.yml +0 -28
  1188. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.yml +0 -28
  1189. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching.yml +0 -25
  1190. data/spec/spec_tests/data/server_selection/Sharded/read/Nearest.yml +0 -21
  1191. data/spec/spec_tests/data/server_selection/Sharded/read/Primary.yml +0 -19
  1192. data/spec/spec_tests/data/server_selection/Sharded/read/PrimaryPreferred.yml +0 -21
  1193. data/spec/spec_tests/data/server_selection/Sharded/read/Secondary.yml +0 -21
  1194. data/spec/spec_tests/data/server_selection/Sharded/read/SecondaryPreferred.yml +0 -21
  1195. data/spec/spec_tests/data/server_selection/Single/read/SecondaryPreferred.yml +0 -18
  1196. data/spec/spec_tests/data/server_selection/Unknown/read/SecondaryPreferred.yml +0 -10
  1197. data/spec/spec_tests/data/server_selection/Unknown/read/ghost.yml +0 -11
  1198. data/spec/spec_tests/data/server_selection/Unknown/write/ghost.yml +0 -11
  1199. data/spec/spec_tests/data/server_selection_rtt/first_value.yml +0 -4
  1200. data/spec/spec_tests/data/server_selection_rtt/first_value_zero.yml +0 -4
  1201. data/spec/spec_tests/data/server_selection_rtt/value_test_1.yml +0 -4
  1202. data/spec/spec_tests/data/server_selection_rtt/value_test_2.yml +0 -4
  1203. data/spec/spec_tests/data/server_selection_rtt/value_test_3.yml +0 -4
  1204. data/spec/spec_tests/data/server_selection_rtt/value_test_4.yml +0 -4
  1205. data/spec/spec_tests/data/server_selection_rtt/value_test_5.yml +0 -4
  1206. data/spec/spec_tests/data/sessions_unified/driver-sessions-dirty-session-errors.yml +0 -351
  1207. data/spec/spec_tests/data/sessions_unified/driver-sessions-server-support.yml +0 -123
  1208. data/spec/spec_tests/data/sessions_unified/implicit-sessions-default-causal-consistency.yml +0 -119
  1209. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-client-error.yml +0 -75
  1210. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-server-error.yml +0 -102
  1211. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-unsupported-ops.yml +0 -258
  1212. data/spec/spec_tests/data/sessions_unified/snapshot-sessions.yml +0 -482
  1213. data/spec/spec_tests/data/transactions/abort.yml +0 -413
  1214. data/spec/spec_tests/data/transactions/bulk.yml +0 -267
  1215. data/spec/spec_tests/data/transactions/causal-consistency.yml +0 -175
  1216. data/spec/spec_tests/data/transactions/commit.yml +0 -603
  1217. data/spec/spec_tests/data/transactions/count.yml +0 -67
  1218. data/spec/spec_tests/data/transactions/create-collection.yml +0 -131
  1219. data/spec/spec_tests/data/transactions/create-index.yml +0 -152
  1220. data/spec/spec_tests/data/transactions/delete.yml +0 -192
  1221. data/spec/spec_tests/data/transactions/error-labels.yml +0 -1030
  1222. data/spec/spec_tests/data/transactions/errors-client.yml +0 -55
  1223. data/spec/spec_tests/data/transactions/errors.yml +0 -133
  1224. data/spec/spec_tests/data/transactions/findOneAndDelete.yml +0 -134
  1225. data/spec/spec_tests/data/transactions/findOneAndReplace.yml +0 -148
  1226. data/spec/spec_tests/data/transactions/findOneAndUpdate.yml +0 -236
  1227. data/spec/spec_tests/data/transactions/insert.yml +0 -390
  1228. data/spec/spec_tests/data/transactions/isolation.yml +0 -133
  1229. data/spec/spec_tests/data/transactions/mongos-pin-auto.yml +0 -1674
  1230. data/spec/spec_tests/data/transactions/mongos-recovery-token.yml +0 -350
  1231. data/spec/spec_tests/data/transactions/pin-mongos.yml +0 -559
  1232. data/spec/spec_tests/data/transactions/read-concern.yml +0 -623
  1233. data/spec/spec_tests/data/transactions/read-pref.yml +0 -348
  1234. data/spec/spec_tests/data/transactions/reads.yml +0 -261
  1235. data/spec/spec_tests/data/transactions/retryable-abort-errorLabels.yml +0 -124
  1236. data/spec/spec_tests/data/transactions/retryable-abort.yml +0 -1315
  1237. data/spec/spec_tests/data/transactions/retryable-commit-errorLabels.yml +0 -132
  1238. data/spec/spec_tests/data/transactions/retryable-commit.yml +0 -1460
  1239. data/spec/spec_tests/data/transactions/retryable-writes.yml +0 -216
  1240. data/spec/spec_tests/data/transactions/run-command.yml +0 -197
  1241. data/spec/spec_tests/data/transactions/transaction-options-repl.yml +0 -117
  1242. data/spec/spec_tests/data/transactions/transaction-options.yml +0 -781
  1243. data/spec/spec_tests/data/transactions/update.yml +0 -246
  1244. data/spec/spec_tests/data/transactions/write-concern.yml +0 -554
  1245. data/spec/spec_tests/data/transactions_api/callback-aborts.yml +0 -170
  1246. data/spec/spec_tests/data/transactions_api/callback-commits.yml +0 -204
  1247. data/spec/spec_tests/data/transactions_api/callback-retry.yml +0 -215
  1248. data/spec/spec_tests/data/transactions_api/commit-retry.yml +0 -324
  1249. data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml +0 -139
  1250. data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml +0 -175
  1251. data/spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml +0 -216
  1252. data/spec/spec_tests/data/transactions_api/commit.yml +0 -193
  1253. data/spec/spec_tests/data/transactions_api/transaction-options.yml +0 -274
  1254. data/spec/spec_tests/data/transactions_unified/do-not-retry-read-in-transaction.yml +0 -64
  1255. data/spec/spec_tests/data/transactions_unified/mongos-unpin.yml +0 -172
  1256. data/spec/spec_tests/data/transactions_unified/retryable-abort-handshake.yml +0 -118
  1257. data/spec/spec_tests/data/transactions_unified/retryable-commit-handshake.yml +0 -118
  1258. data/spec/spec_tests/data/unified/valid-fail/entity-findCursor-malformed.yml +0 -31
  1259. data/spec/spec_tests/data/unified/valid-fail/entity-findCursor.yml +0 -31
  1260. data/spec/spec_tests/data/unified/valid-fail/ignoreResultAndError-malformed.yml +0 -34
  1261. data/spec/spec_tests/data/unified/valid-fail/ignoreResultAndError.yml +0 -35
  1262. data/spec/spec_tests/data/unified/valid-fail/operation-failure.yml +0 -31
  1263. data/spec/spec_tests/data/unified/valid-fail/operation-unsupported.yml +0 -13
  1264. data/spec/spec_tests/data/unified/valid-pass/assertNumberConnectionsCheckedOut.yml +0 -17
  1265. data/spec/spec_tests/data/unified/valid-pass/collectionData-createOptions.yml +0 -37
  1266. data/spec/spec_tests/data/unified/valid-pass/entity-client-cmap-events.yml +0 -40
  1267. data/spec/spec_tests/data/unified/valid-pass/entity-client-storeEventsAsEntities.yml +0 -37
  1268. data/spec/spec_tests/data/unified/valid-pass/expectedError-errorResponse.yml +0 -39
  1269. data/spec/spec_tests/data/unified/valid-pass/expectedEventsForClient-eventType.yml +0 -66
  1270. data/spec/spec_tests/data/unified/valid-pass/expectedEventsForClient-ignoreExtraEvents.yml +0 -78
  1271. data/spec/spec_tests/data/unified/valid-pass/ignoreResultAndError.yml +0 -34
  1272. data/spec/spec_tests/data/unified/valid-pass/observeSensitiveCommands.yml +0 -255
  1273. data/spec/spec_tests/data/unified/valid-pass/poc-change-streams.yml +0 -241
  1274. data/spec/spec_tests/data/unified/valid-pass/poc-command-monitoring.yml +0 -102
  1275. data/spec/spec_tests/data/unified/valid-pass/poc-crud.yml +0 -190
  1276. data/spec/spec_tests/data/unified/valid-pass/poc-gridfs.yml +0 -155
  1277. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-reads.yml +0 -193
  1278. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-writes.yml +0 -210
  1279. data/spec/spec_tests/data/unified/valid-pass/poc-sessions.yml +0 -214
  1280. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-convenient-api.yml +0 -235
  1281. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-mongos-pin-auto.yml +0 -169
  1282. data/spec/spec_tests/data/unified/valid-pass/poc-transactions.yml +0 -171
  1283. data/spec/spec_tests/data/uri_options/auth-options.yml +0 -49
  1284. data/spec/spec_tests/data/uri_options/compression-options.yml +0 -51
  1285. data/spec/spec_tests/data/uri_options/concern-options.yml +0 -55
  1286. data/spec/spec_tests/data/uri_options/connection-options.yml +0 -209
  1287. data/spec/spec_tests/data/uri_options/connection-pool-options.yml +0 -26
  1288. data/spec/spec_tests/data/uri_options/read-preference-options.yml +0 -66
  1289. data/spec/spec_tests/data/uri_options/ruby-auth-options.yml +0 -12
  1290. data/spec/spec_tests/data/uri_options/ruby-connection-options.yml +0 -58
  1291. data/spec/spec_tests/data/uri_options/srv-options.yml +0 -96
  1292. data/spec/spec_tests/data/uri_options/tls-options.yml +0 -364
  1293. data/spec/spec_tests/data/versioned_api/crud-api-version-1-strict.yml +0 -419
  1294. data/spec/spec_tests/data/versioned_api/crud-api-version-1.yml +0 -413
  1295. data/spec/spec_tests/data/versioned_api/runcommand-helper-no-api-version-declared.yml +0 -75
  1296. data/spec/spec_tests/data/versioned_api/test-commands-deprecation-errors.yml +0 -47
  1297. data/spec/spec_tests/data/versioned_api/test-commands-strict-mode.yml +0 -46
  1298. data/spec/spec_tests/data/versioned_api/transaction-handling.yml +0 -128
  1299. data/spec/spec_tests/gridfs_spec.rb +0 -55
  1300. data/spec/spec_tests/gridfs_unified_spec.rb +0 -13
  1301. data/spec/spec_tests/index_management_unified_spec.rb +0 -13
  1302. data/spec/spec_tests/load_balancers_spec.rb +0 -15
  1303. data/spec/spec_tests/max_staleness_spec.rb +0 -12
  1304. data/spec/spec_tests/read_write_concern_connection_string_spec.rb +0 -13
  1305. data/spec/spec_tests/read_write_concern_document_spec.rb +0 -77
  1306. data/spec/spec_tests/read_write_concern_operaton_spec.rb +0 -13
  1307. data/spec/spec_tests/retryable_reads_spec.rb +0 -55
  1308. data/spec/spec_tests/retryable_reads_unified_spec.rb +0 -22
  1309. data/spec/spec_tests/retryable_writes_spec.rb +0 -25
  1310. data/spec/spec_tests/retryable_writes_unified_spec.rb +0 -21
  1311. data/spec/spec_tests/run_command_unified_spec.rb +0 -13
  1312. data/spec/spec_tests/sdam_monitoring_spec.rb +0 -101
  1313. data/spec/spec_tests/sdam_spec.rb +0 -246
  1314. data/spec/spec_tests/sdam_unified_spec.rb +0 -15
  1315. data/spec/spec_tests/seed_list_discovery_spec.rb +0 -127
  1316. data/spec/spec_tests/server_selection_rtt_spec.rb +0 -33
  1317. data/spec/spec_tests/server_selection_spec.rb +0 -12
  1318. data/spec/spec_tests/sessions_unified_spec.rb +0 -13
  1319. data/spec/spec_tests/transactions_api_spec.rb +0 -13
  1320. data/spec/spec_tests/transactions_spec.rb +0 -13
  1321. data/spec/spec_tests/transactions_unified_spec.rb +0 -14
  1322. data/spec/spec_tests/unified_spec.rb +0 -18
  1323. data/spec/spec_tests/uri_options_spec.rb +0 -93
  1324. data/spec/spec_tests/versioned_api_spec.rb +0 -13
  1325. data/spec/stress/cleanup_spec.rb +0 -61
  1326. data/spec/stress/connection_pool_stress_spec.rb +0 -143
  1327. data/spec/stress/connection_pool_timing_spec.rb +0 -160
  1328. data/spec/stress/fork_reconnect_stress_spec.rb +0 -108
  1329. data/spec/stress/push_monitor_close_spec.rb +0 -44
  1330. data/spec/support/authorization.rb +0 -161
  1331. data/spec/support/aws_utils/base.rb +0 -137
  1332. data/spec/support/aws_utils/inspector.rb +0 -227
  1333. data/spec/support/aws_utils/orchestrator.rb +0 -385
  1334. data/spec/support/aws_utils/provisioner.rb +0 -363
  1335. data/spec/support/aws_utils.rb +0 -66
  1336. data/spec/support/background_thread_registry.rb +0 -60
  1337. data/spec/support/certificates/README.md +0 -106
  1338. data/spec/support/certificates/atlas-ocsp-ca.crt +0 -113
  1339. data/spec/support/certificates/atlas-ocsp.crt +0 -147
  1340. data/spec/support/certificates/ca.crt +0 -76
  1341. data/spec/support/certificates/client-encrypted.key +0 -30
  1342. data/spec/support/certificates/client-int.crt +0 -78
  1343. data/spec/support/certificates/client-second-level-bundle.pem +0 -179
  1344. data/spec/support/certificates/client-second-level.crt +0 -74
  1345. data/spec/support/certificates/client-second-level.key +0 -27
  1346. data/spec/support/certificates/client-second-level.pem +0 -101
  1347. data/spec/support/certificates/client-x509.crt +0 -78
  1348. data/spec/support/certificates/client-x509.key +0 -27
  1349. data/spec/support/certificates/client-x509.pem +0 -105
  1350. data/spec/support/certificates/client.crt +0 -74
  1351. data/spec/support/certificates/client.key +0 -27
  1352. data/spec/support/certificates/client.pem +0 -101
  1353. data/spec/support/certificates/crl.pem +0 -12
  1354. data/spec/support/certificates/crl_client_revoked.pem +0 -13
  1355. data/spec/support/certificates/multi-ca.crt +0 -152
  1356. data/spec/support/certificates/python-ca.crt +0 -76
  1357. data/spec/support/certificates/retrieve-atlas-cert +0 -40
  1358. data/spec/support/certificates/server-int.crt +0 -78
  1359. data/spec/support/certificates/server-second-level-bundle.pem +0 -179
  1360. data/spec/support/certificates/server-second-level.crt +0 -74
  1361. data/spec/support/certificates/server-second-level.key +0 -27
  1362. data/spec/support/certificates/server-second-level.pem +0 -101
  1363. data/spec/support/certificates/server.pem +0 -101
  1364. data/spec/support/client_registry.rb +0 -258
  1365. data/spec/support/client_registry_macros.rb +0 -26
  1366. data/spec/support/cluster_tools.rb +0 -384
  1367. data/spec/support/common_shortcuts.rb +0 -421
  1368. data/spec/support/constraints.rb +0 -39
  1369. data/spec/support/crypt/corpus/corpus-encrypted.json +0 -9515
  1370. data/spec/support/crypt/corpus/corpus-key-aws.json +0 -33
  1371. data/spec/support/crypt/corpus/corpus-key-azure.json +0 -33
  1372. data/spec/support/crypt/corpus/corpus-key-gcp.json +0 -35
  1373. data/spec/support/crypt/corpus/corpus-key-kmip.json +0 -32
  1374. data/spec/support/crypt/corpus/corpus-key-local.json +0 -31
  1375. data/spec/support/crypt/corpus/corpus-schema.json +0 -6335
  1376. data/spec/support/crypt/corpus/corpus.json +0 -8619
  1377. data/spec/support/crypt/data_keys/key_document_aws.json +0 -34
  1378. data/spec/support/crypt/data_keys/key_document_azure.json +0 -33
  1379. data/spec/support/crypt/data_keys/key_document_gcp.json +0 -37
  1380. data/spec/support/crypt/data_keys/key_document_kmip.json +0 -32
  1381. data/spec/support/crypt/data_keys/key_document_local.json +0 -31
  1382. data/spec/support/crypt/encrypted_fields/encryptedFields.json +0 -32
  1383. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Date.json +0 -30
  1384. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalNoPrecision.json +0 -21
  1385. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalPrecision.json +0 -29
  1386. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoubleNoPrecision.json +0 -21
  1387. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoublePrecision.json +0 -30
  1388. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Int.json +0 -27
  1389. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Long.json +0 -27
  1390. data/spec/support/crypt/external/external-key.json +0 -31
  1391. data/spec/support/crypt/external/external-schema.json +0 -19
  1392. data/spec/support/crypt/keys/key1-document.json +0 -30
  1393. data/spec/support/crypt/limits/limits-doc.json +0 -102
  1394. data/spec/support/crypt/limits/limits-key.json +0 -31
  1395. data/spec/support/crypt/limits/limits-schema.json +0 -1405
  1396. data/spec/support/crypt/schema_maps/schema_map_aws.json +0 -17
  1397. data/spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json +0 -12
  1398. data/spec/support/crypt/schema_maps/schema_map_azure.json +0 -17
  1399. data/spec/support/crypt/schema_maps/schema_map_azure_key_alt_names.json +0 -12
  1400. data/spec/support/crypt/schema_maps/schema_map_gcp.json +0 -17
  1401. data/spec/support/crypt/schema_maps/schema_map_gcp_key_alt_names.json +0 -12
  1402. data/spec/support/crypt/schema_maps/schema_map_kmip.json +0 -17
  1403. data/spec/support/crypt/schema_maps/schema_map_kmip_key_alt_names.json +0 -12
  1404. data/spec/support/crypt/schema_maps/schema_map_local.json +0 -18
  1405. data/spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json +0 -12
  1406. data/spec/support/crypt.rb +0 -412
  1407. data/spec/support/dns.rb +0 -16
  1408. data/spec/support/json_ext_formatter.rb +0 -16
  1409. data/spec/support/keyword_struct.rb +0 -29
  1410. data/spec/support/local_resource_registry.rb +0 -37
  1411. data/spec/support/macros.rb +0 -29
  1412. data/spec/support/matchers.rb +0 -88
  1413. data/spec/support/mongos_macros.rb +0 -24
  1414. data/spec/support/monitoring_ext.rb +0 -19
  1415. data/spec/support/ocsp +0 -1
  1416. data/spec/support/primary_socket.rb +0 -24
  1417. data/spec/support/recording_logger.rb +0 -27
  1418. data/spec/support/sdam_formatter_integration.rb +0 -119
  1419. data/spec/support/shared/app_metadata.rb +0 -179
  1420. data/spec/support/shared/auth_context.rb +0 -17
  1421. data/spec/support/shared/protocol.rb +0 -36
  1422. data/spec/support/shared/scram_conversation.rb +0 -104
  1423. data/spec/support/shared/server_selector.rb +0 -233
  1424. data/spec/support/shared/session.rb +0 -916
  1425. data/spec/support/spec_config.rb +0 -767
  1426. data/spec/support/spec_setup.rb +0 -83
  1427. data/spec/support/using_hash.rb +0 -40
  1428. data/spec/support/utils.rb +0 -680
@@ -1,1976 +0,0 @@
1
- # frozen_string_literal: true
2
- # rubocop:todo all
3
-
4
- require 'spec_helper'
5
-
6
- describe Mongo::Collection::View::Writable do
7
-
8
- let(:selector) do
9
- {}
10
- end
11
-
12
- let(:options) do
13
- {}
14
- end
15
-
16
- let(:view_collection) do
17
- authorized_collection
18
- end
19
-
20
- let(:view) do
21
- Mongo::Collection::View.new(view_collection, selector, options)
22
- end
23
-
24
- before do
25
- authorized_collection.delete_many
26
- end
27
-
28
- describe '#find_one_and_delete' do
29
-
30
- before do
31
- authorized_collection.insert_many([{ field: 'test1' }])
32
- end
33
-
34
- context 'when hint option is provided' do
35
- # Functionality on more recent servers is sufficiently covered by spec tests.
36
- context 'on server versions < 4.2' do
37
- max_server_fcv '4.0'
38
-
39
- it 'raises a client-side exception' do
40
- expect do
41
- view.find_one_and_delete(hint: '_id_')
42
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
43
- end
44
- end
45
-
46
- context 'when the write concern is unacknowledged' do
47
- let(:view_collection) do
48
- client = authorized_client.with(write_concern: { w: 0 })
49
- client[authorized_collection.name]
50
- end
51
-
52
- context "on 4.4+ servers" do
53
- min_server_version '4.4'
54
-
55
- it "doesn't raise an error" do
56
- expect do
57
- view.find_one_and_delete(hint: '_id_')
58
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
59
- end
60
- end
61
-
62
- context "on <=4.2 servers" do
63
- max_server_version '4.2'
64
-
65
- it 'raises a client-side error' do
66
- expect do
67
- view.find_one_and_delete(hint: '_id_')
68
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
69
- end
70
- end
71
- end
72
- end
73
-
74
- context 'when a matching document is found' do
75
-
76
- let(:selector) do
77
- { field: 'test1' }
78
- end
79
-
80
- context 'when no options are provided' do
81
-
82
- let!(:document) do
83
- view.find_one_and_delete
84
- end
85
-
86
- it 'deletes the document from the database' do
87
- expect(view.to_a).to be_empty
88
- end
89
-
90
- it 'returns the document' do
91
- expect(document['field']).to eq('test1')
92
- end
93
- end
94
-
95
- context 'when a projection is provided' do
96
-
97
- let!(:document) do
98
- view.projection(_id: 1).find_one_and_delete
99
- end
100
-
101
- it 'deletes the document from the database' do
102
- expect(view.to_a).to be_empty
103
- end
104
-
105
- it 'returns the document with limited fields' do
106
- expect(document['field']).to be_nil
107
- expect(document['_id']).to_not be_nil
108
- end
109
- end
110
-
111
- context 'when a sort is provided' do
112
-
113
- let!(:document) do
114
- view.sort(field: 1).find_one_and_delete
115
- end
116
-
117
- it 'deletes the document from the database' do
118
- expect(view.to_a).to be_empty
119
- end
120
-
121
- it 'returns the document with limited fields' do
122
- expect(document['field']).to eq('test1')
123
- end
124
- end
125
-
126
- context 'when collation is specified' do
127
-
128
- let(:selector) do
129
- { name: 'BANG' }
130
- end
131
-
132
- let(:result) do
133
- view.find_one_and_delete
134
- end
135
-
136
- before do
137
- authorized_collection.insert_one(name: 'bang')
138
- end
139
-
140
- let(:options) do
141
- { collation: { locale: 'en_US', strength: 2 } }
142
- end
143
-
144
- context 'when the server selected supports collations' do
145
- min_server_fcv '3.4'
146
-
147
- it 'applies the collation' do
148
- expect(result['name']).to eq('bang')
149
- end
150
- end
151
-
152
- context 'when the server selected does not support collations' do
153
- max_server_version '3.2'
154
-
155
- it 'raises an exception' do
156
- expect {
157
- result
158
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
159
- end
160
-
161
- context 'when a String key is used' do
162
-
163
- let(:options) do
164
- { 'collation' => { locale: 'en_US', strength: 2 } }
165
- end
166
-
167
- it 'raises an exception' do
168
- expect {
169
- result
170
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
171
- end
172
- end
173
- end
174
- end
175
-
176
- context 'when collation is not specified' do
177
-
178
- let(:selector) do
179
- { name: 'BANG' }
180
- end
181
-
182
- let(:result) do
183
- view.find_one_and_delete
184
- end
185
-
186
- before do
187
- authorized_collection.insert_one(name: 'bang')
188
- end
189
-
190
- it 'does not apply the collation' do
191
- expect(result).to be_nil
192
- end
193
- end
194
-
195
- context 'when collation is specified as a method option' do
196
-
197
- let(:selector) do
198
- { name: 'BANG' }
199
- end
200
-
201
- let(:result) do
202
- view.find_one_and_delete(method_options)
203
- end
204
-
205
- before do
206
- authorized_collection.insert_one(name: 'bang')
207
- end
208
-
209
- let(:method_options) do
210
- { collation: { locale: 'en_US', strength: 2 } }
211
- end
212
-
213
- context 'when the server selected supports collations' do
214
- min_server_fcv '3.4'
215
-
216
- it 'applies the collation' do
217
- expect(result['name']).to eq('bang')
218
- end
219
- end
220
-
221
- context 'when the server selected does not support collations' do
222
- max_server_version '3.2'
223
-
224
- it 'raises an exception' do
225
- expect {
226
- result
227
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
228
- end
229
-
230
- context 'when a String key is used' do
231
-
232
- let(:method_options) do
233
- { 'collation' => { locale: 'en_US', strength: 2 } }
234
- end
235
-
236
- it 'raises an exception' do
237
- expect {
238
- result
239
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
240
- end
241
- end
242
- end
243
- end
244
- end
245
-
246
- context 'when no matching document is found' do
247
-
248
- let(:selector) do
249
- { field: 'test5' }
250
- end
251
-
252
- let!(:document) do
253
- view.find_one_and_delete
254
- end
255
-
256
- it 'returns nil' do
257
- expect(document).to be_nil
258
- end
259
- end
260
- end
261
-
262
- describe '#find_one_and_replace' do
263
-
264
- before do
265
- authorized_collection.insert_many([{ field: 'test1', other: 'sth' }])
266
- end
267
-
268
- context 'when hint option is provided' do
269
- # Functionality on more recent servers is sufficiently covered by spec tests.
270
- context 'on server versions < 4.2' do
271
- max_server_fcv '4.0'
272
-
273
- it 'raises a client-side exception' do
274
- expect do
275
- view.find_one_and_replace({ field: 'testing' }, { hint: '_id_' })
276
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
277
- end
278
- end
279
-
280
- context 'when the write concern is unacknowledged' do
281
- let(:view_collection) do
282
- client = authorized_client.with(write_concern: { w: 0 })
283
- client[authorized_collection.name]
284
- end
285
-
286
- context "on 4.4+ servers" do
287
- min_server_version '4.4'
288
-
289
- it "doesn't raise an error" do
290
- expect do
291
- view.find_one_and_replace({ field: 'testing' }, { hint: '_id_' })
292
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
293
- end
294
- end
295
-
296
- context "on <=4.2 servers" do
297
- max_server_version '4.2'
298
-
299
- it 'raises a client-side error' do
300
- expect do
301
- view.find_one_and_replace({ field: 'testing' }, { hint: '_id_' })
302
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
303
- end
304
- end
305
- end
306
- end
307
-
308
- context 'when a matching document is found' do
309
-
310
- let(:selector) do
311
- { field: 'test1' }
312
- end
313
-
314
- context 'when no options are provided' do
315
-
316
- let(:document) do
317
- view.find_one_and_replace({ field: 'testing' })
318
- end
319
-
320
- it 'returns the original document' do
321
- expect(document['field']).to eq('test1')
322
- end
323
- end
324
-
325
- context 'when return_document options are provided' do
326
-
327
- let(:document) do
328
- view.find_one_and_replace({ field: 'testing' }, :return_document => :after)
329
- end
330
-
331
- it 'returns the new document' do
332
- expect(document['field']).to eq('testing')
333
- end
334
-
335
- it 'replaces the document' do
336
- expect(document['other']).to be_nil
337
- end
338
- end
339
-
340
- context 'when a projection is provided' do
341
-
342
- let(:document) do
343
- view.projection(_id: 1).find_one_and_replace({ field: 'testing' })
344
- end
345
-
346
- it 'returns the document with limited fields' do
347
- expect(document['field']).to be_nil
348
- expect(document['_id']).to_not be_nil
349
- end
350
- end
351
-
352
- context 'when a sort is provided' do
353
-
354
- let(:document) do
355
- view.sort(field: 1).find_one_and_replace({ field: 'testing' })
356
- end
357
-
358
- it 'returns the original document' do
359
- expect(document['field']).to eq('test1')
360
- end
361
- end
362
-
363
- context 'when collation is provided' do
364
-
365
- let(:selector) do
366
- { name: 'BANG' }
367
- end
368
-
369
- let(:result) do
370
- view.find_one_and_replace(name: 'doink')
371
- end
372
-
373
- before do
374
- authorized_collection.insert_one(name: 'bang')
375
- end
376
-
377
- let(:options) do
378
- { collation: { locale: 'en_US', strength: 2 } }
379
- end
380
-
381
- context 'when the server selected supports collations' do
382
- min_server_fcv '3.4'
383
-
384
- it 'applies the collation' do
385
- expect(result['name']).to eq('bang')
386
- expect(authorized_collection.find({ name: 'doink' }, limit: -1).first['name']).to eq('doink')
387
- end
388
- end
389
-
390
- context 'when the server selected does not support collations' do
391
- max_server_version '3.2'
392
-
393
- it 'raises an exception' do
394
- expect {
395
- result
396
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
397
- end
398
-
399
- context 'when a String key is used' do
400
-
401
- let(:options) do
402
- { 'collation' => { locale: 'en_US', strength: 2 } }
403
- end
404
-
405
- it 'raises an exception' do
406
- expect {
407
- result
408
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
409
- end
410
- end
411
- end
412
- end
413
-
414
- context 'when collation is provided as a method option' do
415
-
416
- let(:selector) do
417
- { name: 'BANG' }
418
- end
419
-
420
- let(:result) do
421
- view.find_one_and_replace({ name: 'doink' }, method_options)
422
- end
423
-
424
- before do
425
- authorized_collection.insert_one(name: 'bang')
426
- end
427
-
428
- let(:method_options) do
429
- { collation: { locale: 'en_US', strength: 2 } }
430
- end
431
-
432
- context 'when the server selected supports collations' do
433
- min_server_fcv '3.4'
434
-
435
- it 'applies the collation' do
436
- expect(result['name']).to eq('bang')
437
- expect(authorized_collection.find({ name: 'doink' }, limit: -1).first['name']).to eq('doink')
438
- end
439
- end
440
-
441
- context 'when the server selected does not support collations' do
442
- max_server_version '3.2'
443
-
444
- it 'raises an exception' do
445
- expect {
446
- result
447
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
448
- end
449
-
450
- context 'when a String key is used' do
451
-
452
- let(:method_options) do
453
- { 'collation' => { locale: 'en_US', strength: 2 } }
454
- end
455
-
456
- it 'raises an exception' do
457
- expect {
458
- result
459
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
460
- end
461
- end
462
- end
463
- end
464
-
465
- context 'when collation is not provided' do
466
-
467
- let(:selector) do
468
- { name: 'BANG' }
469
- end
470
-
471
- let(:result) do
472
- view.find_one_and_replace(name: 'doink')
473
- end
474
-
475
- before do
476
- authorized_collection.insert_one(name: 'bang')
477
- end
478
-
479
- it 'does not apply the collation' do
480
- expect(result).to be_nil
481
- end
482
- end
483
- end
484
-
485
- context 'when no matching document is found' do
486
-
487
- context 'when no upsert options are provided' do
488
-
489
- let(:selector) do
490
- { field: 'test5' }
491
- end
492
-
493
- let(:document) do
494
- view.find_one_and_replace({ field: 'testing' })
495
- end
496
-
497
- it 'returns nil' do
498
- expect(document).to be_nil
499
- end
500
- end
501
-
502
- context 'when upsert options are provided' do
503
-
504
- let(:selector) do
505
- { field: 'test5' }
506
- end
507
-
508
- let(:document) do
509
- view.find_one_and_replace({ field: 'testing' }, :upsert => true, :return_document => :after)
510
- end
511
-
512
- it 'returns the new document' do
513
- expect(document['field']).to eq('testing')
514
- end
515
- end
516
- end
517
- end
518
-
519
- describe '#find_one_and_update' do
520
-
521
- before do
522
- authorized_collection.insert_many([{ field: 'test1' }])
523
- end
524
-
525
- context 'when hint option is provided' do
526
- # Functionality on more recent servers is sufficiently covered by spec tests.
527
- context 'on server versions < 4.2' do
528
- max_server_fcv '4.0'
529
-
530
- it 'raises a client-side exception' do
531
- expect do
532
- view.find_one_and_update({ '$set' => { field: 'testing' } }, { hint: '_id_' })
533
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
534
- end
535
- end
536
-
537
- context 'when the write concern is unacknowledged' do
538
- let(:view_collection) do
539
- client = authorized_client.with(write_concern: { w: 0 })
540
- client[authorized_collection.name]
541
- end
542
-
543
- context "on 4.4+ servers" do
544
- min_server_version '4.4'
545
-
546
- it "doesn't raise an error" do
547
- expect do
548
- view.find_one_and_update({ '$set' => { field: 'testing' } }, { hint: '_id_' })
549
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
550
- end
551
- end
552
-
553
- context "on <=4.2 servers" do
554
- max_server_version '4.2'
555
-
556
- it 'raises a client-side error' do
557
- expect do
558
- view.find_one_and_update({ '$set' => { field: 'testing' } }, { hint: '_id_' })
559
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
560
- end
561
- end
562
- end
563
- end
564
-
565
- context 'when a matching document is found' do
566
-
567
- let(:selector) do
568
- { field: 'test1' }
569
- end
570
-
571
- context 'when no options are provided' do
572
-
573
- let(:document) do
574
- view.find_one_and_update({ '$set' => { field: 'testing' }})
575
- end
576
-
577
- it 'returns the original document' do
578
- expect(document['field']).to eq('test1')
579
- end
580
- end
581
-
582
- context 'when return_document options are provided' do
583
-
584
- let(:document) do
585
- view.find_one_and_update({ '$set' => { field: 'testing' }}, :return_document => :after)
586
- end
587
-
588
- it 'returns the new document' do
589
- expect(document['field']).to eq('testing')
590
- end
591
- end
592
-
593
- context 'when a projection is provided' do
594
-
595
- let(:document) do
596
- view.projection(_id: 1).find_one_and_update({ '$set' => { field: 'testing' }})
597
- end
598
-
599
- it 'returns the document with limited fields' do
600
- expect(document['field']).to be_nil
601
- expect(document['_id']).to_not be_nil
602
- end
603
- end
604
-
605
- context 'when a sort is provided' do
606
-
607
- let(:document) do
608
- view.sort(field: 1).find_one_and_update({ '$set' => { field: 'testing' } })
609
- end
610
-
611
- it 'returns the original document' do
612
- expect(document['field']).to eq('test1')
613
- end
614
- end
615
- end
616
-
617
- context 'when a collation is specified' do
618
-
619
- let(:selector) do
620
- { name: 'BANG' }
621
- end
622
-
623
- let(:result) do
624
- view.find_one_and_update({ '$set' => { other: 'doink' } })
625
- end
626
-
627
- before do
628
- authorized_collection.insert_one(name: 'bang')
629
- end
630
-
631
- let(:options) do
632
- { collation: { locale: 'en_US', strength: 2 } }
633
- end
634
-
635
- context 'when the server selected supports collations' do
636
- min_server_fcv '3.4'
637
-
638
- it 'applies the collation' do
639
- expect(result['name']).to eq('bang')
640
- expect(authorized_collection.find({ name: 'bang' }, limit: -1).first['other']).to eq('doink')
641
- end
642
- end
643
-
644
- context 'when the server selected does not support collations' do
645
- max_server_version '3.2'
646
-
647
- it 'raises an exception' do
648
- expect {
649
- result
650
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
651
- end
652
-
653
- context 'when a String key is used' do
654
-
655
- let(:options) do
656
- { 'collation' => { locale: 'en_US', strength: 2 } }
657
- end
658
-
659
- it 'raises an exception' do
660
- expect {
661
- result
662
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
663
- end
664
- end
665
- end
666
- end
667
-
668
- context 'when a collation is specified as a method option' do
669
-
670
- let(:selector) do
671
- { name: 'BANG' }
672
- end
673
-
674
- let(:result) do
675
- view.find_one_and_update({ '$set' => { other: 'doink' } }, method_options)
676
- end
677
-
678
- before do
679
- authorized_collection.insert_one(name: 'bang')
680
- end
681
-
682
- let(:method_options) do
683
- { collation: { locale: 'en_US', strength: 2 } }
684
- end
685
-
686
- context 'when the server selected supports collations' do
687
- min_server_fcv '3.4'
688
-
689
- it 'applies the collation' do
690
- expect(result['name']).to eq('bang')
691
- expect(authorized_collection.find({ name: 'bang' }, limit: -1).first['other']).to eq('doink')
692
- end
693
- end
694
-
695
- context 'when the server selected does not support collations' do
696
- max_server_version '3.2'
697
-
698
- it 'raises an exception' do
699
- expect {
700
- result
701
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
702
- end
703
-
704
- context 'when a String key is used' do
705
-
706
- let(:method_options) do
707
- { 'collation' => { locale: 'en_US', strength: 2 } }
708
- end
709
-
710
- it 'raises an exception' do
711
- expect {
712
- result
713
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
714
- end
715
- end
716
- end
717
- end
718
-
719
- context 'when no collation is specified' do
720
-
721
- let(:selector) do
722
- { name: 'BANG' }
723
- end
724
-
725
- let(:result) do
726
- view.find_one_and_update({ '$set' => { other: 'doink' } })
727
- end
728
-
729
- before do
730
- authorized_collection.insert_one(name: 'bang')
731
- end
732
-
733
- it 'does not apply the collation' do
734
- expect(result).to be_nil
735
- end
736
- end
737
-
738
- context 'when no matching document is found' do
739
-
740
- let(:selector) do
741
- { field: 'test5' }
742
- end
743
-
744
- let(:document) do
745
- view.find_one_and_update({ '$set' => { field: 'testing' }})
746
- end
747
-
748
- it 'returns nil' do
749
- expect(document).to be_nil
750
- end
751
- end
752
- end
753
-
754
- describe '#delete_many' do
755
- context 'when a hint option is provided' do
756
- # Functionality on more recent servers is sufficiently covered by spec tests.
757
- context 'on server versions < 3.4' do
758
- max_server_fcv '3.2'
759
-
760
- it 'raises a client-side exception' do
761
- expect do
762
- view.delete_many(hint: '_id_')
763
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
764
- end
765
- end
766
-
767
- context 'when the write concern is unacknowledged' do
768
- let(:view_collection) do
769
- client = authorized_client.with(write_concern: { w: 0 })
770
- client[authorized_collection.name]
771
- end
772
-
773
- context "on 4.4+ servers" do
774
- min_server_version '4.4'
775
-
776
- it "doesn't raise an error" do
777
- expect do
778
- view.delete_many(hint: '_id_')
779
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
780
- end
781
- end
782
-
783
- context "on <=4.2 servers" do
784
- max_server_version '4.2'
785
-
786
- it 'raises a client-side error' do
787
- expect do
788
- view.delete_many(hint: '_id_')
789
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
790
- end
791
- end
792
- end
793
- end
794
-
795
- context 'when a selector was provided' do
796
-
797
- let(:selector) do
798
- { field: 'test1' }
799
- end
800
-
801
- before do
802
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test2' }])
803
- end
804
-
805
- let(:response) do
806
- view.delete_many
807
- end
808
-
809
- it 'deletes the matching documents in the collection' do
810
- expect(response.written_count).to eq(1)
811
- end
812
- end
813
-
814
- context 'when no selector was provided' do
815
-
816
- before do
817
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test2' }])
818
- end
819
-
820
- let(:response) do
821
- view.delete_many
822
- end
823
-
824
- it 'deletes all the documents in the collection' do
825
- expect(response.written_count).to eq(2)
826
- end
827
- end
828
-
829
- context 'when a collation is specified' do
830
-
831
- let(:selector) do
832
- { name: 'BANG' }
833
- end
834
-
835
- let(:result) do
836
- view.delete_many
837
- end
838
-
839
- before do
840
- authorized_collection.insert_one(name: 'bang')
841
- authorized_collection.insert_one(name: 'bang')
842
- end
843
-
844
- let(:options) do
845
- { collation: { locale: 'en_US', strength: 2 } }
846
- end
847
-
848
- context 'when the server selected supports collations' do
849
- min_server_fcv '3.4'
850
-
851
- it 'applies the collation' do
852
- expect(result.written_count).to eq(2)
853
- expect(authorized_collection.find(name: 'bang').to_a.size).to eq(0)
854
- end
855
- end
856
-
857
- context 'when the server selected does not support collations' do
858
- max_server_version '3.2'
859
-
860
- it 'raises an exception' do
861
- expect {
862
- result
863
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
864
- end
865
-
866
- context 'when a String key is used' do
867
-
868
- let(:options) do
869
- { 'collation' => { locale: 'en_US', strength: 2 } }
870
- end
871
-
872
- it 'raises an exception' do
873
- expect {
874
- result
875
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
876
- end
877
- end
878
- end
879
- end
880
-
881
- context 'when a collation is specified as a method option' do
882
-
883
- let(:selector) do
884
- { name: 'BANG' }
885
- end
886
-
887
- let(:result) do
888
- view.delete_many(method_options)
889
- end
890
-
891
- before do
892
- authorized_collection.insert_one(name: 'bang')
893
- authorized_collection.insert_one(name: 'bang')
894
- end
895
-
896
- let(:method_options) do
897
- { collation: { locale: 'en_US', strength: 2 } }
898
- end
899
-
900
- context 'when the server selected supports collations' do
901
- min_server_fcv '3.4'
902
-
903
- it 'applies the collation' do
904
- expect(result.written_count).to eq(2)
905
- expect(authorized_collection.find(name: 'bang').to_a.size).to eq(0)
906
- end
907
- end
908
-
909
- context 'when the server selected does not support collations' do
910
- max_server_version '3.2'
911
-
912
- it 'raises an exception' do
913
- expect {
914
- result
915
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
916
- end
917
-
918
- context 'when a String key is used' do
919
-
920
- let(:method_options) do
921
- { 'collation' => { locale: 'en_US', strength: 2 } }
922
- end
923
-
924
- it 'raises an exception' do
925
- expect {
926
- result
927
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
928
- end
929
- end
930
- end
931
- end
932
-
933
- context 'when a collation is not specified' do
934
-
935
- let(:selector) do
936
- { name: 'BANG' }
937
- end
938
-
939
- let(:result) do
940
- view.delete_many
941
- end
942
-
943
- before do
944
- authorized_collection.insert_one(name: 'bang')
945
- authorized_collection.insert_one(name: 'bang')
946
- end
947
-
948
- it 'does not apply the collation' do
949
- expect(result.written_count).to eq(0)
950
- expect(authorized_collection.find(name: 'bang').to_a.size).to eq(2)
951
- end
952
- end
953
- end
954
-
955
- describe '#delete_one' do
956
- context 'when a hint option is provided' do
957
- # Functionality on more recent servers is sufficiently covered by spec tests.
958
- context 'on server versions < 3.4' do
959
- max_server_fcv '3.2'
960
-
961
- it 'raises a client-side exception' do
962
- expect do
963
- view.delete_one(hint: '_id_')
964
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
965
- end
966
- end
967
-
968
- context 'when the write concern is unacknowledged' do
969
- let(:view_collection) do
970
- client = authorized_client.with(write_concern: { w: 0 })
971
- client[authorized_collection.name]
972
- end
973
-
974
- context "on 4.4+ servers" do
975
- min_server_version '4.4'
976
-
977
- it "doesn't raise an error" do
978
- expect do
979
- view.delete_one(hint: '_id_')
980
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
981
- end
982
- end
983
-
984
- context "on <=4.2 servers" do
985
- max_server_version '4.2'
986
-
987
- it 'raises a client-side error' do
988
- expect do
989
- view.delete_one(hint: '_id_')
990
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
991
- end
992
- end
993
- end
994
- end
995
-
996
- context 'when a selector was provided' do
997
-
998
- let(:selector) do
999
- { field: 'test1' }
1000
- end
1001
-
1002
- before do
1003
- authorized_collection.insert_many([
1004
- { field: 'test1' },
1005
- { field: 'test1' },
1006
- { field: 'test1' }
1007
- ])
1008
- end
1009
-
1010
- let(:response) do
1011
- view.delete_one
1012
- end
1013
-
1014
- it 'deletes the first matching document in the collection' do
1015
- expect(response.written_count).to eq(1)
1016
- end
1017
- end
1018
-
1019
- context 'when no selector was provided' do
1020
-
1021
- before do
1022
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test2' }])
1023
- end
1024
-
1025
- let(:response) do
1026
- view.delete_one
1027
- end
1028
-
1029
- it 'deletes the first document in the collection' do
1030
- expect(response.written_count).to eq(1)
1031
- end
1032
- end
1033
-
1034
- context 'when a collation is provided' do
1035
-
1036
- let(:selector) do
1037
- { name: 'BANG' }
1038
- end
1039
-
1040
- let(:result) do
1041
- view.delete_one
1042
- end
1043
-
1044
- before do
1045
- authorized_collection.insert_one(name: 'bang')
1046
- end
1047
-
1048
- let(:options) do
1049
- { collation: { locale: 'en_US', strength: 2 } }
1050
- end
1051
-
1052
- context 'when the server selected supports collations' do
1053
- min_server_fcv '3.4'
1054
-
1055
- it 'applies the collation' do
1056
- expect(result.written_count).to eq(1)
1057
- expect(authorized_collection.find(name: 'bang').to_a.size).to eq(0)
1058
- end
1059
- end
1060
-
1061
- context 'when the server selected does not support collations' do
1062
- max_server_version '3.2'
1063
-
1064
- it 'raises an exception' do
1065
- expect {
1066
- result
1067
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1068
- end
1069
-
1070
- context 'when a String key is used' do
1071
-
1072
- let(:options) do
1073
- { 'collation' => { locale: 'en_US', strength: 2 } }
1074
- end
1075
-
1076
- it 'raises an exception' do
1077
- expect {
1078
- result
1079
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1080
- end
1081
- end
1082
- end
1083
- end
1084
-
1085
- context 'when a collation is provided as a method_option' do
1086
-
1087
- let(:selector) do
1088
- { name: 'BANG' }
1089
- end
1090
-
1091
- let(:result) do
1092
- view.delete_one(method_options)
1093
- end
1094
-
1095
- before do
1096
- authorized_collection.insert_one(name: 'bang')
1097
- end
1098
-
1099
- let(:method_options) do
1100
- { collation: { locale: 'en_US', strength: 2 } }
1101
- end
1102
-
1103
- context 'when the server selected supports collations' do
1104
- min_server_fcv '3.4'
1105
-
1106
- it 'applies the collation' do
1107
- expect(result.written_count).to eq(1)
1108
- expect(authorized_collection.find(name: 'bang').to_a.size).to eq(0)
1109
- end
1110
- end
1111
-
1112
- context 'when the server selected does not support collations' do
1113
- max_server_version '3.2'
1114
-
1115
- it 'raises an exception' do
1116
- expect {
1117
- result
1118
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1119
- end
1120
-
1121
- context 'when a String key is used' do
1122
-
1123
- let(:method_options) do
1124
- { 'collation' => { locale: 'en_US', strength: 2 } }
1125
- end
1126
-
1127
- it 'raises an exception' do
1128
- expect {
1129
- result
1130
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1131
- end
1132
- end
1133
- end
1134
- end
1135
-
1136
- context 'when a collation is not specified' do
1137
-
1138
- let(:selector) do
1139
- {name: 'BANG'}
1140
- end
1141
-
1142
- let(:result) do
1143
- view.delete_one
1144
- end
1145
-
1146
- before do
1147
- authorized_collection.insert_one(name: 'bang')
1148
- end
1149
-
1150
- it 'does not apply the collation' do
1151
- expect(result.written_count).to eq(0)
1152
- expect(authorized_collection.find(name: 'bang').to_a.size).to eq(1)
1153
- end
1154
- end
1155
- end
1156
-
1157
- describe '#replace_one' do
1158
- context 'when a hint option is provided' do
1159
- # Functionality on more recent servers is sufficiently covered by spec tests.
1160
- context 'on server versions < 3.4' do
1161
- max_server_fcv '3.2'
1162
-
1163
- it 'raises a client-side exception' do
1164
- expect do
1165
- view.replace_one({ field: 'testing' }, { hint: '_id_' })
1166
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
1167
- end
1168
- end
1169
-
1170
- context 'when the write concern is unacknowledged' do
1171
- let(:view_collection) do
1172
- client = authorized_client.with(write_concern: { w: 0 })
1173
- client[authorized_collection.name]
1174
- end
1175
-
1176
- context "on 4.2+ servers" do
1177
- min_server_version '4.2'
1178
-
1179
- it "doesn't raise an error" do
1180
- expect do
1181
- view.replace_one({ field: 'testing' }, { hint: '_id_' })
1182
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
1183
- end
1184
- end
1185
-
1186
- context "on <=4.0 servers" do
1187
- max_server_version '4.0'
1188
-
1189
- it 'raises a client-side error' do
1190
- expect do
1191
- view.replace_one({ field: 'testing' }, { hint: '_id_' })
1192
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
1193
- end
1194
- end
1195
- end
1196
- end
1197
-
1198
- context 'when a selector was provided' do
1199
-
1200
- let(:selector) do
1201
- { field: 'test1' }
1202
- end
1203
-
1204
- before do
1205
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test1' }])
1206
- end
1207
-
1208
- let!(:response) do
1209
- view.replace_one({ field: 'testing' })
1210
- end
1211
-
1212
- let(:updated) do
1213
- authorized_collection.find(field: 'testing').first
1214
- end
1215
-
1216
- it 'updates the first matching document in the collection' do
1217
- expect(response.written_count).to eq(1)
1218
- end
1219
-
1220
- it 'updates the documents in the collection' do
1221
- expect(updated[:field]).to eq('testing')
1222
- end
1223
- end
1224
-
1225
- context 'when no selector was provided' do
1226
-
1227
- before do
1228
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test2' }])
1229
- end
1230
-
1231
- let!(:response) do
1232
- view.replace_one({ field: 'testing' })
1233
- end
1234
-
1235
- let(:updated) do
1236
- authorized_collection.find(field: 'testing').first
1237
- end
1238
-
1239
- it 'updates the first document in the collection' do
1240
- expect(response.written_count).to eq(1)
1241
- end
1242
-
1243
- it 'updates the documents in the collection' do
1244
- expect(updated[:field]).to eq('testing')
1245
- end
1246
- end
1247
-
1248
- context 'when upsert is false' do
1249
-
1250
- let!(:response) do
1251
- view.replace_one({ field: 'test1' }, upsert: false)
1252
- end
1253
-
1254
- let(:updated) do
1255
- authorized_collection.find(field: 'test1').to_a
1256
- end
1257
-
1258
- it 'reports that no documents were written' do
1259
- expect(response.written_count).to eq(0)
1260
- end
1261
-
1262
- it 'does not insert the document' do
1263
- expect(updated).to be_empty
1264
- end
1265
- end
1266
-
1267
- context 'when upsert is true' do
1268
-
1269
- let!(:response) do
1270
- view.replace_one({ field: 'test1' }, upsert: true)
1271
- end
1272
-
1273
- let(:updated) do
1274
- authorized_collection.find(field: 'test1').first
1275
- end
1276
-
1277
- it 'reports that a document was written' do
1278
- expect(response.written_count).to eq(1)
1279
- end
1280
-
1281
- it 'inserts the document' do
1282
- expect(updated[:field]).to eq('test1')
1283
- end
1284
- end
1285
-
1286
- context 'when upsert is not specified' do
1287
-
1288
- let!(:response) do
1289
- view.replace_one({ field: 'test1' })
1290
- end
1291
-
1292
- let(:updated) do
1293
- authorized_collection.find(field: 'test1').to_a
1294
- end
1295
-
1296
- it 'reports that no documents were written' do
1297
- expect(response.written_count).to eq(0)
1298
- end
1299
-
1300
- it 'does not insert the document' do
1301
- expect(updated).to be_empty
1302
- end
1303
- end
1304
-
1305
- context 'when a collation is specified' do
1306
-
1307
- let(:selector) do
1308
- { name: 'BANG' }
1309
- end
1310
-
1311
- let(:result) do
1312
- view.replace_one({ name: 'doink' })
1313
- end
1314
-
1315
- before do
1316
- authorized_collection.insert_one(name: 'bang')
1317
- end
1318
-
1319
- let(:options) do
1320
- { collation: { locale: 'en_US', strength: 2 } }
1321
- end
1322
-
1323
- context 'when the server selected supports collations' do
1324
- min_server_fcv '3.4'
1325
-
1326
- it 'applies the collation' do
1327
- expect(result.written_count).to eq(1)
1328
- expect(authorized_collection.find(name: 'doink').to_a.size).to eq(1)
1329
- end
1330
- end
1331
-
1332
- context 'when the server selected does not support collations' do
1333
- max_server_version '3.2'
1334
-
1335
- it 'raises an exception' do
1336
- expect {
1337
- result
1338
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1339
- end
1340
-
1341
- context 'when a String key is used' do
1342
-
1343
- let(:options) do
1344
- { 'collation' => { locale: 'en_US', strength: 2 } }
1345
- end
1346
-
1347
- it 'raises an exception' do
1348
- expect {
1349
- result
1350
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1351
- end
1352
- end
1353
- end
1354
- end
1355
-
1356
- context 'when a collation is specified as method option' do
1357
-
1358
- let(:selector) do
1359
- { name: 'BANG' }
1360
- end
1361
-
1362
- let(:result) do
1363
- view.replace_one({ name: 'doink' }, method_options)
1364
- end
1365
-
1366
- before do
1367
- authorized_collection.insert_one(name: 'bang')
1368
- end
1369
-
1370
- let(:method_options) do
1371
- { collation: { locale: 'en_US', strength: 2 } }
1372
- end
1373
-
1374
- context 'when the server selected supports collations' do
1375
- min_server_fcv '3.4'
1376
-
1377
- it 'applies the collation' do
1378
- expect(result.written_count).to eq(1)
1379
- expect(authorized_collection.find(name: 'doink').to_a.size).to eq(1)
1380
- end
1381
- end
1382
-
1383
- context 'when the server selected does not support collations' do
1384
- max_server_version '3.2'
1385
-
1386
- it 'raises an exception' do
1387
- expect {
1388
- result
1389
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1390
- end
1391
-
1392
- context 'when a String key is used' do
1393
-
1394
- let(:method_options) do
1395
- { 'collation' => { locale: 'en_US', strength: 2 } }
1396
- end
1397
-
1398
- it 'raises an exception' do
1399
- expect {
1400
- result
1401
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1402
- end
1403
- end
1404
- end
1405
- end
1406
-
1407
- context 'when a collation is not specified' do
1408
-
1409
- let(:selector) do
1410
- { name: 'BANG' }
1411
- end
1412
-
1413
- let(:result) do
1414
- view.replace_one(name: 'doink')
1415
- end
1416
-
1417
- before do
1418
- authorized_collection.insert_one(name: 'bang')
1419
- end
1420
-
1421
- it 'does not apply the collation' do
1422
- expect(result.written_count).to eq(0)
1423
- expect(authorized_collection.find(name: 'bang').to_a.size).to eq(1)
1424
- end
1425
- end
1426
- end
1427
-
1428
- describe '#update_many' do
1429
- context 'when a hint option is provided' do
1430
- # Functionality on more recent servers is sufficiently covered by spec tests.
1431
- context 'on server versions < 3.4' do
1432
- max_server_fcv '3.2'
1433
-
1434
- it 'raises a client-side exception' do
1435
- expect do
1436
- view.update_many({ '$set' => { field: 'testing' } }, { hint: '_id_' })
1437
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
1438
- end
1439
- end
1440
-
1441
- context 'when the write concern is unacknowledged' do
1442
- let(:view_collection) do
1443
- client = authorized_client.with(write_concern: { w: 0 })
1444
- client[authorized_collection.name]
1445
- end
1446
-
1447
- context "on 4.2+ servers" do
1448
- min_server_version '4.2'
1449
-
1450
- it "doesn't raise an error" do
1451
- expect do
1452
- view.update_many({ '$set' => { field: 'testing' } }, { hint: '_id_' })
1453
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
1454
- end
1455
- end
1456
-
1457
- context "on <=4.0 servers" do
1458
- max_server_version '4.0'
1459
-
1460
- it 'raises a client-side error' do
1461
- expect do
1462
- view.update_many({ '$set' => { field: 'testing' } }, { hint: '_id_' })
1463
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
1464
- end
1465
- end
1466
- end
1467
- end
1468
-
1469
- context 'when a selector was provided' do
1470
-
1471
- let(:selector) do
1472
- { field: 'test' }
1473
- end
1474
-
1475
- before do
1476
- authorized_collection.insert_many([{ field: 'test' }, { field: 'test' }])
1477
- end
1478
-
1479
- let!(:response) do
1480
- view.update_many('$set'=> { field: 'testing' })
1481
- end
1482
-
1483
- let(:updated) do
1484
- authorized_collection.find(field: 'testing').first
1485
- end
1486
-
1487
- it 'returns the number updated' do
1488
- expect(response.written_count).to eq(2)
1489
- end
1490
-
1491
- it 'updates the documents in the collection' do
1492
- expect(updated[:field]).to eq('testing')
1493
- end
1494
- end
1495
-
1496
- context 'when no selector was provided' do
1497
-
1498
- before do
1499
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test2' }])
1500
- end
1501
-
1502
- let!(:response) do
1503
- view.update_many('$set'=> { field: 'testing' })
1504
- end
1505
-
1506
- let(:updated) do
1507
- authorized_collection.find
1508
- end
1509
-
1510
- it 'returns the number updated' do
1511
- expect(response.written_count).to eq(2)
1512
- end
1513
-
1514
- it 'updates all the documents in the collection' do
1515
- updated.each do |doc|
1516
- expect(doc[:field]).to eq('testing')
1517
- end
1518
- end
1519
- end
1520
-
1521
- context 'when upsert is false' do
1522
-
1523
- let(:response) do
1524
- view.update_many({ '$set'=> { field: 'testing' } },
1525
- upsert: false)
1526
- end
1527
-
1528
- let(:updated) do
1529
- authorized_collection.find.to_a
1530
- end
1531
-
1532
- it 'reports that no documents were updated' do
1533
- expect(response.written_count).to eq(0)
1534
- end
1535
-
1536
- it 'updates no documents in the collection' do
1537
- expect(updated).to be_empty
1538
- end
1539
- end
1540
-
1541
- context 'when upsert is true' do
1542
-
1543
- let!(:response) do
1544
- view.update_many({ '$set'=> { field: 'testing' } },
1545
- upsert: true)
1546
- end
1547
-
1548
- let(:updated) do
1549
- authorized_collection.find.first
1550
- end
1551
-
1552
- it 'reports that a document was written' do
1553
- expect(response.written_count).to eq(1)
1554
- end
1555
-
1556
- it 'inserts a document into the collection' do
1557
- expect(updated[:field]).to eq('testing')
1558
- end
1559
- end
1560
-
1561
- context 'when upsert is not specified' do
1562
-
1563
- let(:response) do
1564
- view.update_many({ '$set'=> { field: 'testing' } })
1565
- end
1566
-
1567
- let(:updated) do
1568
- authorized_collection.find.to_a
1569
- end
1570
-
1571
- it 'reports that no documents were updated' do
1572
- expect(response.written_count).to eq(0)
1573
- end
1574
-
1575
- it 'updates no documents in the collection' do
1576
- expect(updated).to be_empty
1577
- end
1578
- end
1579
-
1580
- context 'when a collation is specified' do
1581
-
1582
- let(:selector) do
1583
- { name: 'BANG' }
1584
- end
1585
-
1586
- let(:result) do
1587
- view.update_many({ '$set' => { other: 'doink' } })
1588
- end
1589
-
1590
- before do
1591
- authorized_collection.insert_one(name: 'bang')
1592
- authorized_collection.insert_one(name: 'baNG')
1593
- end
1594
-
1595
- let(:options) do
1596
- { collation: { locale: 'en_US', strength: 2 } }
1597
- end
1598
-
1599
- context 'when the server selected supports collations' do
1600
- min_server_fcv '3.4'
1601
-
1602
- it 'applies the collation' do
1603
- expect(result.written_count).to eq(2)
1604
- expect(authorized_collection.find(other: 'doink').to_a.size).to eq(2)
1605
- end
1606
- end
1607
-
1608
- context 'when the server selected does not support collations' do
1609
- max_server_version '3.2'
1610
-
1611
- it 'raises an exception' do
1612
- expect {
1613
- result
1614
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1615
- end
1616
-
1617
- context 'when a String key is used' do
1618
-
1619
- let(:options) do
1620
- { 'collation' => { locale: 'en_US', strength: 2 } }
1621
- end
1622
-
1623
- it 'raises an exception' do
1624
- expect {
1625
- result
1626
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1627
- end
1628
- end
1629
- end
1630
- end
1631
-
1632
- context 'when a collation is specified as a method option' do
1633
-
1634
- let(:selector) do
1635
- { name: 'BANG' }
1636
- end
1637
-
1638
- let(:result) do
1639
- view.update_many({ '$set' => { other: 'doink' } }, method_options)
1640
- end
1641
-
1642
- before do
1643
- authorized_collection.insert_one(name: 'bang')
1644
- authorized_collection.insert_one(name: 'baNG')
1645
- end
1646
-
1647
- let(:method_options) do
1648
- { collation: { locale: 'en_US', strength: 2 } }
1649
- end
1650
-
1651
- context 'when the server selected supports collations' do
1652
- min_server_fcv '3.4'
1653
-
1654
- it 'applies the collation' do
1655
- expect(result.written_count).to eq(2)
1656
- expect(authorized_collection.find(other: 'doink').to_a.size).to eq(2)
1657
- end
1658
- end
1659
-
1660
- context 'when the server selected does not support collations' do
1661
- max_server_version '3.2'
1662
-
1663
- it 'raises an exception' do
1664
- expect {
1665
- result
1666
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1667
- end
1668
-
1669
- context 'when a String key is used' do
1670
-
1671
- let(:method_options) do
1672
- { 'collation' => { locale: 'en_US', strength: 2 } }
1673
- end
1674
-
1675
- it 'raises an exception' do
1676
- expect {
1677
- result
1678
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1679
- end
1680
- end
1681
- end
1682
- end
1683
-
1684
- context 'when collation is not specified' do
1685
-
1686
- let(:selector) do
1687
- {name: 'BANG'}
1688
- end
1689
-
1690
- let(:result) do
1691
- view.update_many('$set' => {other: 'doink'})
1692
- end
1693
-
1694
- before do
1695
- authorized_collection.insert_one(name: 'bang')
1696
- authorized_collection.insert_one(name: 'baNG')
1697
- end
1698
-
1699
- it 'does not apply the collation' do
1700
- expect(result.written_count).to eq(0)
1701
- end
1702
- end
1703
- end
1704
-
1705
- describe '#update_one' do
1706
- context 'when a hint option is provided' do
1707
- # Functionality on more recent servers is sufficiently covered by spec tests.
1708
- context 'on server versions < 3.4' do
1709
- max_server_fcv '3.2'
1710
-
1711
- it 'raises a client-side exception' do
1712
- expect do
1713
- view.update_one({ '$set' => { field: 'testing' } }, { hint: '_id_' })
1714
- end.to raise_error(Mongo::Error::UnsupportedOption, /The MongoDB server handling this request does not support the hint option on this command./)
1715
- end
1716
- end
1717
-
1718
- context 'when the write concern is unacknowledged' do
1719
- let(:view_collection) do
1720
- client = authorized_client.with(write_concern: { w: 0 })
1721
- client[authorized_collection.name]
1722
- end
1723
-
1724
- context "on 4.2+ servers" do
1725
- min_server_version '4.2'
1726
-
1727
- it "doesn't raise an error" do
1728
- expect do
1729
- view.update_one({ '$set' => { field: 'testing' } }, { hint: '_id_' })
1730
- end.to_not raise_error(Mongo::Error::UnsupportedOption)
1731
- end
1732
- end
1733
-
1734
- context "on <=4.0 servers" do
1735
- max_server_version '4.0'
1736
-
1737
- it 'raises a client-side error' do
1738
- expect do
1739
- view.update_one({ '$set' => { field: 'testing' } }, { hint: '_id_' })
1740
- end.to raise_error(Mongo::Error::UnsupportedOption, /The hint option cannot be specified on an unacknowledged write operation/)
1741
- end
1742
- end
1743
- end
1744
- end
1745
-
1746
- context 'when a selector was provided' do
1747
-
1748
- let(:selector) do
1749
- { field: 'test1' }
1750
- end
1751
-
1752
- before do
1753
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test1' }])
1754
- end
1755
-
1756
- let!(:response) do
1757
- view.update_one('$set'=> { field: 'testing' })
1758
- end
1759
-
1760
- let(:updated) do
1761
- authorized_collection.find(field: 'testing').first
1762
- end
1763
-
1764
- it 'updates the first matching document in the collection' do
1765
- expect(response.written_count).to eq(1)
1766
- end
1767
-
1768
- it 'updates the documents in the collection' do
1769
- expect(updated[:field]).to eq('testing')
1770
- end
1771
- end
1772
-
1773
- context 'when no selector was provided' do
1774
-
1775
- before do
1776
- authorized_collection.insert_many([{ field: 'test1' }, { field: 'test2' }])
1777
- end
1778
-
1779
- let!(:response) do
1780
- view.update_one('$set'=> { field: 'testing' })
1781
- end
1782
-
1783
- let(:updated) do
1784
- authorized_collection.find(field: 'testing').first
1785
- end
1786
-
1787
- it 'updates the first document in the collection' do
1788
- expect(response.written_count).to eq(1)
1789
- end
1790
-
1791
- it 'updates the documents in the collection' do
1792
- expect(updated[:field]).to eq('testing')
1793
- end
1794
- end
1795
-
1796
- context 'when upsert is false' do
1797
-
1798
- let(:response) do
1799
- view.update_one({ '$set'=> { field: 'testing' } },
1800
- upsert: false)
1801
- end
1802
-
1803
- let(:updated) do
1804
- authorized_collection.find.to_a
1805
- end
1806
-
1807
- it 'reports that no documents were updated' do
1808
- expect(response.written_count).to eq(0)
1809
- end
1810
-
1811
- it 'updates no documents in the collection' do
1812
- expect(updated).to be_empty
1813
- end
1814
- end
1815
-
1816
- context 'when upsert is true' do
1817
-
1818
- let!(:response) do
1819
- view.update_one({ '$set'=> { field: 'testing' } },
1820
- upsert: true)
1821
- end
1822
-
1823
- let(:updated) do
1824
- authorized_collection.find.first
1825
- end
1826
-
1827
- it 'reports that a document was written' do
1828
- expect(response.written_count).to eq(1)
1829
- end
1830
-
1831
- it 'inserts a document into the collection' do
1832
- expect(updated[:field]).to eq('testing')
1833
- end
1834
- end
1835
-
1836
- context 'when upsert is not specified' do
1837
-
1838
- let(:response) do
1839
- view.update_one({ '$set'=> { field: 'testing' } })
1840
- end
1841
-
1842
- let(:updated) do
1843
- authorized_collection.find.to_a
1844
- end
1845
-
1846
- it 'reports that no documents were updated' do
1847
- expect(response.written_count).to eq(0)
1848
- end
1849
-
1850
- it 'updates no documents in the collection' do
1851
- expect(updated).to be_empty
1852
- end
1853
- end
1854
-
1855
- context 'when there is a collation specified' do
1856
-
1857
- let(:selector) do
1858
- { name: 'BANG' }
1859
- end
1860
-
1861
- let(:result) do
1862
- view.update_one({ '$set' => { other: 'doink' } })
1863
- end
1864
-
1865
- before do
1866
- authorized_collection.insert_one(name: 'bang')
1867
- end
1868
-
1869
- let(:options) do
1870
- { collation: { locale: 'en_US', strength: 2 } }
1871
- end
1872
-
1873
- context 'when the server selected supports collations' do
1874
- min_server_fcv '3.4'
1875
-
1876
- it 'applies the collation' do
1877
- expect(result.written_count).to eq(1)
1878
- expect(authorized_collection.find(other: 'doink').to_a.size).to eq(1)
1879
- end
1880
- end
1881
-
1882
- context 'when the server selected does not support collations' do
1883
- max_server_version '3.2'
1884
-
1885
- it 'raises an exception' do
1886
- expect {
1887
- result
1888
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1889
- end
1890
-
1891
- context 'when a String key is used' do
1892
-
1893
- let(:options) do
1894
- { 'collation' => { locale: 'en_US', strength: 2 } }
1895
- end
1896
-
1897
- it 'raises an exception' do
1898
- expect {
1899
- result
1900
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1901
- end
1902
- end
1903
- end
1904
- end
1905
-
1906
- context 'when there is a collation specified as a method option' do
1907
-
1908
- let(:selector) do
1909
- { name: 'BANG' }
1910
- end
1911
-
1912
- let(:result) do
1913
- view.update_one({ '$set' => { other: 'doink' } }, method_options)
1914
- end
1915
-
1916
- before do
1917
- authorized_collection.insert_one(name: 'bang')
1918
- end
1919
-
1920
- let(:method_options) do
1921
- { collation: { locale: 'en_US', strength: 2 } }
1922
- end
1923
-
1924
- context 'when the server selected supports collations' do
1925
- min_server_fcv '3.4'
1926
-
1927
- it 'applies the collation' do
1928
- expect(result.written_count).to eq(1)
1929
- expect(authorized_collection.find(other: 'doink').to_a.size).to eq(1)
1930
- end
1931
- end
1932
-
1933
- context 'when the server selected does not support collations' do
1934
- max_server_version '3.2'
1935
-
1936
- it 'raises an exception' do
1937
- expect {
1938
- result
1939
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1940
- end
1941
-
1942
- context 'when a String key is used' do
1943
-
1944
- let(:method_options) do
1945
- { 'collation' => { locale: 'en_US', strength: 2 } }
1946
- end
1947
-
1948
- it 'raises an exception' do
1949
- expect {
1950
- result
1951
- }.to raise_exception(Mongo::Error::UnsupportedCollation)
1952
- end
1953
- end
1954
- end
1955
- end
1956
-
1957
- context 'when a collation is not specified' do
1958
-
1959
- let(:selector) do
1960
- { name: 'BANG' }
1961
- end
1962
-
1963
- let(:result) do
1964
- view.update_one('$set' => { other: 'doink' })
1965
- end
1966
-
1967
- before do
1968
- authorized_collection.insert_one(name: 'bang')
1969
- end
1970
-
1971
- it 'does not apply the collation' do
1972
- expect(result.written_count).to eq(0)
1973
- end
1974
- end
1975
- end
1976
- end