mongo 2.21.0 → 2.21.2

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