mongo 2.20.1 → 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 (1512) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -1
  3. data/lib/mongo/address.rb +22 -3
  4. data/lib/mongo/auth/aws/conversation.rb +1 -1
  5. data/lib/mongo/auth/aws/credentials_retriever.rb +70 -17
  6. data/lib/mongo/auth/base.rb +1 -1
  7. data/lib/mongo/auth/credential_cache.rb +13 -6
  8. data/lib/mongo/bulk_write.rb +35 -2
  9. data/lib/mongo/client.rb +113 -34
  10. data/lib/mongo/client_encryption.rb +7 -4
  11. data/lib/mongo/cluster/reapers/cursor_reaper.rb +6 -1
  12. data/lib/mongo/cluster/sdam_flow.rb +21 -8
  13. data/lib/mongo/cluster.rb +14 -4
  14. data/lib/mongo/collection/helpers.rb +1 -1
  15. data/lib/mongo/collection/view/aggregation/behavior.rb +131 -0
  16. data/lib/mongo/collection/view/aggregation.rb +34 -100
  17. data/lib/mongo/collection/view/builder/aggregation.rb +1 -7
  18. data/lib/mongo/collection/view/change_stream.rb +80 -27
  19. data/lib/mongo/collection/view/iterable.rb +76 -60
  20. data/lib/mongo/collection/view/map_reduce.rb +25 -8
  21. data/lib/mongo/collection/view/readable.rb +79 -30
  22. data/lib/mongo/collection/view/writable.rb +109 -48
  23. data/lib/mongo/collection/view.rb +43 -3
  24. data/lib/mongo/collection.rb +158 -23
  25. data/lib/mongo/crypt/auto_encrypter.rb +4 -6
  26. data/lib/mongo/crypt/binary.rb +5 -5
  27. data/lib/mongo/crypt/binding.rb +69 -5
  28. data/lib/mongo/crypt/context.rb +72 -38
  29. data/lib/mongo/crypt/encryption_io.rb +60 -28
  30. data/lib/mongo/crypt/explicit_encrypter.rb +49 -20
  31. data/lib/mongo/crypt/explicit_encryption_context.rb +17 -11
  32. data/lib/mongo/crypt/handle.rb +1 -1
  33. data/lib/mongo/crypt/kms/azure/credentials_retriever.rb +22 -6
  34. data/lib/mongo/crypt/kms/gcp/credentials_retriever.rb +29 -4
  35. data/lib/mongo/csot_timeout_holder.rb +119 -0
  36. data/lib/mongo/cursor/kill_spec.rb +5 -2
  37. data/lib/mongo/cursor/nontailable.rb +27 -0
  38. data/lib/mongo/cursor.rb +87 -25
  39. data/lib/mongo/cursor_host.rb +82 -0
  40. data/lib/mongo/database/view.rb +81 -14
  41. data/lib/mongo/database.rb +88 -18
  42. data/lib/mongo/error/kms_error.rb +9 -0
  43. data/lib/mongo/error/operation_failure.rb +209 -204
  44. data/lib/mongo/error/pool_cleared_error.rb +1 -0
  45. data/lib/mongo/error/sdam_error_detection.rb +3 -3
  46. data/lib/mongo/error/server_timeout_error.rb +12 -0
  47. data/lib/mongo/error/socket_timeout_error.rb +3 -1
  48. data/{spec/runners/crud/context.rb → lib/mongo/error/timeout_error.rb} +5 -12
  49. data/lib/mongo/error.rb +2 -0
  50. data/lib/mongo/grid/fs_bucket.rb +45 -12
  51. data/lib/mongo/grid/stream/read.rb +15 -1
  52. data/lib/mongo/grid/stream/write.rb +21 -4
  53. data/lib/mongo/index/view.rb +77 -16
  54. data/lib/mongo/lint.rb +1 -1
  55. data/lib/mongo/monitoring/event/secure.rb +1 -1
  56. data/lib/mongo/monitoring.rb +1 -1
  57. data/lib/mongo/operation/context.rb +40 -2
  58. data/lib/mongo/operation/create_search_indexes/op_msg.rb +2 -2
  59. data/lib/mongo/operation/delete/op_msg.rb +2 -1
  60. data/lib/mongo/operation/drop_search_index/op_msg.rb +2 -2
  61. data/lib/mongo/operation/find/op_msg.rb +45 -0
  62. data/lib/mongo/operation/get_more/op_msg.rb +33 -0
  63. data/lib/mongo/operation/insert/op_msg.rb +3 -2
  64. data/lib/mongo/operation/insert/result.rb +4 -2
  65. data/lib/mongo/operation/list_collections/result.rb +1 -1
  66. data/lib/mongo/operation/map_reduce/result.rb +1 -1
  67. data/lib/mongo/operation/op_msg_base.rb +3 -1
  68. data/lib/mongo/operation/result.rb +26 -5
  69. data/lib/mongo/operation/shared/executable.rb +12 -1
  70. data/lib/mongo/operation/shared/op_msg_executable.rb +4 -1
  71. data/lib/mongo/operation/shared/read_preference_supported.rb +2 -2
  72. data/lib/mongo/operation/shared/response_handling.rb +3 -3
  73. data/lib/mongo/operation/shared/sessions_supported.rb +3 -3
  74. data/lib/mongo/operation/shared/timed.rb +52 -0
  75. data/lib/mongo/operation/shared/write.rb +4 -1
  76. data/lib/mongo/operation/update/op_msg.rb +2 -1
  77. data/lib/mongo/operation/update_search_index/op_msg.rb +2 -2
  78. data/lib/mongo/operation.rb +1 -0
  79. data/lib/mongo/protocol/compressed.rb +1 -1
  80. data/lib/mongo/protocol/message.rb +1 -4
  81. data/lib/mongo/protocol/msg.rb +3 -3
  82. data/lib/mongo/retryable/read_worker.rb +69 -29
  83. data/lib/mongo/retryable/write_worker.rb +49 -18
  84. data/lib/mongo/retryable.rb +8 -2
  85. data/lib/mongo/search_index/view.rb +4 -4
  86. data/lib/mongo/server/connection.rb +11 -5
  87. data/lib/mongo/server/connection_base.rb +22 -2
  88. data/lib/mongo/server/connection_pool.rb +32 -14
  89. data/lib/mongo/server/description/features.rb +1 -1
  90. data/lib/mongo/server/description.rb +18 -5
  91. data/lib/mongo/server/monitor.rb +7 -4
  92. data/lib/mongo/server/pending_connection.rb +7 -3
  93. data/lib/mongo/server/push_monitor.rb +1 -1
  94. data/lib/mongo/server/{round_trip_time_averager.rb → round_trip_time_calculator.rb} +25 -7
  95. data/lib/mongo/server.rb +11 -6
  96. data/lib/mongo/server_selector/base.rb +25 -9
  97. data/lib/mongo/session/server_session/dirtyable.rb +1 -1
  98. data/lib/mongo/session.rb +78 -9
  99. data/lib/mongo/socket/ssl.rb +109 -17
  100. data/lib/mongo/socket/tcp.rb +40 -6
  101. data/lib/mongo/socket.rb +163 -27
  102. data/lib/mongo/uri/options_mapper.rb +1 -0
  103. data/lib/mongo/uri/srv_protocol.rb +3 -1
  104. data/lib/mongo/version.rb +1 -1
  105. data/lib/mongo.rb +1 -0
  106. data/mongo.gemspec +4 -4
  107. metadata +27 -2820
  108. data/Rakefile +0 -196
  109. data/spec/NOTES.aws-auth.md +0 -296
  110. data/spec/README.aws-auth.md +0 -318
  111. data/spec/README.md +0 -733
  112. data/spec/USERS.md +0 -72
  113. data/spec/atlas/atlas_connectivity_spec.rb +0 -23
  114. data/spec/atlas/operations_spec.rb +0 -19
  115. data/spec/faas/ruby-sam-app/Gemfile +0 -9
  116. data/spec/faas/ruby-sam-app/mongodb/Gemfile +0 -4
  117. data/spec/faas/ruby-sam-app/mongodb/app.rb +0 -149
  118. data/spec/faas/ruby-sam-app/template.yaml +0 -48
  119. data/spec/integration/auth_spec.rb +0 -309
  120. data/spec/integration/awaited_ismaster_spec.rb +0 -31
  121. data/spec/integration/aws_auth_credentials_cache_spec.rb +0 -51
  122. data/spec/integration/aws_auth_request_spec.rb +0 -77
  123. data/spec/integration/aws_credentials_retriever_spec.rb +0 -136
  124. data/spec/integration/aws_lambda_examples_spec.rb +0 -68
  125. data/spec/integration/bson_symbol_spec.rb +0 -39
  126. data/spec/integration/bulk_insert_spec.rb +0 -83
  127. data/spec/integration/bulk_write_error_message_spec.rb +0 -74
  128. data/spec/integration/bulk_write_spec.rb +0 -86
  129. data/spec/integration/change_stream_examples_spec.rb +0 -208
  130. data/spec/integration/change_stream_spec.rb +0 -814
  131. data/spec/integration/check_clean_slate_spec.rb +0 -19
  132. data/spec/integration/client_authentication_options_spec.rb +0 -514
  133. data/spec/integration/client_connectivity_spec.rb +0 -41
  134. data/spec/integration/client_construction_aws_auth_spec.rb +0 -203
  135. data/spec/integration/client_construction_spec.rb +0 -381
  136. data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +0 -360
  137. data/spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb +0 -306
  138. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +0 -74
  139. data/spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb +0 -82
  140. data/spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb +0 -260
  141. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +0 -747
  142. data/spec/integration/client_side_encryption/automatic_data_encryption_keys_prose_spec.rb +0 -153
  143. data/spec/integration/client_side_encryption/bson_size_limit_spec.rb +0 -190
  144. data/spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb +0 -81
  145. data/spec/integration/client_side_encryption/client_close_spec.rb +0 -66
  146. data/spec/integration/client_side_encryption/corpus_spec.rb +0 -273
  147. data/spec/integration/client_side_encryption/custom_endpoint_spec.rb +0 -132
  148. data/spec/integration/client_side_encryption/data_key_spec.rb +0 -258
  149. data/spec/integration/client_side_encryption/decryption_events_prose_spec.rb +0 -159
  150. data/spec/integration/client_side_encryption/explicit_encryption_spec.rb +0 -176
  151. data/spec/integration/client_side_encryption/explicit_queryable_encryption_spec.rb +0 -150
  152. data/spec/integration/client_side_encryption/external_key_vault_spec.rb +0 -144
  153. data/spec/integration/client_side_encryption/kms_tls_options_spec.rb +0 -436
  154. data/spec/integration/client_side_encryption/kms_tls_spec.rb +0 -92
  155. data/spec/integration/client_side_encryption/mongocryptd_prose_spec.rb +0 -105
  156. data/spec/integration/client_side_encryption/on_demand_aws_credentials_spec.rb +0 -49
  157. data/spec/integration/client_side_encryption/on_demand_azure_credentials_spec.rb +0 -46
  158. data/spec/integration/client_side_encryption/on_demand_gcp_credentials_spec.rb +0 -47
  159. data/spec/integration/client_side_encryption/queryable_encryption_examples_spec.rb +0 -114
  160. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +0 -539
  161. data/spec/integration/client_side_encryption/rewrap_prose_spec.rb +0 -114
  162. data/spec/integration/client_side_encryption/unique_index_on_key_alt_names_prose_spec.rb +0 -89
  163. data/spec/integration/client_side_encryption/views_spec.rb +0 -47
  164. data/spec/integration/client_spec.rb +0 -54
  165. data/spec/integration/client_update_spec.rb +0 -161
  166. data/spec/integration/collection_indexes_prose_spec.rb +0 -58
  167. data/spec/integration/command_monitoring_spec.rb +0 -184
  168. data/spec/integration/command_spec.rb +0 -157
  169. data/spec/integration/connect_single_rs_name_spec.rb +0 -75
  170. data/spec/integration/connection/faas_env_spec.rb +0 -62
  171. data/spec/integration/connection_pool_populator_spec.rb +0 -325
  172. data/spec/integration/connection_spec.rb +0 -353
  173. data/spec/integration/crud_spec.rb +0 -378
  174. data/spec/integration/cursor_pinning_spec.rb +0 -125
  175. data/spec/integration/cursor_reaping_spec.rb +0 -143
  176. data/spec/integration/docs_examples_spec.rb +0 -207
  177. data/spec/integration/error_detection_spec.rb +0 -42
  178. data/spec/integration/find_options_spec.rb +0 -227
  179. data/spec/integration/fork_reconnect_spec.rb +0 -207
  180. data/spec/integration/get_more_spec.rb +0 -42
  181. data/spec/integration/grid_fs_bucket_spec.rb +0 -51
  182. data/spec/integration/heartbeat_events_spec.rb +0 -102
  183. data/spec/integration/map_reduce_spec.rb +0 -81
  184. data/spec/integration/mmapv1_spec.rb +0 -31
  185. data/spec/integration/mongos_pinning_spec.rb +0 -37
  186. data/spec/integration/ocsp_connectivity_spec.rb +0 -29
  187. data/spec/integration/ocsp_verifier_cache_spec.rb +0 -191
  188. data/spec/integration/ocsp_verifier_spec.rb +0 -358
  189. data/spec/integration/operation_failure_code_spec.rb +0 -29
  190. data/spec/integration/operation_failure_message_spec.rb +0 -91
  191. data/spec/integration/query_cache_spec.rb +0 -1343
  192. data/spec/integration/query_cache_transactions_spec.rb +0 -193
  193. data/spec/integration/read_concern_spec.rb +0 -92
  194. data/spec/integration/read_preference_spec.rb +0 -548
  195. data/spec/integration/reconnect_spec.rb +0 -200
  196. data/spec/integration/retryable_errors_spec.rb +0 -286
  197. data/spec/integration/retryable_reads_errors_spec.rb +0 -275
  198. data/spec/integration/retryable_writes/retryable_writes_36_and_older_spec.rb +0 -764
  199. data/spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb +0 -405
  200. data/spec/integration/retryable_writes/shared/adds_diagnostics.rb +0 -18
  201. data/spec/integration/retryable_writes/shared/does_not_support_retries.rb +0 -27
  202. data/spec/integration/retryable_writes/shared/only_supports_legacy_retries.rb +0 -28
  203. data/spec/integration/retryable_writes/shared/performs_legacy_retries.rb +0 -220
  204. data/spec/integration/retryable_writes/shared/performs_modern_retries.rb +0 -235
  205. data/spec/integration/retryable_writes/shared/performs_no_retries.rb +0 -113
  206. data/spec/integration/retryable_writes/shared/supports_legacy_retries.rb +0 -22
  207. data/spec/integration/retryable_writes/shared/supports_modern_retries.rb +0 -28
  208. data/spec/integration/retryable_writes/shared/supports_retries.rb +0 -19
  209. data/spec/integration/retryable_writes_errors_spec.rb +0 -348
  210. data/spec/integration/sdam_error_handling_spec.rb +0 -489
  211. data/spec/integration/sdam_events_spec.rb +0 -178
  212. data/spec/integration/sdam_prose_spec.rb +0 -67
  213. data/spec/integration/search_indexes_prose_spec.rb +0 -168
  214. data/spec/integration/secondary_reads_spec.rb +0 -103
  215. data/spec/integration/server_description_spec.rb +0 -48
  216. data/spec/integration/server_monitor_spec.rb +0 -57
  217. data/spec/integration/server_selection_spec.rb +0 -39
  218. data/spec/integration/server_selector_spec.rb +0 -107
  219. data/spec/integration/server_spec.rb +0 -66
  220. data/spec/integration/shell_examples_spec.rb +0 -984
  221. data/spec/integration/size_limit_spec.rb +0 -118
  222. data/spec/integration/snappy_compression_spec.rb +0 -28
  223. data/spec/integration/snapshot_query_examples_spec.rb +0 -129
  224. data/spec/integration/srv_monitoring_spec.rb +0 -445
  225. data/spec/integration/srv_spec.rb +0 -60
  226. data/spec/integration/ssl_uri_options_spec.rb +0 -28
  227. data/spec/integration/step_down_spec.rb +0 -225
  228. data/spec/integration/time_zone_querying_spec.rb +0 -55
  229. data/spec/integration/transaction_pinning_spec.rb +0 -134
  230. data/spec/integration/transactions_api_examples_spec.rb +0 -62
  231. data/spec/integration/transactions_examples_spec.rb +0 -235
  232. data/spec/integration/truncated_utf8_spec.rb +0 -26
  233. data/spec/integration/versioned_api_examples_spec.rb +0 -120
  234. data/spec/integration/x509_auth_spec.rb +0 -112
  235. data/spec/integration/zlib_compression_spec.rb +0 -28
  236. data/spec/integration/zstd_compression_spec.rb +0 -29
  237. data/spec/kerberos/kerberos_spec.rb +0 -94
  238. data/spec/lite_spec_helper.rb +0 -209
  239. data/spec/mongo/address/ipv4_spec.rb +0 -102
  240. data/spec/mongo/address/ipv6_spec.rb +0 -137
  241. data/spec/mongo/address/unix_spec.rb +0 -45
  242. data/spec/mongo/address/validator_spec.rb +0 -54
  243. data/spec/mongo/address_spec.rb +0 -357
  244. data/spec/mongo/auth/aws/credential_cache_spec.rb +0 -63
  245. data/spec/mongo/auth/aws/credentials_retriever_spec.rb +0 -90
  246. data/spec/mongo/auth/aws/credentials_spec.rb +0 -46
  247. data/spec/mongo/auth/aws/request_region_spec.rb +0 -45
  248. data/spec/mongo/auth/aws/request_spec.rb +0 -79
  249. data/spec/mongo/auth/cr_spec.rb +0 -58
  250. data/spec/mongo/auth/gssapi/conversation_spec.rb +0 -124
  251. data/spec/mongo/auth/invalid_mechanism_spec.rb +0 -14
  252. data/spec/mongo/auth/ldap/conversation_spec.rb +0 -46
  253. data/spec/mongo/auth/ldap_spec.rb +0 -46
  254. data/spec/mongo/auth/scram/conversation_spec.rb +0 -205
  255. data/spec/mongo/auth/scram256/conversation_spec.rb +0 -174
  256. data/spec/mongo/auth/scram_negotiation_spec.rb +0 -532
  257. data/spec/mongo/auth/scram_spec.rb +0 -121
  258. data/spec/mongo/auth/stringprep/profiles/sasl_spec.rb +0 -116
  259. data/spec/mongo/auth/stringprep_spec.rb +0 -191
  260. data/spec/mongo/auth/user/view_spec.rb +0 -584
  261. data/spec/mongo/auth/user_spec.rb +0 -343
  262. data/spec/mongo/auth/x509/conversation_spec.rb +0 -72
  263. data/spec/mongo/auth/x509_spec.rb +0 -72
  264. data/spec/mongo/auth_spec.rb +0 -68
  265. data/spec/mongo/bson_spec.rb +0 -14
  266. data/spec/mongo/bulk_write/ordered_combiner_spec.rb +0 -287
  267. data/spec/mongo/bulk_write/result_spec.rb +0 -141
  268. data/spec/mongo/bulk_write/unordered_combiner_spec.rb +0 -242
  269. data/spec/mongo/bulk_write_spec.rb +0 -2514
  270. data/spec/mongo/caching_cursor_spec.rb +0 -73
  271. data/spec/mongo/client_construction_spec.rb +0 -2723
  272. data/spec/mongo/client_encryption_spec.rb +0 -402
  273. data/spec/mongo/client_spec.rb +0 -1203
  274. data/spec/mongo/cluster/cursor_reaper_spec.rb +0 -230
  275. data/spec/mongo/cluster/periodic_executor_spec.rb +0 -21
  276. data/spec/mongo/cluster/socket_reaper_spec.rb +0 -46
  277. data/spec/mongo/cluster/topology/replica_set_spec.rb +0 -601
  278. data/spec/mongo/cluster/topology/sharded_spec.rb +0 -158
  279. data/spec/mongo/cluster/topology/single_spec.rb +0 -192
  280. data/spec/mongo/cluster/topology/unknown_spec.rb +0 -103
  281. data/spec/mongo/cluster/topology_spec.rb +0 -211
  282. data/spec/mongo/cluster_spec.rb +0 -825
  283. data/spec/mongo/cluster_time_spec.rb +0 -151
  284. data/spec/mongo/collection/view/aggregation_spec.rb +0 -778
  285. data/spec/mongo/collection/view/builder/find_command_spec.rb +0 -528
  286. data/spec/mongo/collection/view/builder/op_query_spec.rb +0 -161
  287. data/spec/mongo/collection/view/change_stream_resume_spec.rb +0 -397
  288. data/spec/mongo/collection/view/change_stream_spec.rb +0 -547
  289. data/spec/mongo/collection/view/explainable_spec.rb +0 -119
  290. data/spec/mongo/collection/view/immutable_spec.rb +0 -57
  291. data/spec/mongo/collection/view/iterable_spec.rb +0 -41
  292. data/spec/mongo/collection/view/map_reduce_spec.rb +0 -907
  293. data/spec/mongo/collection/view/readable_spec.rb +0 -2283
  294. data/spec/mongo/collection/view/writable_spec.rb +0 -1976
  295. data/spec/mongo/collection/view_spec.rb +0 -424
  296. data/spec/mongo/collection_crud_spec.rb +0 -4472
  297. data/spec/mongo/collection_ddl_spec.rb +0 -587
  298. data/spec/mongo/collection_spec.rb +0 -850
  299. data/spec/mongo/condition_variable_spec.rb +0 -104
  300. data/spec/mongo/config/options_spec.rb +0 -76
  301. data/spec/mongo/config_spec.rb +0 -74
  302. data/spec/mongo/crypt/auto_decryption_context_spec.rb +0 -109
  303. data/spec/mongo/crypt/auto_encrypter_spec.rb +0 -448
  304. data/spec/mongo/crypt/auto_encryption_context_spec.rb +0 -126
  305. data/spec/mongo/crypt/binary_spec.rb +0 -113
  306. data/spec/mongo/crypt/binding/binary_spec.rb +0 -54
  307. data/spec/mongo/crypt/binding/context_spec.rb +0 -305
  308. data/spec/mongo/crypt/binding/helpers_spec.rb +0 -44
  309. data/spec/mongo/crypt/binding/mongocrypt_spec.rb +0 -113
  310. data/spec/mongo/crypt/binding/status_spec.rb +0 -97
  311. data/spec/mongo/crypt/binding/version_spec.rb +0 -67
  312. data/spec/mongo/crypt/binding_unloaded_spec.rb +0 -37
  313. data/spec/mongo/crypt/data_key_context_spec.rb +0 -144
  314. data/spec/mongo/crypt/encryption_io_spec.rb +0 -141
  315. data/spec/mongo/crypt/explicit_decryption_context_spec.rb +0 -106
  316. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +0 -266
  317. data/spec/mongo/crypt/handle_spec.rb +0 -266
  318. data/spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb +0 -111
  319. data/spec/mongo/crypt/hooks_spec.rb +0 -30
  320. data/spec/mongo/crypt/kms/azure/credentials_retriever_spec.rb +0 -86
  321. data/spec/mongo/crypt/kms/credentials_spec.rb +0 -373
  322. data/spec/mongo/crypt/kms_spec.rb +0 -62
  323. data/spec/mongo/crypt/status_spec.rb +0 -150
  324. data/spec/mongo/crypt_spec.rb +0 -21
  325. data/spec/mongo/cursor/builder/get_more_command_spec.rb +0 -195
  326. data/spec/mongo/cursor/builder/op_get_more_spec.rb +0 -68
  327. data/spec/mongo/cursor_spec.rb +0 -834
  328. data/spec/mongo/database_spec.rb +0 -1365
  329. data/spec/mongo/distinguishing_semaphore_spec.rb +0 -66
  330. data/spec/mongo/error/bulk_write_error_spec.rb +0 -52
  331. data/spec/mongo/error/crypt_error_spec.rb +0 -29
  332. data/spec/mongo/error/max_bson_size_spec.rb +0 -38
  333. data/spec/mongo/error/no_server_available_spec.rb +0 -35
  334. data/spec/mongo/error/notable_spec.rb +0 -62
  335. data/spec/mongo/error/operation_failure_heavy_spec.rb +0 -110
  336. data/spec/mongo/error/operation_failure_spec.rb +0 -553
  337. data/spec/mongo/error/parser_spec.rb +0 -519
  338. data/spec/mongo/error/unsupported_option_spec.rb +0 -57
  339. data/spec/mongo/event/publisher_spec.rb +0 -53
  340. data/spec/mongo/event/subscriber_spec.rb +0 -37
  341. data/spec/mongo/grid/file/chunk_spec.rb +0 -230
  342. data/spec/mongo/grid/file/info_spec.rb +0 -107
  343. data/spec/mongo/grid/file_spec.rb +0 -194
  344. data/spec/mongo/grid/fs_bucket_spec.rb +0 -1269
  345. data/spec/mongo/grid/stream/read_spec.rb +0 -292
  346. data/spec/mongo/grid/stream/write_spec.rb +0 -559
  347. data/spec/mongo/grid/stream_spec.rb +0 -51
  348. data/spec/mongo/id_spec.rb +0 -38
  349. data/spec/mongo/index/view_spec.rb +0 -1296
  350. data/spec/mongo/lint_spec.rb +0 -231
  351. data/spec/mongo/logger_spec.rb +0 -62
  352. data/spec/mongo/monitoring/command_log_subscriber_spec.rb +0 -79
  353. data/spec/mongo/monitoring/event/cmap/connection_check_out_failed_spec.rb +0 -26
  354. data/spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb +0 -22
  355. data/spec/mongo/monitoring/event/cmap/connection_checked_in_spec.rb +0 -33
  356. data/spec/mongo/monitoring/event/cmap/connection_checked_out_spec.rb +0 -33
  357. data/spec/mongo/monitoring/event/cmap/connection_closed_spec.rb +0 -30
  358. data/spec/mongo/monitoring/event/cmap/connection_created_spec.rb +0 -27
  359. data/spec/mongo/monitoring/event/cmap/connection_ready_spec.rb +0 -27
  360. data/spec/mongo/monitoring/event/cmap/pool_cleared_spec.rb +0 -22
  361. data/spec/mongo/monitoring/event/cmap/pool_closed_spec.rb +0 -29
  362. data/spec/mongo/monitoring/event/cmap/pool_created_spec.rb +0 -36
  363. data/spec/mongo/monitoring/event/command_failed_spec.rb +0 -87
  364. data/spec/mongo/monitoring/event/command_started_spec.rb +0 -51
  365. data/spec/mongo/monitoring/event/command_succeeded_spec.rb +0 -88
  366. data/spec/mongo/monitoring/event/secure_spec.rb +0 -123
  367. data/spec/mongo/monitoring/event/server_closed_spec.rb +0 -38
  368. data/spec/mongo/monitoring/event/server_description_changed_spec.rb +0 -38
  369. data/spec/mongo/monitoring/event/server_heartbeat_failed_spec.rb +0 -34
  370. data/spec/mongo/monitoring/event/server_heartbeat_started_spec.rb +0 -34
  371. data/spec/mongo/monitoring/event/server_heartbeat_succeeded_spec.rb +0 -34
  372. data/spec/mongo/monitoring/event/server_opening_spec.rb +0 -38
  373. data/spec/mongo/monitoring/event/topology_changed_spec.rb +0 -44
  374. data/spec/mongo/monitoring/event/topology_closed_spec.rb +0 -38
  375. data/spec/mongo/monitoring/event/topology_opening_spec.rb +0 -38
  376. data/spec/mongo/monitoring_spec.rb +0 -196
  377. data/spec/mongo/operation/aggregate/result_spec.rb +0 -90
  378. data/spec/mongo/operation/aggregate_spec.rb +0 -76
  379. data/spec/mongo/operation/collections_info_spec.rb +0 -48
  380. data/spec/mongo/operation/command_spec.rb +0 -86
  381. data/spec/mongo/operation/create/op_msg_spec.rb +0 -244
  382. data/spec/mongo/operation/create_index_spec.rb +0 -62
  383. data/spec/mongo/operation/create_user_spec.rb +0 -53
  384. data/spec/mongo/operation/delete/bulk_spec.rb +0 -245
  385. data/spec/mongo/operation/delete/op_msg_spec.rb +0 -266
  386. data/spec/mongo/operation/delete_spec.rb +0 -203
  387. data/spec/mongo/operation/drop_index_spec.rb +0 -61
  388. data/spec/mongo/operation/find/builder/flags_spec.rb +0 -109
  389. data/spec/mongo/operation/find/builder/modifiers_spec.rb +0 -213
  390. data/spec/mongo/operation/indexes_spec.rb +0 -41
  391. data/spec/mongo/operation/insert/bulk_spec.rb +0 -273
  392. data/spec/mongo/operation/insert/op_msg_spec.rb +0 -296
  393. data/spec/mongo/operation/insert_spec.rb +0 -258
  394. data/spec/mongo/operation/limited_spec.rb +0 -55
  395. data/spec/mongo/operation/map_reduce_spec.rb +0 -131
  396. data/spec/mongo/operation/read_preference_legacy_spec.rb +0 -360
  397. data/spec/mongo/operation/read_preference_op_msg_spec.rb +0 -332
  398. data/spec/mongo/operation/remove_user_spec.rb +0 -52
  399. data/spec/mongo/operation/result_spec.rb +0 -369
  400. data/spec/mongo/operation/specifiable_spec.rb +0 -87
  401. data/spec/mongo/operation/update/bulk_spec.rb +0 -239
  402. data/spec/mongo/operation/update/op_msg_spec.rb +0 -272
  403. data/spec/mongo/operation/update_spec.rb +0 -235
  404. data/spec/mongo/operation/update_user_spec.rb +0 -52
  405. data/spec/mongo/options/redacted_spec.rb +0 -353
  406. data/spec/mongo/protocol/caching_hash_spec.rb +0 -37
  407. data/spec/mongo/protocol/compressed_spec.rb +0 -83
  408. data/spec/mongo/protocol/get_more_spec.rb +0 -164
  409. data/spec/mongo/protocol/kill_cursors_spec.rb +0 -121
  410. data/spec/mongo/protocol/msg_spec.rb +0 -507
  411. data/spec/mongo/protocol/query_spec.rb +0 -347
  412. data/spec/mongo/protocol/registry_spec.rb +0 -34
  413. data/spec/mongo/protocol/reply_spec.rb +0 -198
  414. data/spec/mongo/query_cache_middleware_spec.rb +0 -55
  415. data/spec/mongo/query_cache_spec.rb +0 -453
  416. data/spec/mongo/retryable/write_worker_spec.rb +0 -39
  417. data/spec/mongo/retryable_spec.rb +0 -623
  418. data/spec/mongo/semaphore_spec.rb +0 -54
  419. data/spec/mongo/server/app_metadata/environment_spec.rb +0 -344
  420. data/spec/mongo/server/app_metadata/truncator_spec.rb +0 -158
  421. data/spec/mongo/server/app_metadata_spec.rb +0 -158
  422. data/spec/mongo/server/connection_auth_spec.rb +0 -138
  423. data/spec/mongo/server/connection_common_spec.rb +0 -87
  424. data/spec/mongo/server/connection_pool/populator_spec.rb +0 -120
  425. data/spec/mongo/server/connection_pool_spec.rb +0 -1609
  426. data/spec/mongo/server/connection_spec.rb +0 -1310
  427. data/spec/mongo/server/description/features_spec.rb +0 -274
  428. data/spec/mongo/server/description_query_methods_spec.rb +0 -291
  429. data/spec/mongo/server/description_spec.rb +0 -846
  430. data/spec/mongo/server/monitor/app_metadata_spec.rb +0 -25
  431. data/spec/mongo/server/monitor/connection_spec.rb +0 -197
  432. data/spec/mongo/server/monitor_spec.rb +0 -326
  433. data/spec/mongo/server/push_monitor_spec.rb +0 -95
  434. data/spec/mongo/server/round_trip_time_averager_spec.rb +0 -48
  435. data/spec/mongo/server_selector/nearest_spec.rb +0 -338
  436. data/spec/mongo/server_selector/primary_preferred_spec.rb +0 -372
  437. data/spec/mongo/server_selector/primary_spec.rb +0 -181
  438. data/spec/mongo/server_selector/secondary_preferred_spec.rb +0 -350
  439. data/spec/mongo/server_selector/secondary_spec.rb +0 -278
  440. data/spec/mongo/server_selector_spec.rb +0 -736
  441. data/spec/mongo/server_spec.rb +0 -463
  442. data/spec/mongo/session/server_session_spec.rb +0 -62
  443. data/spec/mongo/session/session_pool_spec.rb +0 -257
  444. data/spec/mongo/session_spec.rb +0 -368
  445. data/spec/mongo/session_transaction_spec.rb +0 -222
  446. data/spec/mongo/socket/ssl_spec.rb +0 -840
  447. data/spec/mongo/socket/tcp_spec.rb +0 -17
  448. data/spec/mongo/socket/unix_spec.rb +0 -56
  449. data/spec/mongo/socket_spec.rb +0 -119
  450. data/spec/mongo/srv/monitor_spec.rb +0 -233
  451. data/spec/mongo/srv/result_spec.rb +0 -57
  452. data/spec/mongo/timeout_spec.rb +0 -42
  453. data/spec/mongo/tls_context_hooks_spec.rb +0 -40
  454. data/spec/mongo/uri/options_mapper_spec.rb +0 -1605
  455. data/spec/mongo/uri/srv_protocol_spec.rb +0 -1367
  456. data/spec/mongo/uri_option_parsing_spec.rb +0 -625
  457. data/spec/mongo/uri_spec.rb +0 -1443
  458. data/spec/mongo/utils_spec.rb +0 -42
  459. data/spec/mongo/write_concern/acknowledged_spec.rb +0 -58
  460. data/spec/mongo/write_concern/unacknowledged_spec.rb +0 -29
  461. data/spec/mongo/write_concern_spec.rb +0 -227
  462. data/spec/runners/auth.rb +0 -140
  463. data/spec/runners/change_streams/outcome.rb +0 -45
  464. data/spec/runners/change_streams/spec.rb +0 -60
  465. data/spec/runners/change_streams/test.rb +0 -232
  466. data/spec/runners/cmap/verifier.rb +0 -48
  467. data/spec/runners/cmap.rb +0 -516
  468. data/spec/runners/command_monitoring.rb +0 -346
  469. data/spec/runners/connection_string.rb +0 -393
  470. data/spec/runners/crud/operation.rb +0 -480
  471. data/spec/runners/crud/outcome.rb +0 -56
  472. data/spec/runners/crud/requirement.rb +0 -139
  473. data/spec/runners/crud/spec.rb +0 -76
  474. data/spec/runners/crud/test.rb +0 -115
  475. data/spec/runners/crud/test_base.rb +0 -53
  476. data/spec/runners/crud/verifier.rb +0 -222
  477. data/spec/runners/crud.rb +0 -257
  478. data/spec/runners/gridfs.rb +0 -641
  479. data/spec/runners/read_write_concern_document.rb +0 -70
  480. data/spec/runners/sdam/verifier.rb +0 -112
  481. data/spec/runners/sdam.rb +0 -279
  482. data/spec/runners/server_selection.rb +0 -365
  483. data/spec/runners/server_selection_rtt.rb +0 -41
  484. data/spec/runners/transactions/operation.rb +0 -334
  485. data/spec/runners/transactions/spec.rb +0 -29
  486. data/spec/runners/transactions/test.rb +0 -379
  487. data/spec/runners/transactions.rb +0 -107
  488. data/spec/runners/unified/assertions.rb +0 -392
  489. data/spec/runners/unified/change_stream_operations.rb +0 -52
  490. data/spec/runners/unified/client_side_encryption_operations.rb +0 -83
  491. data/spec/runners/unified/crud_operations.rb +0 -344
  492. data/spec/runners/unified/ddl_operations.rb +0 -255
  493. data/spec/runners/unified/entity_map.rb +0 -42
  494. data/spec/runners/unified/error.rb +0 -29
  495. data/spec/runners/unified/event_subscriber.rb +0 -110
  496. data/spec/runners/unified/exceptions.rb +0 -24
  497. data/spec/runners/unified/grid_fs_operations.rb +0 -79
  498. data/spec/runners/unified/search_index_operations.rb +0 -63
  499. data/spec/runners/unified/support_operations.rb +0 -331
  500. data/spec/runners/unified/test.rb +0 -594
  501. data/spec/runners/unified/test_group.rb +0 -31
  502. data/spec/runners/unified/thread_operations.rb +0 -73
  503. data/spec/runners/unified.rb +0 -109
  504. data/spec/solo/clean_exit_spec.rb +0 -22
  505. data/spec/spec_helper.rb +0 -35
  506. data/spec/spec_tests/auth_spec.rb +0 -58
  507. data/spec/spec_tests/change_streams_unified_spec.rb +0 -14
  508. data/spec/spec_tests/client_side_encryption_spec.rb +0 -37
  509. data/spec/spec_tests/client_side_encryption_unified_spec.rb +0 -26
  510. data/spec/spec_tests/cmap_spec.rb +0 -126
  511. data/spec/spec_tests/collection_management_spec.rb +0 -13
  512. data/spec/spec_tests/command_monitoring_unified_spec.rb +0 -13
  513. data/spec/spec_tests/connection_string_spec.rb +0 -10
  514. data/spec/spec_tests/crud_spec.rb +0 -12
  515. data/spec/spec_tests/crud_unified_spec.rb +0 -13
  516. data/spec/spec_tests/data/auth/connection-string.yml +0 -366
  517. data/spec/spec_tests/data/change_streams_unified/change-streams-clusterTime.yml +0 -41
  518. data/spec/spec_tests/data/change_streams_unified/change-streams-disambiguatedPaths.yml +0 -103
  519. data/spec/spec_tests/data/change_streams_unified/change-streams-errors.yml +0 -120
  520. data/spec/spec_tests/data/change_streams_unified/change-streams-pre_and_post_images.yml +0 -351
  521. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-allowlist.yml +0 -1169
  522. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-errorLabels.yml +0 -1069
  523. data/spec/spec_tests/data/change_streams_unified/change-streams-showExpandedEvents.yml +0 -307
  524. data/spec/spec_tests/data/change_streams_unified/change-streams.yml +0 -927
  525. data/spec/spec_tests/data/client_side_encryption/aggregate.yml +0 -120
  526. data/spec/spec_tests/data/client_side_encryption/awsTemporary.yml +0 -57
  527. data/spec/spec_tests/data/client_side_encryption/azureKMS.yml +0 -46
  528. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +0 -536
  529. data/spec/spec_tests/data/client_side_encryption/badSchema.yml +0 -73
  530. data/spec/spec_tests/data/client_side_encryption/basic.yml +0 -102
  531. data/spec/spec_tests/data/client_side_encryption/bulk.yml +0 -81
  532. data/spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml +0 -100
  533. data/spec/spec_tests/data/client_side_encryption/bypassedCommand.yml +0 -43
  534. data/spec/spec_tests/data/client_side_encryption/count.yml +0 -54
  535. data/spec/spec_tests/data/client_side_encryption/countDocuments.yml +0 -52
  536. data/spec/spec_tests/data/client_side_encryption/create-and-createIndexes.yml +0 -58
  537. data/spec/spec_tests/data/client_side_encryption/delete.yml +0 -91
  538. data/spec/spec_tests/data/client_side_encryption/distinct.yml +0 -66
  539. data/spec/spec_tests/data/client_side_encryption/explain.yml +0 -57
  540. data/spec/spec_tests/data/client_side_encryption/find.yml +0 -105
  541. data/spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml +0 -50
  542. data/spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml +0 -50
  543. data/spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml +0 -50
  544. data/spec/spec_tests/data/client_side_encryption/fle2v2-BypassQueryAnalysis.yml +0 -90
  545. data/spec/spec_tests/data/client_side_encryption/fle2v2-Compact.yml +0 -83
  546. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection-OldServer.yml +0 -61
  547. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection.yml +0 -938
  548. data/spec/spec_tests/data/client_side_encryption/fle2v2-DecryptExistingData.yml +0 -67
  549. data/spec/spec_tests/data/client_side_encryption/fle2v2-Delete.yml +0 -101
  550. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-EncryptedFieldsMap.yml +0 -80
  551. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-jsonSchema.yml +0 -103
  552. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFieldsMap-defaults.yml +0 -59
  553. data/spec/spec_tests/data/client_side_encryption/fle2v2-FindOneAndUpdate.yml +0 -201
  554. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Indexed.yml +0 -97
  555. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml +0 -90
  556. data/spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml +0 -44
  557. data/spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml +0 -45
  558. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml +0 -242
  559. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml +0 -423
  560. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml +0 -183
  561. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml +0 -240
  562. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml +0 -236
  563. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml +0 -253
  564. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml +0 -1688
  565. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml +0 -294
  566. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml +0 -906
  567. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml +0 -1685
  568. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml +0 -1681
  569. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml +0 -1698
  570. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml +0 -330
  571. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml +0 -425
  572. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml +0 -227
  573. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml +0 -328
  574. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml +0 -320
  575. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml +0 -337
  576. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml +0 -914
  577. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml +0 -293
  578. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml +0 -519
  579. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml +0 -912
  580. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml +0 -908
  581. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml +0 -925
  582. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml +0 -326
  583. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml +0 -425
  584. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml +0 -225
  585. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml +0 -324
  586. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml +0 -320
  587. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml +0 -339
  588. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml +0 -242
  589. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml +0 -424
  590. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml +0 -183
  591. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml +0 -240
  592. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml +0 -236
  593. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml +0 -255
  594. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml +0 -242
  595. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml +0 -423
  596. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml +0 -183
  597. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml +0 -240
  598. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml +0 -236
  599. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml +0 -255
  600. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml +0 -44
  601. data/spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml +0 -211
  602. data/spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml +0 -170
  603. data/spec/spec_tests/data/client_side_encryption/gcpKMS.yml +0 -46
  604. data/spec/spec_tests/data/client_side_encryption/getMore.yml +0 -61
  605. data/spec/spec_tests/data/client_side_encryption/insert.yml +0 -88
  606. data/spec/spec_tests/data/client_side_encryption/keyAltName.yml +0 -64
  607. data/spec/spec_tests/data/client_side_encryption/localKMS.yml +0 -47
  608. data/spec/spec_tests/data/client_side_encryption/localSchema.yml +0 -65
  609. data/spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml +0 -69
  610. data/spec/spec_tests/data/client_side_encryption/maxWireVersion.yml +0 -22
  611. data/spec/spec_tests/data/client_side_encryption/missingKey.yml +0 -42
  612. data/spec/spec_tests/data/client_side_encryption/noSchema.yml +0 -39
  613. data/spec/spec_tests/data/client_side_encryption/replaceOne.yml +0 -57
  614. data/spec/spec_tests/data/client_side_encryption/types.yml +0 -501
  615. data/spec/spec_tests/data/client_side_encryption/unified/addKeyAltName.yml +0 -194
  616. data/spec/spec_tests/data/client_side_encryption/unified/createDataKey-kms_providers-invalid.yml +0 -67
  617. data/spec/spec_tests/data/client_side_encryption/unified/createDataKey.yml +0 -309
  618. data/spec/spec_tests/data/client_side_encryption/unified/deleteKey.yml +0 -159
  619. data/spec/spec_tests/data/client_side_encryption/unified/getKey.yml +0 -105
  620. data/spec/spec_tests/data/client_side_encryption/unified/getKeyByAltName.yml +0 -104
  621. data/spec/spec_tests/data/client_side_encryption/unified/getKeys.yml +0 -122
  622. data/spec/spec_tests/data/client_side_encryption/unified/removeKeyAltName.yml +0 -157
  623. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey-decrypt_failure.yml +0 -69
  624. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey-encrypt_failure.yml +0 -122
  625. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey.yml +0 -432
  626. data/spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml +0 -25
  627. data/spec/spec_tests/data/client_side_encryption/updateMany.yml +0 -70
  628. data/spec/spec_tests/data/client_side_encryption/updateOne.yml +0 -164
  629. data/spec/spec_tests/data/client_side_encryption/validatorAndPartialFieldExpression.yml +0 -166
  630. data/spec/spec_tests/data/cmap/connection-must-have-id.yml +0 -29
  631. data/spec/spec_tests/data/cmap/connection-must-order-ids.yml +0 -29
  632. data/spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml +0 -29
  633. data/spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml +0 -29
  634. data/spec/spec_tests/data/cmap/pool-checkin-make-available.yml +0 -26
  635. data/spec/spec_tests/data/cmap/pool-checkin.yml +0 -24
  636. data/spec/spec_tests/data/cmap/pool-checkout-connection.yml +0 -21
  637. data/spec/spec_tests/data/cmap/pool-checkout-custom-maxConnecting-is-enforced.yml +0 -50
  638. data/spec/spec_tests/data/cmap/pool-checkout-error-closed.yml +0 -38
  639. data/spec/spec_tests/data/cmap/pool-checkout-maxConnecting-is-enforced.yml +0 -81
  640. data/spec/spec_tests/data/cmap/pool-checkout-maxConnecting-timeout.yml +0 -71
  641. data/spec/spec_tests/data/cmap/pool-checkout-minPoolSize-connection-maxConnecting.yml +0 -64
  642. data/spec/spec_tests/data/cmap/pool-checkout-multiple.yml +0 -39
  643. data/spec/spec_tests/data/cmap/pool-checkout-no-idle.yml +0 -41
  644. data/spec/spec_tests/data/cmap/pool-checkout-no-stale.yml +0 -41
  645. data/spec/spec_tests/data/cmap/pool-checkout-returned-connection-maxConnecting.yml +0 -88
  646. data/spec/spec_tests/data/cmap/pool-clear-interrupting-pending-connections.yml +0 -43
  647. data/spec/spec_tests/data/cmap/pool-clear-min-size.yml +0 -41
  648. data/spec/spec_tests/data/cmap/pool-clear-paused.yml +0 -18
  649. data/spec/spec_tests/data/cmap/pool-clear-ready.yml +0 -39
  650. data/spec/spec_tests/data/cmap/pool-clear-schedule-run-interruptInUseConnections-false.yml +0 -48
  651. data/spec/spec_tests/data/cmap/pool-close-destroy-conns.yml +0 -30
  652. data/spec/spec_tests/data/cmap/pool-close.yml +0 -11
  653. data/spec/spec_tests/data/cmap/pool-create-max-size.yml +0 -73
  654. data/spec/spec_tests/data/cmap/pool-create-min-size-error.yml +0 -43
  655. data/spec/spec_tests/data/cmap/pool-create-min-size.yml +0 -43
  656. data/spec/spec_tests/data/cmap/pool-create-with-options.yml +0 -21
  657. data/spec/spec_tests/data/cmap/pool-create.yml +0 -12
  658. data/spec/spec_tests/data/cmap/pool-ready-ready.yml +0 -22
  659. data/spec/spec_tests/data/cmap/pool-ready.yml +0 -30
  660. data/spec/spec_tests/data/cmap/wait-queue-fairness.yml +0 -126
  661. data/spec/spec_tests/data/cmap/wait-queue-timeout.yml +0 -51
  662. data/spec/spec_tests/data/collection_management/clustered-indexes.yml +0 -135
  663. data/spec/spec_tests/data/collection_management/createCollection-pre_and_post_images.yml +0 -50
  664. data/spec/spec_tests/data/collection_management/modifyCollection-errorResponse.yml +0 -59
  665. data/spec/spec_tests/data/collection_management/modifyCollection-pre_and_post_images.yml +0 -58
  666. data/spec/spec_tests/data/collection_management/timeseries-collection.yml +0 -164
  667. data/spec/spec_tests/data/command_monitoring_unified/bulkWrite.yml +0 -68
  668. data/spec/spec_tests/data/command_monitoring_unified/command.yml +0 -50
  669. data/spec/spec_tests/data/command_monitoring_unified/deleteMany.yml +0 -79
  670. data/spec/spec_tests/data/command_monitoring_unified/deleteOne.yml +0 -79
  671. data/spec/spec_tests/data/command_monitoring_unified/find.yml +0 -254
  672. data/spec/spec_tests/data/command_monitoring_unified/insertMany.yml +0 -79
  673. data/spec/spec_tests/data/command_monitoring_unified/insertOne.yml +0 -77
  674. data/spec/spec_tests/data/command_monitoring_unified/pre-42-server-connection-id.yml +0 -56
  675. data/spec/spec_tests/data/command_monitoring_unified/redacted-commands.yml +0 -348
  676. data/spec/spec_tests/data/command_monitoring_unified/server-connection-id.yml +0 -56
  677. data/spec/spec_tests/data/command_monitoring_unified/unacknowledgedBulkWrite.yml +0 -55
  678. data/spec/spec_tests/data/command_monitoring_unified/updateMany.yml +0 -87
  679. data/spec/spec_tests/data/command_monitoring_unified/updateOne.yml +0 -118
  680. data/spec/spec_tests/data/command_monitoring_unified/writeConcernError.yml +0 -80
  681. data/spec/spec_tests/data/connection_string/invalid-uris.yml +0 -251
  682. data/spec/spec_tests/data/connection_string/valid-auth.yml +0 -257
  683. data/spec/spec_tests/data/connection_string/valid-db-with-dotted-name.yml +0 -77
  684. data/spec/spec_tests/data/connection_string/valid-host_identifiers.yml +0 -121
  685. data/spec/spec_tests/data/connection_string/valid-options.yml +0 -30
  686. data/spec/spec_tests/data/connection_string/valid-unix_socket-absolute.yml +0 -197
  687. data/spec/spec_tests/data/connection_string/valid-unix_socket-relative.yml +0 -213
  688. data/spec/spec_tests/data/connection_string/valid-warnings.yml +0 -75
  689. data/spec/spec_tests/data/crud/read/aggregate-collation.yml +0 -18
  690. data/spec/spec_tests/data/crud/read/aggregate-out.yml +0 -44
  691. data/spec/spec_tests/data/crud/read/aggregate.yml +0 -21
  692. data/spec/spec_tests/data/crud/read/count-collation.yml +0 -26
  693. data/spec/spec_tests/data/crud/read/count-empty.yml +0 -29
  694. data/spec/spec_tests/data/crud/read/count.yml +0 -74
  695. data/spec/spec_tests/data/crud/read/distinct-collation.yml +0 -18
  696. data/spec/spec_tests/data/crud/read/distinct.yml +0 -32
  697. data/spec/spec_tests/data/crud/read/find-collation.yml +0 -16
  698. data/spec/spec_tests/data/crud/read/find.yml +0 -49
  699. data/spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml +0 -45
  700. data/spec/spec_tests/data/crud/write/bulkWrite-collation.yml +0 -102
  701. data/spec/spec_tests/data/crud/write/bulkWrite.yml +0 -405
  702. data/spec/spec_tests/data/crud/write/deleteMany-collation.yml +0 -23
  703. data/spec/spec_tests/data/crud/write/deleteMany.yml +0 -35
  704. data/spec/spec_tests/data/crud/write/deleteOne-collation.yml +0 -23
  705. data/spec/spec_tests/data/crud/write/deleteOne.yml +0 -48
  706. data/spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml +0 -24
  707. data/spec/spec_tests/data/crud/write/findOneAndDelete.yml +0 -53
  708. data/spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml +0 -25
  709. data/spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml +0 -91
  710. data/spec/spec_tests/data/crud/write/findOneAndReplace-upsert_pre_2.6.yml +0 -88
  711. data/spec/spec_tests/data/crud/write/findOneAndReplace.yml +0 -113
  712. data/spec/spec_tests/data/crud/write/findOneAndUpdate-arrayFilters.yml +0 -69
  713. data/spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml +0 -28
  714. data/spec/spec_tests/data/crud/write/findOneAndUpdate.yml +0 -163
  715. data/spec/spec_tests/data/crud/write/insertMany.yml +0 -81
  716. data/spec/spec_tests/data/crud/write/insertOne.yml +0 -18
  717. data/spec/spec_tests/data/crud/write/replaceOne-collation.yml +0 -25
  718. data/spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml +0 -98
  719. data/spec/spec_tests/data/crud/write/replaceOne-upsert.yml +0 -48
  720. data/spec/spec_tests/data/crud/write/replaceOne.yml +0 -102
  721. data/spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml +0 -66
  722. data/spec/spec_tests/data/crud/write/updateMany-collation.yml +0 -29
  723. data/spec/spec_tests/data/crud/write/updateMany-pre_2.6.yml +0 -86
  724. data/spec/spec_tests/data/crud/write/updateMany.yml +0 -87
  725. data/spec/spec_tests/data/crud/write/updateOne-arrayFilters.yml +0 -114
  726. data/spec/spec_tests/data/crud/write/updateOne-collation.yml +0 -26
  727. data/spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml +0 -83
  728. data/spec/spec_tests/data/crud/write/updateOne.yml +0 -84
  729. data/spec/spec_tests/data/crud_unified/aggregate-allowdiskuse.yml +0 -75
  730. data/spec/spec_tests/data/crud_unified/aggregate-let.yml +0 -138
  731. data/spec/spec_tests/data/crud_unified/aggregate-merge-errorResponse.yml +0 -42
  732. data/spec/spec_tests/data/crud_unified/aggregate-merge.yml +0 -185
  733. data/spec/spec_tests/data/crud_unified/aggregate-out-readConcern.yml +0 -171
  734. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +0 -157
  735. data/spec/spec_tests/data/crud_unified/aggregate.yml +0 -215
  736. data/spec/spec_tests/data/crud_unified/bulkWrite-arrayFilters-clientError.yml +0 -98
  737. data/spec/spec_tests/data/crud_unified/bulkWrite-arrayFilters.yml +0 -174
  738. data/spec/spec_tests/data/crud_unified/bulkWrite-comment.yml +0 -189
  739. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint-clientError.yml +0 -113
  740. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint-serverError.yml +0 -142
  741. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint.yml +0 -154
  742. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteMany-hint-unacknowledged.yml +0 -98
  743. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteMany-let.yml +0 -86
  744. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteOne-hint-unacknowledged.yml +0 -97
  745. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteOne-let.yml +0 -86
  746. data/spec/spec_tests/data/crud_unified/bulkWrite-errorResponse.yml +0 -50
  747. data/spec/spec_tests/data/crud_unified/bulkWrite-insertOne-dots_and_dollars.yml +0 -138
  748. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-dots_and_dollars.yml +0 -165
  749. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-hint-unacknowledged.yml +0 -103
  750. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-let.yml +0 -93
  751. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint-clientError.yml +0 -148
  752. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint-serverError.yml +0 -239
  753. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint.yml +0 -256
  754. data/spec/spec_tests/data/crud_unified/bulkWrite-update-validation.yml +0 -73
  755. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-dots_and_dollars.yml +0 -150
  756. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-hint-unacknowledged.yml +0 -104
  757. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-let.yml +0 -96
  758. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-dots_and_dollars.yml +0 -150
  759. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-hint-unacknowledged.yml +0 -103
  760. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-let.yml +0 -95
  761. data/spec/spec_tests/data/crud_unified/countDocuments-comment.yml +0 -92
  762. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +0 -153
  763. data/spec/spec_tests/data/crud_unified/db-aggregate.yml +0 -73
  764. data/spec/spec_tests/data/crud_unified/deleteMany-comment.yml +0 -97
  765. data/spec/spec_tests/data/crud_unified/deleteMany-hint-clientError.yml +0 -87
  766. data/spec/spec_tests/data/crud_unified/deleteMany-hint-serverError.yml +0 -107
  767. data/spec/spec_tests/data/crud_unified/deleteMany-hint-unacknowledged.yml +0 -90
  768. data/spec/spec_tests/data/crud_unified/deleteMany-hint.yml +0 -99
  769. data/spec/spec_tests/data/crud_unified/deleteMany-let.yml +0 -93
  770. data/spec/spec_tests/data/crud_unified/deleteOne-comment.yml +0 -98
  771. data/spec/spec_tests/data/crud_unified/deleteOne-errorResponse.yml +0 -46
  772. data/spec/spec_tests/data/crud_unified/deleteOne-hint-clientError.yml +0 -80
  773. data/spec/spec_tests/data/crud_unified/deleteOne-hint-serverError.yml +0 -100
  774. data/spec/spec_tests/data/crud_unified/deleteOne-hint-unacknowledged.yml +0 -89
  775. data/spec/spec_tests/data/crud_unified/deleteOne-hint.yml +0 -95
  776. data/spec/spec_tests/data/crud_unified/deleteOne-let.yml +0 -91
  777. data/spec/spec_tests/data/crud_unified/distinct-comment.yml +0 -98
  778. data/spec/spec_tests/data/crud_unified/estimatedDocumentCount-comment.yml +0 -95
  779. data/spec/spec_tests/data/crud_unified/estimatedDocumentCount.yml +0 -181
  780. data/spec/spec_tests/data/crud_unified/find-allowdiskuse-clientError.yml +0 -55
  781. data/spec/spec_tests/data/crud_unified/find-allowdiskuse-serverError.yml +0 -68
  782. data/spec/spec_tests/data/crud_unified/find-allowdiskuse.yml +0 -79
  783. data/spec/spec_tests/data/crud_unified/find-comment.yml +0 -166
  784. data/spec/spec_tests/data/crud_unified/find-let.yml +0 -71
  785. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +0 -348
  786. data/spec/spec_tests/data/crud_unified/find.yml +0 -68
  787. data/spec/spec_tests/data/crud_unified/findOneAndDelete-comment.yml +0 -96
  788. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-clientError.yml +0 -91
  789. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-serverError.yml +0 -107
  790. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-unacknowledged.yml +0 -88
  791. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint.yml +0 -102
  792. data/spec/spec_tests/data/crud_unified/findOneAndDelete-let.yml +0 -86
  793. data/spec/spec_tests/data/crud_unified/findOneAndReplace-comment.yml +0 -101
  794. data/spec/spec_tests/data/crud_unified/findOneAndReplace-dots_and_dollars.yml +0 -140
  795. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-clientError.yml +0 -83
  796. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-serverError.yml +0 -99
  797. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-unacknowledged.yml +0 -96
  798. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint.yml +0 -98
  799. data/spec/spec_tests/data/crud_unified/findOneAndReplace-let.yml +0 -94
  800. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-comment.yml +0 -95
  801. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-dots_and_dollars.yml +0 -127
  802. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-errorResponse.yml +0 -69
  803. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-clientError.yml +0 -84
  804. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-serverError.yml +0 -100
  805. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-unacknowledged.yml +0 -92
  806. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint.yml +0 -99
  807. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-let.yml +0 -96
  808. data/spec/spec_tests/data/crud_unified/insertMany-comment.yml +0 -93
  809. data/spec/spec_tests/data/crud_unified/insertMany-dots_and_dollars.yml +0 -128
  810. data/spec/spec_tests/data/crud_unified/insertOne-comment.yml +0 -91
  811. data/spec/spec_tests/data/crud_unified/insertOne-dots_and_dollars.yml +0 -238
  812. data/spec/spec_tests/data/crud_unified/insertOne-errorResponse.yml +0 -46
  813. data/spec/spec_tests/data/crud_unified/replaceOne-comment.yml +0 -105
  814. data/spec/spec_tests/data/crud_unified/replaceOne-dots_and_dollars.yml +0 -180
  815. data/spec/spec_tests/data/crud_unified/replaceOne-hint-unacknowledged.yml +0 -95
  816. data/spec/spec_tests/data/crud_unified/replaceOne-hint.yml +0 -108
  817. data/spec/spec_tests/data/crud_unified/replaceOne-let.yml +0 -98
  818. data/spec/spec_tests/data/crud_unified/replaceOne-validation.yml +0 -37
  819. data/spec/spec_tests/data/crud_unified/updateMany-comment.yml +0 -104
  820. data/spec/spec_tests/data/crud_unified/updateMany-dots_and_dollars.yml +0 -138
  821. data/spec/spec_tests/data/crud_unified/updateMany-hint-clientError.yml +0 -91
  822. data/spec/spec_tests/data/crud_unified/updateMany-hint-serverError.yml +0 -115
  823. data/spec/spec_tests/data/crud_unified/updateMany-hint-unacknowledged.yml +0 -96
  824. data/spec/spec_tests/data/crud_unified/updateMany-hint.yml +0 -115
  825. data/spec/spec_tests/data/crud_unified/updateMany-let.yml +0 -107
  826. data/spec/spec_tests/data/crud_unified/updateMany-validation.yml +0 -39
  827. data/spec/spec_tests/data/crud_unified/updateOne-comment.yml +0 -104
  828. data/spec/spec_tests/data/crud_unified/updateOne-dots_and_dollars.yml +0 -138
  829. data/spec/spec_tests/data/crud_unified/updateOne-errorResponse.yml +0 -47
  830. data/spec/spec_tests/data/crud_unified/updateOne-hint-clientError.yml +0 -85
  831. data/spec/spec_tests/data/crud_unified/updateOne-hint-serverError.yml +0 -109
  832. data/spec/spec_tests/data/crud_unified/updateOne-hint-unacknowledged.yml +0 -95
  833. data/spec/spec_tests/data/crud_unified/updateOne-hint.yml +0 -109
  834. data/spec/spec_tests/data/crud_unified/updateOne-let.yml +0 -102
  835. data/spec/spec_tests/data/crud_unified/updateOne-validation.yml +0 -37
  836. data/spec/spec_tests/data/crud_unified/updateWithPipelines.yml +0 -299
  837. data/spec/spec_tests/data/gridfs/delete.yml +0 -123
  838. data/spec/spec_tests/data/gridfs/download.yml +0 -192
  839. data/spec/spec_tests/data/gridfs/download_by_name.yml +0 -113
  840. data/spec/spec_tests/data/gridfs/upload.yml +0 -158
  841. data/spec/spec_tests/data/gridfs_unified/delete.yml +0 -198
  842. data/spec/spec_tests/data/gridfs_unified/download.yml +0 -241
  843. data/spec/spec_tests/data/gridfs_unified/downloadByName.yml +0 -159
  844. data/spec/spec_tests/data/gridfs_unified/upload-disableMD5.yml +0 -92
  845. data/spec/spec_tests/data/gridfs_unified/upload.yml +0 -288
  846. data/spec/spec_tests/data/index_management/createSearchIndex.yml +0 -64
  847. data/spec/spec_tests/data/index_management/createSearchIndexes.yml +0 -86
  848. data/spec/spec_tests/data/index_management/dropSearchIndex.yml +0 -43
  849. data/spec/spec_tests/data/index_management/listSearchIndexes.yml +0 -91
  850. data/spec/spec_tests/data/index_management/updateSearchIndex.yml +0 -46
  851. data/spec/spec_tests/data/load_balancers/event-monitoring.yml +0 -99
  852. data/spec/spec_tests/data/load_balancers/lb-connection-establishment.yml +0 -36
  853. data/spec/spec_tests/data/load_balancers/non-lb-connection-establishment.yml +0 -56
  854. data/spec/spec_tests/data/load_balancers/server-selection.yml +0 -50
  855. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml +0 -26
  856. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Incompatible.yml +0 -25
  857. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml +0 -33
  858. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/MaxStalenessTooSmall.yml +0 -15
  859. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml +0 -33
  860. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml +0 -33
  861. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml +0 -16
  862. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml +0 -27
  863. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml +0 -36
  864. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml +0 -51
  865. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml +0 -26
  866. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml +0 -51
  867. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml +0 -23
  868. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml +0 -26
  869. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Incompatible.yml +0 -25
  870. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml +0 -35
  871. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml +0 -29
  872. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml +0 -25
  873. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml +0 -26
  874. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml +0 -23
  875. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml +0 -33
  876. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml +0 -33
  877. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml +0 -36
  878. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml +0 -27
  879. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.yml +0 -27
  880. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml +0 -26
  881. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml +0 -59
  882. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml +0 -43
  883. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml +0 -59
  884. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml +0 -43
  885. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml +0 -23
  886. data/spec/spec_tests/data/max_staleness/Sharded/Incompatible.yml +0 -25
  887. data/spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml +0 -28
  888. data/spec/spec_tests/data/max_staleness/Single/Incompatible.yml +0 -18
  889. data/spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml +0 -20
  890. data/spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml +0 -15
  891. data/spec/spec_tests/data/read_write_concern/connection-string/read-concern.yml +0 -32
  892. data/spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml +0 -79
  893. data/spec/spec_tests/data/read_write_concern/document/read-concern.yml +0 -37
  894. data/spec/spec_tests/data/read_write_concern/document/write-concern.yml +0 -100
  895. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-2.6.yml +0 -215
  896. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.2.yml +0 -58
  897. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.4.yml +0 -95
  898. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-4.2.yml +0 -36
  899. data/spec/spec_tests/data/retryable_reads/legacy/aggregate-merge.yml +0 -39
  900. data/spec/spec_tests/data/retryable_reads/legacy/aggregate-serverErrors.yml +0 -157
  901. data/spec/spec_tests/data/retryable_reads/legacy/aggregate.yml +0 -87
  902. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-client.watch-serverErrors.yml +0 -150
  903. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-client.watch.yml +0 -62
  904. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.coll.watch-serverErrors.yml +0 -150
  905. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.coll.watch.yml +0 -66
  906. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.watch-serverErrors.yml +0 -154
  907. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.watch.yml +0 -62
  908. data/spec/spec_tests/data/retryable_reads/legacy/count-serverErrors.yml +0 -150
  909. data/spec/spec_tests/data/retryable_reads/legacy/count.yml +0 -64
  910. data/spec/spec_tests/data/retryable_reads/legacy/countDocuments-serverErrors.yml +0 -150
  911. data/spec/spec_tests/data/retryable_reads/legacy/countDocuments.yml +0 -64
  912. data/spec/spec_tests/data/retryable_reads/legacy/distinct-serverErrors.yml +0 -156
  913. data/spec/spec_tests/data/retryable_reads/legacy/distinct.yml +0 -71
  914. data/spec/spec_tests/data/retryable_reads/legacy/estimatedDocumentCount-serverErrors.yml +0 -148
  915. data/spec/spec_tests/data/retryable_reads/legacy/estimatedDocumentCount.yml +0 -62
  916. data/spec/spec_tests/data/retryable_reads/legacy/find-serverErrors.yml +0 -160
  917. data/spec/spec_tests/data/retryable_reads/legacy/find.yml +0 -86
  918. data/spec/spec_tests/data/retryable_reads/legacy/findOne-serverErrors.yml +0 -154
  919. data/spec/spec_tests/data/retryable_reads/legacy/findOne.yml +0 -68
  920. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-download-serverErrors.yml +0 -173
  921. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-download.yml +0 -79
  922. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-downloadByName-serverErrors.yml +0 -174
  923. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-downloadByName.yml +0 -79
  924. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionNames-serverErrors.yml +0 -143
  925. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionNames.yml +0 -59
  926. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionObjects-serverErrors.yml +0 -144
  927. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionObjects.yml +0 -59
  928. data/spec/spec_tests/data/retryable_reads/legacy/listCollections-serverErrors.yml +0 -143
  929. data/spec/spec_tests/data/retryable_reads/legacy/listCollections.yml +0 -59
  930. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseNames-serverErrors.yml +0 -143
  931. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseNames.yml +0 -59
  932. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseObjects-serverErrors.yml +0 -144
  933. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseObjects.yml +0 -59
  934. data/spec/spec_tests/data/retryable_reads/legacy/listDatabases-serverErrors.yml +0 -144
  935. data/spec/spec_tests/data/retryable_reads/legacy/listDatabases.yml +0 -59
  936. data/spec/spec_tests/data/retryable_reads/legacy/listIndexNames-serverErrors.yml +0 -144
  937. data/spec/spec_tests/data/retryable_reads/legacy/listIndexNames.yml +0 -60
  938. data/spec/spec_tests/data/retryable_reads/legacy/listIndexes-serverErrors.yml +0 -145
  939. data/spec/spec_tests/data/retryable_reads/legacy/listIndexes.yml +0 -60
  940. data/spec/spec_tests/data/retryable_reads/legacy/mapReduce.yml +0 -62
  941. data/spec/spec_tests/data/retryable_reads/unified/handshakeError.yml +0 -1342
  942. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite-errorLabels.yml +0 -77
  943. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite-serverErrors.yml +0 -130
  944. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite.yml +0 -402
  945. data/spec/spec_tests/data/retryable_writes/legacy/deleteMany.yml +0 -22
  946. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne-errorLabels.yml +0 -48
  947. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne-serverErrors.yml +0 -73
  948. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne.yml +0 -57
  949. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete-errorLabels.yml +0 -49
  950. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete-serverErrors.yml +0 -74
  951. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete.yml +0 -58
  952. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace-errorLabels.yml +0 -52
  953. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace-serverErrors.yml +0 -80
  954. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace.yml +0 -63
  955. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate-errorLabels.yml +0 -52
  956. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate-serverErrors.yml +0 -79
  957. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate.yml +0 -62
  958. data/spec/spec_tests/data/retryable_writes/legacy/insertMany-errorLabels.yml +0 -54
  959. data/spec/spec_tests/data/retryable_writes/legacy/insertMany-serverErrors.yml +0 -84
  960. data/spec/spec_tests/data/retryable_writes/legacy/insertMany.yml +0 -74
  961. data/spec/spec_tests/data/retryable_writes/legacy/insertOne-errorLabels.yml +0 -44
  962. data/spec/spec_tests/data/retryable_writes/legacy/insertOne-serverErrors.yml +0 -527
  963. data/spec/spec_tests/data/retryable_writes/legacy/insertOne.yml +0 -61
  964. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne-errorLabels.yml +0 -53
  965. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne-serverErrors.yml +0 -82
  966. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne.yml +0 -66
  967. data/spec/spec_tests/data/retryable_writes/legacy/updateMany.yml +0 -27
  968. data/spec/spec_tests/data/retryable_writes/legacy/updateOne-errorLabels.yml +0 -53
  969. data/spec/spec_tests/data/retryable_writes/legacy/updateOne-serverErrors.yml +0 -82
  970. data/spec/spec_tests/data/retryable_writes/legacy/updateOne.yml +0 -129
  971. data/spec/spec_tests/data/retryable_writes/unified/bulkWrite-serverErrors.yml +0 -93
  972. data/spec/spec_tests/data/retryable_writes/unified/handshakeError.yml +0 -785
  973. data/spec/spec_tests/data/retryable_writes/unified/insertOne-noWritesPerformedError.yml +0 -54
  974. data/spec/spec_tests/data/retryable_writes/unified/insertOne-serverErrors.yml +0 -75
  975. data/spec/spec_tests/data/run_command_unified/runCommand.yml +0 -319
  976. data/spec/spec_tests/data/sdam/errors/error_handling_handshake.yml +0 -55
  977. data/spec/spec_tests/data/sdam/errors/non-stale-network-error.yml +0 -47
  978. data/spec/spec_tests/data/sdam/errors/non-stale-network-timeout-error.yml +0 -38
  979. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedAtShutdown.yml +0 -61
  980. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedDueToReplStateChange.yml +0 -61
  981. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-LegacyNotPrimary.yml +0 -61
  982. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotPrimaryNoSecondaryOk.yml +0 -61
  983. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotPrimaryOrSecondary.yml +0 -61
  984. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotWritablePrimary.yml +0 -61
  985. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-PrimarySteppedDown.yml +0 -61
  986. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-ShutdownInProgress.yml +0 -61
  987. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedAtShutdown.yml +0 -52
  988. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedDueToReplStateChange.yml +0 -52
  989. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-LegacyNotPrimary.yml +0 -52
  990. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotPrimaryNoSecondaryOk.yml +0 -52
  991. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotPrimaryOrSecondary.yml +0 -52
  992. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotWritablePrimary.yml +0 -52
  993. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-PrimarySteppedDown.yml +0 -52
  994. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-ShutdownInProgress.yml +0 -52
  995. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedAtShutdown.yml +0 -61
  996. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedDueToReplStateChange.yml +0 -61
  997. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-LegacyNotPrimary.yml +0 -61
  998. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotPrimaryNoSecondaryOk.yml +0 -61
  999. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotPrimaryOrSecondary.yml +0 -61
  1000. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotWritablePrimary.yml +0 -61
  1001. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-PrimarySteppedDown.yml +0 -61
  1002. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-ShutdownInProgress.yml +0 -61
  1003. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedAtShutdown.yml +0 -47
  1004. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedDueToReplStateChange.yml +0 -47
  1005. data/spec/spec_tests/data/sdam/errors/post-42-LegacyNotPrimary.yml +0 -47
  1006. data/spec/spec_tests/data/sdam/errors/post-42-NotPrimaryNoSecondaryOk.yml +0 -47
  1007. data/spec/spec_tests/data/sdam/errors/post-42-NotPrimaryOrSecondary.yml +0 -47
  1008. data/spec/spec_tests/data/sdam/errors/post-42-NotWritablePrimary.yml +0 -47
  1009. data/spec/spec_tests/data/sdam/errors/post-42-PrimarySteppedDown.yml +0 -47
  1010. data/spec/spec_tests/data/sdam/errors/post-42-ShutdownInProgress.yml +0 -47
  1011. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedAtShutdown.yml +0 -47
  1012. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedDueToReplStateChange.yml +0 -47
  1013. data/spec/spec_tests/data/sdam/errors/pre-42-LegacyNotPrimary.yml +0 -47
  1014. data/spec/spec_tests/data/sdam/errors/pre-42-NotPrimaryNoSecondaryOk.yml +0 -47
  1015. data/spec/spec_tests/data/sdam/errors/pre-42-NotPrimaryOrSecondary.yml +0 -47
  1016. data/spec/spec_tests/data/sdam/errors/pre-42-NotWritablePrimary.yml +0 -47
  1017. data/spec/spec_tests/data/sdam/errors/pre-42-PrimarySteppedDown.yml +0 -47
  1018. data/spec/spec_tests/data/sdam/errors/pre-42-ShutdownInProgress.yml +0 -47
  1019. data/spec/spec_tests/data/sdam/errors/prefer-error-code.yml +0 -54
  1020. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedAtShutdown.yml +0 -91
  1021. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedDueToReplStateChange.yml +0 -91
  1022. data/spec/spec_tests/data/sdam/errors/stale-generation-NotPrimaryNoSecondaryOk.yml +0 -91
  1023. data/spec/spec_tests/data/sdam/errors/stale-generation-NotPrimaryOrSecondary.yml +0 -91
  1024. data/spec/spec_tests/data/sdam/errors/stale-generation-NotWritablePrimary.yml +0 -91
  1025. data/spec/spec_tests/data/sdam/errors/stale-generation-PrimarySteppedDown.yml +0 -91
  1026. data/spec/spec_tests/data/sdam/errors/stale-generation-ShutdownInProgress.yml +0 -91
  1027. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedAtShutdown.yml +0 -91
  1028. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedDueToReplStateChange.yml +0 -91
  1029. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-LegacyNotPrimary.yml +0 -91
  1030. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotPrimaryNoSecondaryOk.yml +0 -91
  1031. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotPrimaryOrSecondary.yml +0 -91
  1032. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotWritablePrimary.yml +0 -91
  1033. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-PrimarySteppedDown.yml +0 -91
  1034. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-ShutdownInProgress.yml +0 -91
  1035. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-network.yml +0 -82
  1036. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-timeout.yml +0 -82
  1037. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedAtShutdown.yml +0 -91
  1038. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedDueToReplStateChange.yml +0 -91
  1039. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-LegacyNotPrimary.yml +0 -91
  1040. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotPrimaryNoSecondaryOk.yml +0 -91
  1041. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotPrimaryOrSecondary.yml +0 -91
  1042. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotWritablePrimary.yml +0 -91
  1043. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-PrimarySteppedDown.yml +0 -91
  1044. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-ShutdownInProgress.yml +0 -91
  1045. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-network.yml +0 -82
  1046. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-timeout.yml +0 -82
  1047. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedAtShutdown.yml +0 -65
  1048. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedDueToReplStateChange.yml +0 -65
  1049. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-LegacyNotPrimary.yml +0 -65
  1050. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotPrimaryNoSecondaryOk.yml +0 -65
  1051. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotPrimaryOrSecondary.yml +0 -65
  1052. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotWritablePrimary.yml +0 -65
  1053. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-PrimarySteppedDown.yml +0 -65
  1054. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-ShutdownInProgress.yml +0 -65
  1055. data/spec/spec_tests/data/sdam/errors/write_errors_ignored.yml +0 -42
  1056. data/spec/spec_tests/data/sdam/load-balanced/discover_load_balancer.yml +0 -25
  1057. data/spec/spec_tests/data/sdam/rs/compatible.yml +0 -45
  1058. data/spec/spec_tests/data/sdam/rs/compatible_unknown.yml +0 -34
  1059. data/spec/spec_tests/data/sdam/rs/discover_arbiters.yml +0 -44
  1060. data/spec/spec_tests/data/sdam/rs/discover_arbiters_replicaset.yml +0 -44
  1061. data/spec/spec_tests/data/sdam/rs/discover_ghost.yml +0 -36
  1062. data/spec/spec_tests/data/sdam/rs/discover_ghost_replicaset.yml +0 -42
  1063. data/spec/spec_tests/data/sdam/rs/discover_hidden.yml +0 -51
  1064. data/spec/spec_tests/data/sdam/rs/discover_hidden_replicaset.yml +0 -51
  1065. data/spec/spec_tests/data/sdam/rs/discover_passives.yml +0 -83
  1066. data/spec/spec_tests/data/sdam/rs/discover_passives_replicaset.yml +0 -83
  1067. data/spec/spec_tests/data/sdam/rs/discover_primary.yml +0 -43
  1068. data/spec/spec_tests/data/sdam/rs/discover_primary_replicaset.yml +0 -43
  1069. data/spec/spec_tests/data/sdam/rs/discover_rsother.yml +0 -50
  1070. data/spec/spec_tests/data/sdam/rs/discover_rsother_replicaset.yml +0 -68
  1071. data/spec/spec_tests/data/sdam/rs/discover_secondary.yml +0 -44
  1072. data/spec/spec_tests/data/sdam/rs/discover_secondary_replicaset.yml +0 -44
  1073. data/spec/spec_tests/data/sdam/rs/discovery.yml +0 -207
  1074. data/spec/spec_tests/data/sdam/rs/electionId_precedence_setVersion.yml +0 -62
  1075. data/spec/spec_tests/data/sdam/rs/equal_electionids.yml +0 -57
  1076. data/spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml +0 -37
  1077. data/spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml +0 -36
  1078. data/spec/spec_tests/data/sdam/rs/incompatible_ghost.yml +0 -34
  1079. data/spec/spec_tests/data/sdam/rs/incompatible_other.yml +0 -36
  1080. data/spec/spec_tests/data/sdam/rs/ls_timeout.yml +0 -249
  1081. data/spec/spec_tests/data/sdam/rs/member_reconfig.yml +0 -74
  1082. data/spec/spec_tests/data/sdam/rs/member_standalone.yml +0 -66
  1083. data/spec/spec_tests/data/sdam/rs/new_primary.yml +0 -80
  1084. data/spec/spec_tests/data/sdam/rs/new_primary_new_electionid.yml +0 -119
  1085. data/spec/spec_tests/data/sdam/rs/new_primary_new_setversion.yml +0 -119
  1086. data/spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml +0 -77
  1087. data/spec/spec_tests/data/sdam/rs/non_rs_member.yml +0 -33
  1088. data/spec/spec_tests/data/sdam/rs/normalize_case.yml +0 -52
  1089. data/spec/spec_tests/data/sdam/rs/normalize_case_me.yml +0 -102
  1090. data/spec/spec_tests/data/sdam/rs/null_election_id-pre-6.0.yml +0 -175
  1091. data/spec/spec_tests/data/sdam/rs/null_election_id.yml +0 -177
  1092. data/spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml +0 -65
  1093. data/spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml +0 -58
  1094. data/spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml +0 -55
  1095. data/spec/spec_tests/data/sdam/rs/primary_changes_set_name.yml +0 -63
  1096. data/spec/spec_tests/data/sdam/rs/primary_disconnect.yml +0 -59
  1097. data/spec/spec_tests/data/sdam/rs/primary_disconnect_electionid.yml +0 -189
  1098. data/spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml +0 -189
  1099. data/spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml +0 -64
  1100. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml +0 -27
  1101. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml +0 -75
  1102. data/spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml +0 -175
  1103. data/spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml +0 -81
  1104. data/spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml +0 -30
  1105. data/spec/spec_tests/data/sdam/rs/repeated.yml +0 -105
  1106. data/spec/spec_tests/data/sdam/rs/replicaset_rsnp.yml +0 -21
  1107. data/spec/spec_tests/data/sdam/rs/response_from_removed.yml +0 -69
  1108. data/spec/spec_tests/data/sdam/rs/ruby_primary_address_change.yml +0 -31
  1109. data/spec/spec_tests/data/sdam/rs/ruby_secondary_wrong_set_name_with_primary_second.yml +0 -73
  1110. data/spec/spec_tests/data/sdam/rs/sec_not_auth.yml +0 -55
  1111. data/spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0-pre-6.0.yml +0 -87
  1112. data/spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml +0 -87
  1113. data/spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml +0 -28
  1114. data/spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml +0 -31
  1115. data/spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary.yml +0 -75
  1116. data/spec/spec_tests/data/sdam/rs/set_version_can_rollback.yml +0 -101
  1117. data/spec/spec_tests/data/sdam/rs/setversion_equal_max_without_electionid.yml +0 -78
  1118. data/spec/spec_tests/data/sdam/rs/setversion_greaterthan_max_without_electionid.yml +0 -79
  1119. data/spec/spec_tests/data/sdam/rs/setversion_without_electionid-pre-6.0.yml +0 -79
  1120. data/spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml +0 -78
  1121. data/spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml +0 -65
  1122. data/spec/spec_tests/data/sdam/rs/too_new.yml +0 -45
  1123. data/spec/spec_tests/data/sdam/rs/too_old.yml +0 -41
  1124. data/spec/spec_tests/data/sdam/rs/topology_version_equal.yml +0 -68
  1125. data/spec/spec_tests/data/sdam/rs/topology_version_greater.yml +0 -194
  1126. data/spec/spec_tests/data/sdam/rs/topology_version_less.yml +0 -64
  1127. data/spec/spec_tests/data/sdam/rs/unexpected_mongos.yml +0 -29
  1128. data/spec/spec_tests/data/sdam/rs/use_setversion_without_electionid-pre-6.0.yml +0 -117
  1129. data/spec/spec_tests/data/sdam/rs/use_setversion_without_electionid.yml +0 -119
  1130. data/spec/spec_tests/data/sdam/rs/wrong_set_name.yml +0 -38
  1131. data/spec/spec_tests/data/sdam/sharded/compatible.yml +0 -40
  1132. data/spec/spec_tests/data/sdam/sharded/discover_single_mongos.yml +0 -24
  1133. data/spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml +0 -101
  1134. data/spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml +0 -113
  1135. data/spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml +0 -52
  1136. data/spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml +0 -47
  1137. data/spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml +0 -32
  1138. data/spec/spec_tests/data/sdam/sharded/ruby_primary_different_address.yml +0 -21
  1139. data/spec/spec_tests/data/sdam/sharded/ruby_primary_mismatched_me.yml +0 -22
  1140. data/spec/spec_tests/data/sdam/sharded/too_new.yml +0 -38
  1141. data/spec/spec_tests/data/sdam/sharded/too_old.yml +0 -38
  1142. data/spec/spec_tests/data/sdam/single/compatible.yml +0 -27
  1143. data/spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml +0 -37
  1144. data/spec/spec_tests/data/sdam/single/direct_connection_mongos.yml +0 -36
  1145. data/spec/spec_tests/data/sdam/single/direct_connection_replicaset.yml +0 -23
  1146. data/spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml +0 -38
  1147. data/spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml +0 -37
  1148. data/spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml +0 -38
  1149. data/spec/spec_tests/data/sdam/single/direct_connection_standalone.yml +0 -35
  1150. data/spec/spec_tests/data/sdam/single/direct_connection_unavailable_seed.yml +0 -28
  1151. data/spec/spec_tests/data/sdam/single/direct_connection_wrong_set_name.yml +0 -40
  1152. data/spec/spec_tests/data/sdam/single/discover_standalone.yml +0 -35
  1153. data/spec/spec_tests/data/sdam/single/discover_unavailable_seed.yml +0 -28
  1154. data/spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml +0 -36
  1155. data/spec/spec_tests/data/sdam/single/not_ok_response.yml +0 -44
  1156. data/spec/spec_tests/data/sdam/single/ruby_primary_different_address.yml +0 -24
  1157. data/spec/spec_tests/data/sdam/single/ruby_primary_mismatched_me.yml +0 -25
  1158. data/spec/spec_tests/data/sdam/single/standalone_removed.yml +0 -35
  1159. data/spec/spec_tests/data/sdam/single/standalone_using_legacy_hello.yml +0 -34
  1160. data/spec/spec_tests/data/sdam/single/too_new.yml +0 -27
  1161. data/spec/spec_tests/data/sdam/single/too_old.yml +0 -25
  1162. data/spec/spec_tests/data/sdam/single/too_old_then_upgraded.yml +0 -48
  1163. data/spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml +0 -70
  1164. data/spec/spec_tests/data/sdam_monitoring/load_balancer.yml +0 -65
  1165. data/spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml +0 -222
  1166. data/spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml +0 -225
  1167. data/spec/spec_tests/data/sdam_monitoring/replica_set_primary_address_change.yml +0 -251
  1168. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml +0 -111
  1169. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml +0 -112
  1170. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml +0 -111
  1171. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml +0 -198
  1172. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml +0 -175
  1173. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml +0 -111
  1174. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml +0 -106
  1175. data/spec/spec_tests/data/sdam_monitoring/required_replica_set.yml +0 -108
  1176. data/spec/spec_tests/data/sdam_monitoring/standalone.yml +0 -70
  1177. data/spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml +0 -86
  1178. data/spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml +0 -73
  1179. data/spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml +0 -90
  1180. data/spec/spec_tests/data/sdam_unified/auth-error.yml +0 -130
  1181. data/spec/spec_tests/data/sdam_unified/auth-misc-command-error.yml +0 -132
  1182. data/spec/spec_tests/data/sdam_unified/auth-network-error.yml +0 -132
  1183. data/spec/spec_tests/data/sdam_unified/auth-network-timeout-error.yml +0 -138
  1184. data/spec/spec_tests/data/sdam_unified/auth-shutdown-error.yml +0 -133
  1185. data/spec/spec_tests/data/sdam_unified/cancel-server-check.yml +0 -143
  1186. data/spec/spec_tests/data/sdam_unified/connectTimeoutMS.yml +0 -130
  1187. data/spec/spec_tests/data/sdam_unified/find-network-error.yml +0 -135
  1188. data/spec/spec_tests/data/sdam_unified/find-network-timeout-error.yml +0 -119
  1189. data/spec/spec_tests/data/sdam_unified/find-shutdown-error.yml +0 -163
  1190. data/spec/spec_tests/data/sdam_unified/hello-command-error.yml +0 -233
  1191. data/spec/spec_tests/data/sdam_unified/hello-network-error.yml +0 -228
  1192. data/spec/spec_tests/data/sdam_unified/hello-timeout.yml +0 -318
  1193. data/spec/spec_tests/data/sdam_unified/insert-network-error.yml +0 -137
  1194. data/spec/spec_tests/data/sdam_unified/insert-shutdown-error.yml +0 -162
  1195. data/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml +0 -340
  1196. data/spec/spec_tests/data/sdam_unified/minPoolSize-error.yml +0 -125
  1197. data/spec/spec_tests/data/sdam_unified/pool-cleared-error.yml +0 -239
  1198. data/spec/spec_tests/data/sdam_unified/rediscover-quickly-after-step-down.yml +0 -144
  1199. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-directConnection.yml +0 -14
  1200. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-no-results.yml +0 -5
  1201. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-replicaSet-errors.yml +0 -6
  1202. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-multiple-hosts.yml +0 -5
  1203. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-txt.yml +0 -11
  1204. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-conflicts_with_loadBalanced-true-txt.yml +0 -5
  1205. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-conflicts_with_loadBalanced-true.yml +0 -5
  1206. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-zero-txt.yml +0 -11
  1207. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-zero.yml +0 -11
  1208. data/spec/spec_tests/data/seed_list_discovery/replica-set/direct-connection-false.yml +0 -10
  1209. data/spec/spec_tests/data/seed_list_discovery/replica-set/direct-connection-true.yml +0 -5
  1210. data/spec/spec_tests/data/seed_list_discovery/replica-set/encoded-userinfo-and-db.yml +0 -15
  1211. data/spec/spec_tests/data/seed_list_discovery/replica-set/loadBalanced-false-txt.yml +0 -10
  1212. data/spec/spec_tests/data/seed_list_discovery/replica-set/longer-parent-in-return.yml +0 -11
  1213. data/spec/spec_tests/data/seed_list_discovery/replica-set/misformatted-option.yml +0 -5
  1214. data/spec/spec_tests/data/seed_list_discovery/replica-set/no-results.yml +0 -5
  1215. data/spec/spec_tests/data/seed_list_discovery/replica-set/not-enough-parts.yml +0 -5
  1216. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-result-default-port.yml +0 -10
  1217. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-txt-record-multiple-strings.yml +0 -10
  1218. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-txt-record.yml +0 -11
  1219. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch1.yml +0 -5
  1220. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch2.yml +0 -5
  1221. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch3.yml +0 -5
  1222. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch4.yml +0 -5
  1223. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch5.yml +0 -5
  1224. data/spec/spec_tests/data/seed_list_discovery/replica-set/returned-parent-too-short.yml +0 -5
  1225. data/spec/spec_tests/data/seed_list_discovery/replica-set/returned-parent-wrong.yml +0 -5
  1226. data/spec/spec_tests/data/seed_list_discovery/replica-set/srv-service-name.yml +0 -11
  1227. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-conflicts_with_replicaSet-txt.yml +0 -5
  1228. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-conflicts_with_replicaSet.yml +0 -5
  1229. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-equal_to_srv_records.yml +0 -16
  1230. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-greater_than_srv_records.yml +0 -15
  1231. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-less_than_srv_records.yml +0 -15
  1232. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-zero-txt.yml +0 -15
  1233. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-zero.yml +0 -15
  1234. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-results-default-port.yml +0 -11
  1235. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-results-nonstandard-port.yml +0 -11
  1236. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-txt-records.yml +0 -5
  1237. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-not-allowed-option.yml +0 -5
  1238. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-overridden-ssl-option.yml +0 -11
  1239. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-overridden-uri-option.yml +0 -11
  1240. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-unallowed-option.yml +0 -5
  1241. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-admin-database.yml +0 -13
  1242. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-auth.yml +0 -12
  1243. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-port.yml +0 -5
  1244. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-two-hosts.yml +0 -5
  1245. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-equal_to_srv_records.yml +0 -13
  1246. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-greater_than_srv_records.yml +0 -12
  1247. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-less_than_srv_records.yml +0 -10
  1248. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-zero.yml +0 -11
  1249. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml +0 -25
  1250. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml +0 -26
  1251. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml +0 -20
  1252. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimary.yml +0 -15
  1253. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest.yml +0 -15
  1254. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Primary.yml +0 -18
  1255. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml +0 -25
  1256. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml +0 -20
  1257. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary.yml +0 -25
  1258. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml +0 -25
  1259. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml +0 -20
  1260. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.yml +0 -31
  1261. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.yml +0 -31
  1262. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml +0 -20
  1263. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest.yml +0 -32
  1264. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.yml +0 -33
  1265. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml +0 -25
  1266. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Primary.yml +0 -26
  1267. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml +0 -28
  1268. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml +0 -28
  1269. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary.yml +0 -30
  1270. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred.yml +0 -30
  1271. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching.yml +0 -28
  1272. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.yml +0 -28
  1273. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching.yml +0 -25
  1274. data/spec/spec_tests/data/server_selection/Sharded/read/Nearest.yml +0 -21
  1275. data/spec/spec_tests/data/server_selection/Sharded/read/Primary.yml +0 -19
  1276. data/spec/spec_tests/data/server_selection/Sharded/read/PrimaryPreferred.yml +0 -21
  1277. data/spec/spec_tests/data/server_selection/Sharded/read/Secondary.yml +0 -21
  1278. data/spec/spec_tests/data/server_selection/Sharded/read/SecondaryPreferred.yml +0 -21
  1279. data/spec/spec_tests/data/server_selection/Single/read/SecondaryPreferred.yml +0 -18
  1280. data/spec/spec_tests/data/server_selection/Unknown/read/SecondaryPreferred.yml +0 -10
  1281. data/spec/spec_tests/data/server_selection/Unknown/read/ghost.yml +0 -11
  1282. data/spec/spec_tests/data/server_selection/Unknown/write/ghost.yml +0 -11
  1283. data/spec/spec_tests/data/server_selection_rtt/first_value.yml +0 -4
  1284. data/spec/spec_tests/data/server_selection_rtt/first_value_zero.yml +0 -4
  1285. data/spec/spec_tests/data/server_selection_rtt/value_test_1.yml +0 -4
  1286. data/spec/spec_tests/data/server_selection_rtt/value_test_2.yml +0 -4
  1287. data/spec/spec_tests/data/server_selection_rtt/value_test_3.yml +0 -4
  1288. data/spec/spec_tests/data/server_selection_rtt/value_test_4.yml +0 -4
  1289. data/spec/spec_tests/data/server_selection_rtt/value_test_5.yml +0 -4
  1290. data/spec/spec_tests/data/sessions_unified/driver-sessions-dirty-session-errors.yml +0 -351
  1291. data/spec/spec_tests/data/sessions_unified/driver-sessions-server-support.yml +0 -123
  1292. data/spec/spec_tests/data/sessions_unified/implicit-sessions-default-causal-consistency.yml +0 -119
  1293. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-client-error.yml +0 -75
  1294. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-server-error.yml +0 -102
  1295. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-unsupported-ops.yml +0 -258
  1296. data/spec/spec_tests/data/sessions_unified/snapshot-sessions.yml +0 -482
  1297. data/spec/spec_tests/data/transactions/abort.yml +0 -413
  1298. data/spec/spec_tests/data/transactions/bulk.yml +0 -267
  1299. data/spec/spec_tests/data/transactions/causal-consistency.yml +0 -175
  1300. data/spec/spec_tests/data/transactions/commit.yml +0 -603
  1301. data/spec/spec_tests/data/transactions/count.yml +0 -67
  1302. data/spec/spec_tests/data/transactions/create-collection.yml +0 -131
  1303. data/spec/spec_tests/data/transactions/create-index.yml +0 -152
  1304. data/spec/spec_tests/data/transactions/delete.yml +0 -192
  1305. data/spec/spec_tests/data/transactions/error-labels.yml +0 -1030
  1306. data/spec/spec_tests/data/transactions/errors-client.yml +0 -55
  1307. data/spec/spec_tests/data/transactions/errors.yml +0 -133
  1308. data/spec/spec_tests/data/transactions/findOneAndDelete.yml +0 -134
  1309. data/spec/spec_tests/data/transactions/findOneAndReplace.yml +0 -148
  1310. data/spec/spec_tests/data/transactions/findOneAndUpdate.yml +0 -236
  1311. data/spec/spec_tests/data/transactions/insert.yml +0 -390
  1312. data/spec/spec_tests/data/transactions/isolation.yml +0 -133
  1313. data/spec/spec_tests/data/transactions/mongos-pin-auto.yml +0 -1674
  1314. data/spec/spec_tests/data/transactions/mongos-recovery-token.yml +0 -350
  1315. data/spec/spec_tests/data/transactions/pin-mongos.yml +0 -559
  1316. data/spec/spec_tests/data/transactions/read-concern.yml +0 -623
  1317. data/spec/spec_tests/data/transactions/read-pref.yml +0 -348
  1318. data/spec/spec_tests/data/transactions/reads.yml +0 -261
  1319. data/spec/spec_tests/data/transactions/retryable-abort-errorLabels.yml +0 -124
  1320. data/spec/spec_tests/data/transactions/retryable-abort.yml +0 -1315
  1321. data/spec/spec_tests/data/transactions/retryable-commit-errorLabels.yml +0 -132
  1322. data/spec/spec_tests/data/transactions/retryable-commit.yml +0 -1460
  1323. data/spec/spec_tests/data/transactions/retryable-writes.yml +0 -216
  1324. data/spec/spec_tests/data/transactions/run-command.yml +0 -197
  1325. data/spec/spec_tests/data/transactions/transaction-options-repl.yml +0 -117
  1326. data/spec/spec_tests/data/transactions/transaction-options.yml +0 -781
  1327. data/spec/spec_tests/data/transactions/update.yml +0 -246
  1328. data/spec/spec_tests/data/transactions/write-concern.yml +0 -554
  1329. data/spec/spec_tests/data/transactions_api/callback-aborts.yml +0 -170
  1330. data/spec/spec_tests/data/transactions_api/callback-commits.yml +0 -204
  1331. data/spec/spec_tests/data/transactions_api/callback-retry.yml +0 -215
  1332. data/spec/spec_tests/data/transactions_api/commit-retry.yml +0 -324
  1333. data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml +0 -139
  1334. data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml +0 -175
  1335. data/spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml +0 -216
  1336. data/spec/spec_tests/data/transactions_api/commit.yml +0 -193
  1337. data/spec/spec_tests/data/transactions_api/transaction-options.yml +0 -274
  1338. data/spec/spec_tests/data/transactions_unified/do-not-retry-read-in-transaction.yml +0 -64
  1339. data/spec/spec_tests/data/transactions_unified/mongos-unpin.yml +0 -172
  1340. data/spec/spec_tests/data/transactions_unified/retryable-abort-handshake.yml +0 -118
  1341. data/spec/spec_tests/data/transactions_unified/retryable-commit-handshake.yml +0 -118
  1342. data/spec/spec_tests/data/unified/valid-fail/entity-findCursor-malformed.yml +0 -31
  1343. data/spec/spec_tests/data/unified/valid-fail/entity-findCursor.yml +0 -31
  1344. data/spec/spec_tests/data/unified/valid-fail/ignoreResultAndError-malformed.yml +0 -34
  1345. data/spec/spec_tests/data/unified/valid-fail/ignoreResultAndError.yml +0 -35
  1346. data/spec/spec_tests/data/unified/valid-fail/operation-failure.yml +0 -31
  1347. data/spec/spec_tests/data/unified/valid-fail/operation-unsupported.yml +0 -13
  1348. data/spec/spec_tests/data/unified/valid-pass/assertNumberConnectionsCheckedOut.yml +0 -17
  1349. data/spec/spec_tests/data/unified/valid-pass/collectionData-createOptions.yml +0 -37
  1350. data/spec/spec_tests/data/unified/valid-pass/entity-client-cmap-events.yml +0 -40
  1351. data/spec/spec_tests/data/unified/valid-pass/entity-client-storeEventsAsEntities.yml +0 -37
  1352. data/spec/spec_tests/data/unified/valid-pass/expectedError-errorResponse.yml +0 -39
  1353. data/spec/spec_tests/data/unified/valid-pass/expectedEventsForClient-eventType.yml +0 -66
  1354. data/spec/spec_tests/data/unified/valid-pass/expectedEventsForClient-ignoreExtraEvents.yml +0 -78
  1355. data/spec/spec_tests/data/unified/valid-pass/ignoreResultAndError.yml +0 -34
  1356. data/spec/spec_tests/data/unified/valid-pass/observeSensitiveCommands.yml +0 -255
  1357. data/spec/spec_tests/data/unified/valid-pass/poc-change-streams.yml +0 -241
  1358. data/spec/spec_tests/data/unified/valid-pass/poc-command-monitoring.yml +0 -102
  1359. data/spec/spec_tests/data/unified/valid-pass/poc-crud.yml +0 -190
  1360. data/spec/spec_tests/data/unified/valid-pass/poc-gridfs.yml +0 -155
  1361. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-reads.yml +0 -193
  1362. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-writes.yml +0 -210
  1363. data/spec/spec_tests/data/unified/valid-pass/poc-sessions.yml +0 -214
  1364. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-convenient-api.yml +0 -235
  1365. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-mongos-pin-auto.yml +0 -169
  1366. data/spec/spec_tests/data/unified/valid-pass/poc-transactions.yml +0 -171
  1367. data/spec/spec_tests/data/uri_options/auth-options.yml +0 -49
  1368. data/spec/spec_tests/data/uri_options/compression-options.yml +0 -51
  1369. data/spec/spec_tests/data/uri_options/concern-options.yml +0 -55
  1370. data/spec/spec_tests/data/uri_options/connection-options.yml +0 -209
  1371. data/spec/spec_tests/data/uri_options/connection-pool-options.yml +0 -26
  1372. data/spec/spec_tests/data/uri_options/read-preference-options.yml +0 -66
  1373. data/spec/spec_tests/data/uri_options/ruby-auth-options.yml +0 -12
  1374. data/spec/spec_tests/data/uri_options/ruby-connection-options.yml +0 -58
  1375. data/spec/spec_tests/data/uri_options/srv-options.yml +0 -96
  1376. data/spec/spec_tests/data/uri_options/tls-options.yml +0 -364
  1377. data/spec/spec_tests/data/versioned_api/crud-api-version-1-strict.yml +0 -419
  1378. data/spec/spec_tests/data/versioned_api/crud-api-version-1.yml +0 -413
  1379. data/spec/spec_tests/data/versioned_api/runcommand-helper-no-api-version-declared.yml +0 -75
  1380. data/spec/spec_tests/data/versioned_api/test-commands-deprecation-errors.yml +0 -47
  1381. data/spec/spec_tests/data/versioned_api/test-commands-strict-mode.yml +0 -46
  1382. data/spec/spec_tests/data/versioned_api/transaction-handling.yml +0 -128
  1383. data/spec/spec_tests/gridfs_spec.rb +0 -55
  1384. data/spec/spec_tests/gridfs_unified_spec.rb +0 -13
  1385. data/spec/spec_tests/index_management_unified_spec.rb +0 -13
  1386. data/spec/spec_tests/load_balancers_spec.rb +0 -15
  1387. data/spec/spec_tests/max_staleness_spec.rb +0 -12
  1388. data/spec/spec_tests/read_write_concern_connection_string_spec.rb +0 -13
  1389. data/spec/spec_tests/read_write_concern_document_spec.rb +0 -77
  1390. data/spec/spec_tests/read_write_concern_operaton_spec.rb +0 -13
  1391. data/spec/spec_tests/retryable_reads_spec.rb +0 -55
  1392. data/spec/spec_tests/retryable_reads_unified_spec.rb +0 -22
  1393. data/spec/spec_tests/retryable_writes_spec.rb +0 -25
  1394. data/spec/spec_tests/retryable_writes_unified_spec.rb +0 -21
  1395. data/spec/spec_tests/run_command_unified_spec.rb +0 -13
  1396. data/spec/spec_tests/sdam_monitoring_spec.rb +0 -101
  1397. data/spec/spec_tests/sdam_spec.rb +0 -246
  1398. data/spec/spec_tests/sdam_unified_spec.rb +0 -15
  1399. data/spec/spec_tests/seed_list_discovery_spec.rb +0 -127
  1400. data/spec/spec_tests/server_selection_rtt_spec.rb +0 -33
  1401. data/spec/spec_tests/server_selection_spec.rb +0 -12
  1402. data/spec/spec_tests/sessions_unified_spec.rb +0 -13
  1403. data/spec/spec_tests/transactions_api_spec.rb +0 -13
  1404. data/spec/spec_tests/transactions_spec.rb +0 -13
  1405. data/spec/spec_tests/transactions_unified_spec.rb +0 -14
  1406. data/spec/spec_tests/unified_spec.rb +0 -18
  1407. data/spec/spec_tests/uri_options_spec.rb +0 -93
  1408. data/spec/spec_tests/versioned_api_spec.rb +0 -13
  1409. data/spec/stress/cleanup_spec.rb +0 -61
  1410. data/spec/stress/connection_pool_stress_spec.rb +0 -143
  1411. data/spec/stress/connection_pool_timing_spec.rb +0 -160
  1412. data/spec/stress/fork_reconnect_stress_spec.rb +0 -108
  1413. data/spec/stress/push_monitor_close_spec.rb +0 -44
  1414. data/spec/support/authorization.rb +0 -161
  1415. data/spec/support/aws_utils/base.rb +0 -137
  1416. data/spec/support/aws_utils/inspector.rb +0 -227
  1417. data/spec/support/aws_utils/orchestrator.rb +0 -385
  1418. data/spec/support/aws_utils/provisioner.rb +0 -363
  1419. data/spec/support/aws_utils.rb +0 -66
  1420. data/spec/support/background_thread_registry.rb +0 -60
  1421. data/spec/support/certificates/README.md +0 -106
  1422. data/spec/support/certificates/atlas-ocsp-ca.crt +0 -115
  1423. data/spec/support/certificates/atlas-ocsp.crt +0 -147
  1424. data/spec/support/certificates/ca.crt +0 -76
  1425. data/spec/support/certificates/client-encrypted.key +0 -30
  1426. data/spec/support/certificates/client-int.crt +0 -78
  1427. data/spec/support/certificates/client-second-level-bundle.pem +0 -179
  1428. data/spec/support/certificates/client-second-level.crt +0 -74
  1429. data/spec/support/certificates/client-second-level.key +0 -27
  1430. data/spec/support/certificates/client-second-level.pem +0 -101
  1431. data/spec/support/certificates/client-x509.crt +0 -78
  1432. data/spec/support/certificates/client-x509.key +0 -27
  1433. data/spec/support/certificates/client-x509.pem +0 -105
  1434. data/spec/support/certificates/client.crt +0 -74
  1435. data/spec/support/certificates/client.key +0 -27
  1436. data/spec/support/certificates/client.pem +0 -101
  1437. data/spec/support/certificates/crl.pem +0 -12
  1438. data/spec/support/certificates/crl_client_revoked.pem +0 -13
  1439. data/spec/support/certificates/multi-ca.crt +0 -152
  1440. data/spec/support/certificates/python-ca.crt +0 -76
  1441. data/spec/support/certificates/retrieve-atlas-cert +0 -40
  1442. data/spec/support/certificates/server-int.crt +0 -78
  1443. data/spec/support/certificates/server-second-level-bundle.pem +0 -179
  1444. data/spec/support/certificates/server-second-level.crt +0 -74
  1445. data/spec/support/certificates/server-second-level.key +0 -27
  1446. data/spec/support/certificates/server-second-level.pem +0 -101
  1447. data/spec/support/certificates/server.pem +0 -101
  1448. data/spec/support/client_registry.rb +0 -258
  1449. data/spec/support/client_registry_macros.rb +0 -26
  1450. data/spec/support/cluster_tools.rb +0 -384
  1451. data/spec/support/common_shortcuts.rb +0 -421
  1452. data/spec/support/constraints.rb +0 -39
  1453. data/spec/support/crypt/corpus/corpus-encrypted.json +0 -9515
  1454. data/spec/support/crypt/corpus/corpus-key-aws.json +0 -33
  1455. data/spec/support/crypt/corpus/corpus-key-azure.json +0 -33
  1456. data/spec/support/crypt/corpus/corpus-key-gcp.json +0 -35
  1457. data/spec/support/crypt/corpus/corpus-key-kmip.json +0 -32
  1458. data/spec/support/crypt/corpus/corpus-key-local.json +0 -31
  1459. data/spec/support/crypt/corpus/corpus-schema.json +0 -6335
  1460. data/spec/support/crypt/corpus/corpus.json +0 -8619
  1461. data/spec/support/crypt/data_keys/key_document_aws.json +0 -34
  1462. data/spec/support/crypt/data_keys/key_document_azure.json +0 -33
  1463. data/spec/support/crypt/data_keys/key_document_gcp.json +0 -37
  1464. data/spec/support/crypt/data_keys/key_document_kmip.json +0 -32
  1465. data/spec/support/crypt/data_keys/key_document_local.json +0 -31
  1466. data/spec/support/crypt/encrypted_fields/encryptedFields.json +0 -32
  1467. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Date.json +0 -30
  1468. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalNoPrecision.json +0 -21
  1469. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalPrecision.json +0 -29
  1470. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoubleNoPrecision.json +0 -21
  1471. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoublePrecision.json +0 -30
  1472. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Int.json +0 -27
  1473. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Long.json +0 -27
  1474. data/spec/support/crypt/external/external-key.json +0 -31
  1475. data/spec/support/crypt/external/external-schema.json +0 -19
  1476. data/spec/support/crypt/keys/key1-document.json +0 -30
  1477. data/spec/support/crypt/limits/limits-doc.json +0 -102
  1478. data/spec/support/crypt/limits/limits-key.json +0 -31
  1479. data/spec/support/crypt/limits/limits-schema.json +0 -1405
  1480. data/spec/support/crypt/schema_maps/schema_map_aws.json +0 -17
  1481. data/spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json +0 -12
  1482. data/spec/support/crypt/schema_maps/schema_map_azure.json +0 -17
  1483. data/spec/support/crypt/schema_maps/schema_map_azure_key_alt_names.json +0 -12
  1484. data/spec/support/crypt/schema_maps/schema_map_gcp.json +0 -17
  1485. data/spec/support/crypt/schema_maps/schema_map_gcp_key_alt_names.json +0 -12
  1486. data/spec/support/crypt/schema_maps/schema_map_kmip.json +0 -17
  1487. data/spec/support/crypt/schema_maps/schema_map_kmip_key_alt_names.json +0 -12
  1488. data/spec/support/crypt/schema_maps/schema_map_local.json +0 -18
  1489. data/spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json +0 -12
  1490. data/spec/support/crypt.rb +0 -412
  1491. data/spec/support/dns.rb +0 -16
  1492. data/spec/support/json_ext_formatter.rb +0 -16
  1493. data/spec/support/keyword_struct.rb +0 -29
  1494. data/spec/support/local_resource_registry.rb +0 -37
  1495. data/spec/support/macros.rb +0 -29
  1496. data/spec/support/matchers.rb +0 -88
  1497. data/spec/support/mongos_macros.rb +0 -24
  1498. data/spec/support/monitoring_ext.rb +0 -19
  1499. data/spec/support/ocsp +0 -1
  1500. data/spec/support/primary_socket.rb +0 -24
  1501. data/spec/support/recording_logger.rb +0 -27
  1502. data/spec/support/sdam_formatter_integration.rb +0 -119
  1503. data/spec/support/shared/app_metadata.rb +0 -179
  1504. data/spec/support/shared/auth_context.rb +0 -17
  1505. data/spec/support/shared/protocol.rb +0 -36
  1506. data/spec/support/shared/scram_conversation.rb +0 -104
  1507. data/spec/support/shared/server_selector.rb +0 -233
  1508. data/spec/support/shared/session.rb +0 -916
  1509. data/spec/support/spec_config.rb +0 -767
  1510. data/spec/support/spec_setup.rb +0 -83
  1511. data/spec/support/using_hash.rb +0 -40
  1512. data/spec/support/utils.rb +0 -678
@@ -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