mongo 2.21.0 → 2.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1428) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/mongo/auth/aws/conversation.rb +1 -1
  4. data/lib/mongo/auth/credential_cache.rb +13 -6
  5. data/lib/mongo/client.rb +75 -28
  6. data/lib/mongo/client_encryption.rb +1 -1
  7. data/lib/mongo/cluster/sdam_flow.rb +1 -1
  8. data/lib/mongo/collection/view/aggregation.rb +1 -1
  9. data/lib/mongo/crypt/binary.rb +5 -5
  10. data/lib/mongo/crypt/binding.rb +65 -1
  11. data/lib/mongo/crypt/context.rb +55 -27
  12. data/lib/mongo/crypt/encryption_io.rb +4 -2
  13. data/lib/mongo/crypt/handle.rb +1 -1
  14. data/lib/mongo/cursor.rb +1 -1
  15. data/lib/mongo/error/kms_error.rb +9 -0
  16. data/lib/mongo/error/pool_cleared_error.rb +1 -0
  17. data/lib/mongo/error/sdam_error_detection.rb +3 -3
  18. data/lib/mongo/lint.rb +1 -1
  19. data/lib/mongo/monitoring/event/secure.rb +1 -1
  20. data/lib/mongo/monitoring.rb +1 -1
  21. data/lib/mongo/operation/shared/read_preference_supported.rb +2 -2
  22. data/lib/mongo/operation/shared/sessions_supported.rb +2 -2
  23. data/lib/mongo/protocol/compressed.rb +1 -1
  24. data/lib/mongo/protocol/msg.rb +1 -1
  25. data/lib/mongo/search_index/view.rb +4 -4
  26. data/lib/mongo/server/push_monitor.rb +1 -1
  27. data/lib/mongo/session/server_session/dirtyable.rb +1 -1
  28. data/lib/mongo/socket.rb +29 -22
  29. data/lib/mongo/uri/srv_protocol.rb +3 -1
  30. data/lib/mongo/version.rb +1 -1
  31. data/mongo.gemspec +4 -4
  32. metadata +19 -2799
  33. data/Rakefile +0 -196
  34. data/spec/NOTES.aws-auth.md +0 -296
  35. data/spec/README.aws-auth.md +0 -318
  36. data/spec/README.md +0 -733
  37. data/spec/USERS.md +0 -72
  38. data/spec/atlas/atlas_connectivity_spec.rb +0 -27
  39. data/spec/atlas/operations_spec.rb +0 -23
  40. data/spec/faas/ruby-sam-app/Gemfile +0 -9
  41. data/spec/faas/ruby-sam-app/mongodb/Gemfile +0 -4
  42. data/spec/faas/ruby-sam-app/mongodb/app.rb +0 -149
  43. data/spec/faas/ruby-sam-app/template.yaml +0 -48
  44. data/spec/integration/auth_spec.rb +0 -309
  45. data/spec/integration/awaited_ismaster_spec.rb +0 -31
  46. data/spec/integration/aws_auth_credentials_cache_spec.rb +0 -51
  47. data/spec/integration/aws_auth_request_spec.rb +0 -77
  48. data/spec/integration/aws_credentials_retriever_spec.rb +0 -136
  49. data/spec/integration/aws_lambda_examples_spec.rb +0 -68
  50. data/spec/integration/bson_symbol_spec.rb +0 -39
  51. data/spec/integration/bulk_insert_spec.rb +0 -83
  52. data/spec/integration/bulk_write_error_message_spec.rb +0 -74
  53. data/spec/integration/bulk_write_spec.rb +0 -86
  54. data/spec/integration/change_stream_examples_spec.rb +0 -208
  55. data/spec/integration/change_stream_spec.rb +0 -814
  56. data/spec/integration/check_clean_slate_spec.rb +0 -19
  57. data/spec/integration/client_authentication_options_spec.rb +0 -514
  58. data/spec/integration/client_connectivity_spec.rb +0 -41
  59. data/spec/integration/client_construction_aws_auth_spec.rb +0 -203
  60. data/spec/integration/client_construction_spec.rb +0 -381
  61. data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +0 -360
  62. data/spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb +0 -306
  63. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +0 -75
  64. data/spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb +0 -82
  65. data/spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb +0 -260
  66. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +0 -754
  67. data/spec/integration/client_side_encryption/automatic_data_encryption_keys_prose_spec.rb +0 -153
  68. data/spec/integration/client_side_encryption/bson_size_limit_spec.rb +0 -190
  69. data/spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb +0 -81
  70. data/spec/integration/client_side_encryption/client_close_spec.rb +0 -66
  71. data/spec/integration/client_side_encryption/corpus_spec.rb +0 -273
  72. data/spec/integration/client_side_encryption/custom_endpoint_spec.rb +0 -132
  73. data/spec/integration/client_side_encryption/data_key_spec.rb +0 -258
  74. data/spec/integration/client_side_encryption/decryption_events_prose_spec.rb +0 -159
  75. data/spec/integration/client_side_encryption/explicit_encryption_spec.rb +0 -176
  76. data/spec/integration/client_side_encryption/explicit_queryable_encryption_spec.rb +0 -150
  77. data/spec/integration/client_side_encryption/external_key_vault_spec.rb +0 -144
  78. data/spec/integration/client_side_encryption/kms_tls_options_spec.rb +0 -436
  79. data/spec/integration/client_side_encryption/kms_tls_spec.rb +0 -92
  80. data/spec/integration/client_side_encryption/mongocryptd_prose_spec.rb +0 -105
  81. data/spec/integration/client_side_encryption/on_demand_aws_credentials_spec.rb +0 -49
  82. data/spec/integration/client_side_encryption/on_demand_azure_credentials_spec.rb +0 -46
  83. data/spec/integration/client_side_encryption/on_demand_gcp_credentials_spec.rb +0 -47
  84. data/spec/integration/client_side_encryption/queryable_encryption_examples_spec.rb +0 -114
  85. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +0 -583
  86. data/spec/integration/client_side_encryption/rewrap_prose_spec.rb +0 -114
  87. data/spec/integration/client_side_encryption/unique_index_on_key_alt_names_prose_spec.rb +0 -89
  88. data/spec/integration/client_side_encryption/views_spec.rb +0 -47
  89. data/spec/integration/client_side_operations_timeout/encryption_prose_spec.rb +0 -131
  90. data/spec/integration/client_spec.rb +0 -54
  91. data/spec/integration/client_update_spec.rb +0 -161
  92. data/spec/integration/collection_indexes_prose_spec.rb +0 -58
  93. data/spec/integration/command_monitoring_spec.rb +0 -184
  94. data/spec/integration/command_spec.rb +0 -157
  95. data/spec/integration/connect_single_rs_name_spec.rb +0 -75
  96. data/spec/integration/connection/faas_env_spec.rb +0 -62
  97. data/spec/integration/connection_pool_populator_spec.rb +0 -327
  98. data/spec/integration/connection_spec.rb +0 -353
  99. data/spec/integration/crud_spec.rb +0 -378
  100. data/spec/integration/cursor_pinning_spec.rb +0 -80
  101. data/spec/integration/cursor_reaping_spec.rb +0 -143
  102. data/spec/integration/docs_examples_spec.rb +0 -207
  103. data/spec/integration/error_detection_spec.rb +0 -42
  104. data/spec/integration/find_options_spec.rb +0 -227
  105. data/spec/integration/fork_reconnect_spec.rb +0 -207
  106. data/spec/integration/get_more_spec.rb +0 -42
  107. data/spec/integration/grid_fs_bucket_spec.rb +0 -51
  108. data/spec/integration/heartbeat_events_spec.rb +0 -102
  109. data/spec/integration/map_reduce_spec.rb +0 -81
  110. data/spec/integration/mmapv1_spec.rb +0 -31
  111. data/spec/integration/mongos_pinning_spec.rb +0 -37
  112. data/spec/integration/ocsp_connectivity_spec.rb +0 -29
  113. data/spec/integration/ocsp_verifier_cache_spec.rb +0 -191
  114. data/spec/integration/ocsp_verifier_spec.rb +0 -358
  115. data/spec/integration/operation_failure_code_spec.rb +0 -29
  116. data/spec/integration/operation_failure_message_spec.rb +0 -91
  117. data/spec/integration/query_cache_spec.rb +0 -1343
  118. data/spec/integration/query_cache_transactions_spec.rb +0 -193
  119. data/spec/integration/read_concern_spec.rb +0 -92
  120. data/spec/integration/read_preference_spec.rb +0 -548
  121. data/spec/integration/reconnect_spec.rb +0 -200
  122. data/spec/integration/retryable_errors_spec.rb +0 -286
  123. data/spec/integration/retryable_reads_errors_spec.rb +0 -275
  124. data/spec/integration/retryable_writes/retryable_writes_36_and_older_spec.rb +0 -764
  125. data/spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb +0 -405
  126. data/spec/integration/retryable_writes/shared/adds_diagnostics.rb +0 -18
  127. data/spec/integration/retryable_writes/shared/does_not_support_retries.rb +0 -27
  128. data/spec/integration/retryable_writes/shared/only_supports_legacy_retries.rb +0 -28
  129. data/spec/integration/retryable_writes/shared/performs_legacy_retries.rb +0 -220
  130. data/spec/integration/retryable_writes/shared/performs_modern_retries.rb +0 -235
  131. data/spec/integration/retryable_writes/shared/performs_no_retries.rb +0 -113
  132. data/spec/integration/retryable_writes/shared/supports_legacy_retries.rb +0 -22
  133. data/spec/integration/retryable_writes/shared/supports_modern_retries.rb +0 -28
  134. data/spec/integration/retryable_writes/shared/supports_retries.rb +0 -19
  135. data/spec/integration/retryable_writes_errors_spec.rb +0 -348
  136. data/spec/integration/sdam_error_handling_spec.rb +0 -490
  137. data/spec/integration/sdam_events_spec.rb +0 -178
  138. data/spec/integration/sdam_prose_spec.rb +0 -67
  139. data/spec/integration/search_indexes_prose_spec.rb +0 -172
  140. data/spec/integration/secondary_reads_spec.rb +0 -103
  141. data/spec/integration/server_description_spec.rb +0 -48
  142. data/spec/integration/server_monitor_spec.rb +0 -57
  143. data/spec/integration/server_selection_spec.rb +0 -39
  144. data/spec/integration/server_selector_spec.rb +0 -107
  145. data/spec/integration/server_spec.rb +0 -67
  146. data/spec/integration/shell_examples_spec.rb +0 -984
  147. data/spec/integration/size_limit_spec.rb +0 -118
  148. data/spec/integration/snappy_compression_spec.rb +0 -28
  149. data/spec/integration/snapshot_query_examples_spec.rb +0 -129
  150. data/spec/integration/srv_monitoring_spec.rb +0 -445
  151. data/spec/integration/srv_spec.rb +0 -60
  152. data/spec/integration/ssl_uri_options_spec.rb +0 -28
  153. data/spec/integration/step_down_spec.rb +0 -225
  154. data/spec/integration/time_zone_querying_spec.rb +0 -55
  155. data/spec/integration/transaction_pinning_spec.rb +0 -134
  156. data/spec/integration/transactions_api_examples_spec.rb +0 -64
  157. data/spec/integration/transactions_examples_spec.rb +0 -235
  158. data/spec/integration/truncated_utf8_spec.rb +0 -26
  159. data/spec/integration/versioned_api_examples_spec.rb +0 -120
  160. data/spec/integration/x509_auth_spec.rb +0 -112
  161. data/spec/integration/zlib_compression_spec.rb +0 -28
  162. data/spec/integration/zstd_compression_spec.rb +0 -29
  163. data/spec/kerberos/kerberos_spec.rb +0 -98
  164. data/spec/lite_spec_helper.rb +0 -211
  165. data/spec/mongo/address/ipv4_spec.rb +0 -102
  166. data/spec/mongo/address/ipv6_spec.rb +0 -137
  167. data/spec/mongo/address/unix_spec.rb +0 -45
  168. data/spec/mongo/address/validator_spec.rb +0 -54
  169. data/spec/mongo/address_spec.rb +0 -357
  170. data/spec/mongo/auth/aws/credential_cache_spec.rb +0 -63
  171. data/spec/mongo/auth/aws/credentials_retriever_spec.rb +0 -90
  172. data/spec/mongo/auth/aws/credentials_spec.rb +0 -46
  173. data/spec/mongo/auth/aws/request_region_spec.rb +0 -45
  174. data/spec/mongo/auth/aws/request_spec.rb +0 -79
  175. data/spec/mongo/auth/cr_spec.rb +0 -58
  176. data/spec/mongo/auth/gssapi/conversation_spec.rb +0 -124
  177. data/spec/mongo/auth/invalid_mechanism_spec.rb +0 -14
  178. data/spec/mongo/auth/ldap/conversation_spec.rb +0 -46
  179. data/spec/mongo/auth/ldap_spec.rb +0 -46
  180. data/spec/mongo/auth/scram/conversation_spec.rb +0 -205
  181. data/spec/mongo/auth/scram256/conversation_spec.rb +0 -174
  182. data/spec/mongo/auth/scram_negotiation_spec.rb +0 -532
  183. data/spec/mongo/auth/scram_spec.rb +0 -121
  184. data/spec/mongo/auth/stringprep/profiles/sasl_spec.rb +0 -116
  185. data/spec/mongo/auth/stringprep_spec.rb +0 -191
  186. data/spec/mongo/auth/user/view_spec.rb +0 -584
  187. data/spec/mongo/auth/user_spec.rb +0 -343
  188. data/spec/mongo/auth/x509/conversation_spec.rb +0 -72
  189. data/spec/mongo/auth/x509_spec.rb +0 -72
  190. data/spec/mongo/auth_spec.rb +0 -68
  191. data/spec/mongo/bson_spec.rb +0 -14
  192. data/spec/mongo/bulk_write/ordered_combiner_spec.rb +0 -287
  193. data/spec/mongo/bulk_write/result_spec.rb +0 -141
  194. data/spec/mongo/bulk_write/unordered_combiner_spec.rb +0 -242
  195. data/spec/mongo/bulk_write_spec.rb +0 -2514
  196. data/spec/mongo/caching_cursor_spec.rb +0 -73
  197. data/spec/mongo/client_construction_spec.rb +0 -2723
  198. data/spec/mongo/client_encryption_spec.rb +0 -403
  199. data/spec/mongo/client_spec.rb +0 -1357
  200. data/spec/mongo/cluster/cursor_reaper_spec.rb +0 -230
  201. data/spec/mongo/cluster/periodic_executor_spec.rb +0 -21
  202. data/spec/mongo/cluster/socket_reaper_spec.rb +0 -46
  203. data/spec/mongo/cluster/topology/replica_set_spec.rb +0 -601
  204. data/spec/mongo/cluster/topology/sharded_spec.rb +0 -158
  205. data/spec/mongo/cluster/topology/single_spec.rb +0 -192
  206. data/spec/mongo/cluster/topology/unknown_spec.rb +0 -103
  207. data/spec/mongo/cluster/topology_spec.rb +0 -211
  208. data/spec/mongo/cluster_spec.rb +0 -825
  209. data/spec/mongo/cluster_time_spec.rb +0 -151
  210. data/spec/mongo/collection/view/aggregation_spec.rb +0 -753
  211. data/spec/mongo/collection/view/builder/find_command_spec.rb +0 -528
  212. data/spec/mongo/collection/view/builder/op_query_spec.rb +0 -161
  213. data/spec/mongo/collection/view/change_stream_resume_spec.rb +0 -397
  214. data/spec/mongo/collection/view/change_stream_spec.rb +0 -547
  215. data/spec/mongo/collection/view/explainable_spec.rb +0 -119
  216. data/spec/mongo/collection/view/immutable_spec.rb +0 -57
  217. data/spec/mongo/collection/view/iterable_spec.rb +0 -41
  218. data/spec/mongo/collection/view/map_reduce_spec.rb +0 -907
  219. data/spec/mongo/collection/view/readable_spec.rb +0 -2283
  220. data/spec/mongo/collection/view/writable_spec.rb +0 -1976
  221. data/spec/mongo/collection/view_spec.rb +0 -424
  222. data/spec/mongo/collection_crud_spec.rb +0 -4472
  223. data/spec/mongo/collection_ddl_spec.rb +0 -587
  224. data/spec/mongo/collection_spec.rb +0 -849
  225. data/spec/mongo/condition_variable_spec.rb +0 -104
  226. data/spec/mongo/config/options_spec.rb +0 -76
  227. data/spec/mongo/config_spec.rb +0 -74
  228. data/spec/mongo/crypt/auto_decryption_context_spec.rb +0 -109
  229. data/spec/mongo/crypt/auto_encrypter_spec.rb +0 -450
  230. data/spec/mongo/crypt/auto_encryption_context_spec.rb +0 -126
  231. data/spec/mongo/crypt/binary_spec.rb +0 -113
  232. data/spec/mongo/crypt/binding/binary_spec.rb +0 -54
  233. data/spec/mongo/crypt/binding/context_spec.rb +0 -305
  234. data/spec/mongo/crypt/binding/helpers_spec.rb +0 -44
  235. data/spec/mongo/crypt/binding/mongocrypt_spec.rb +0 -113
  236. data/spec/mongo/crypt/binding/status_spec.rb +0 -97
  237. data/spec/mongo/crypt/binding/version_spec.rb +0 -67
  238. data/spec/mongo/crypt/binding_unloaded_spec.rb +0 -37
  239. data/spec/mongo/crypt/data_key_context_spec.rb +0 -146
  240. data/spec/mongo/crypt/encryption_io_spec.rb +0 -141
  241. data/spec/mongo/crypt/explicit_decryption_context_spec.rb +0 -106
  242. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +0 -266
  243. data/spec/mongo/crypt/handle_spec.rb +0 -266
  244. data/spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb +0 -111
  245. data/spec/mongo/crypt/hooks_spec.rb +0 -30
  246. data/spec/mongo/crypt/kms/azure/credentials_retriever_spec.rb +0 -86
  247. data/spec/mongo/crypt/kms/credentials_spec.rb +0 -373
  248. data/spec/mongo/crypt/kms_spec.rb +0 -62
  249. data/spec/mongo/crypt/status_spec.rb +0 -150
  250. data/spec/mongo/crypt_spec.rb +0 -21
  251. data/spec/mongo/cursor/builder/get_more_command_spec.rb +0 -195
  252. data/spec/mongo/cursor/builder/op_get_more_spec.rb +0 -68
  253. data/spec/mongo/cursor_spec.rb +0 -851
  254. data/spec/mongo/database_spec.rb +0 -1365
  255. data/spec/mongo/distinguishing_semaphore_spec.rb +0 -66
  256. data/spec/mongo/error/bulk_write_error_spec.rb +0 -52
  257. data/spec/mongo/error/crypt_error_spec.rb +0 -29
  258. data/spec/mongo/error/max_bson_size_spec.rb +0 -38
  259. data/spec/mongo/error/no_server_available_spec.rb +0 -35
  260. data/spec/mongo/error/notable_spec.rb +0 -62
  261. data/spec/mongo/error/operation_failure_heavy_spec.rb +0 -110
  262. data/spec/mongo/error/operation_failure_spec.rb +0 -553
  263. data/spec/mongo/error/parser_spec.rb +0 -519
  264. data/spec/mongo/error/unsupported_option_spec.rb +0 -57
  265. data/spec/mongo/event/publisher_spec.rb +0 -53
  266. data/spec/mongo/event/subscriber_spec.rb +0 -37
  267. data/spec/mongo/grid/file/chunk_spec.rb +0 -230
  268. data/spec/mongo/grid/file/info_spec.rb +0 -107
  269. data/spec/mongo/grid/file_spec.rb +0 -194
  270. data/spec/mongo/grid/fs_bucket_spec.rb +0 -1269
  271. data/spec/mongo/grid/stream/read_spec.rb +0 -292
  272. data/spec/mongo/grid/stream/write_spec.rb +0 -559
  273. data/spec/mongo/grid/stream_spec.rb +0 -51
  274. data/spec/mongo/id_spec.rb +0 -38
  275. data/spec/mongo/index/view_spec.rb +0 -1296
  276. data/spec/mongo/lint_spec.rb +0 -231
  277. data/spec/mongo/logger_spec.rb +0 -62
  278. data/spec/mongo/monitoring/command_log_subscriber_spec.rb +0 -79
  279. data/spec/mongo/monitoring/event/cmap/connection_check_out_failed_spec.rb +0 -26
  280. data/spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb +0 -22
  281. data/spec/mongo/monitoring/event/cmap/connection_checked_in_spec.rb +0 -33
  282. data/spec/mongo/monitoring/event/cmap/connection_checked_out_spec.rb +0 -33
  283. data/spec/mongo/monitoring/event/cmap/connection_closed_spec.rb +0 -30
  284. data/spec/mongo/monitoring/event/cmap/connection_created_spec.rb +0 -27
  285. data/spec/mongo/monitoring/event/cmap/connection_ready_spec.rb +0 -27
  286. data/spec/mongo/monitoring/event/cmap/pool_cleared_spec.rb +0 -22
  287. data/spec/mongo/monitoring/event/cmap/pool_closed_spec.rb +0 -29
  288. data/spec/mongo/monitoring/event/cmap/pool_created_spec.rb +0 -36
  289. data/spec/mongo/monitoring/event/command_failed_spec.rb +0 -87
  290. data/spec/mongo/monitoring/event/command_started_spec.rb +0 -51
  291. data/spec/mongo/monitoring/event/command_succeeded_spec.rb +0 -88
  292. data/spec/mongo/monitoring/event/secure_spec.rb +0 -123
  293. data/spec/mongo/monitoring/event/server_closed_spec.rb +0 -38
  294. data/spec/mongo/monitoring/event/server_description_changed_spec.rb +0 -38
  295. data/spec/mongo/monitoring/event/server_heartbeat_failed_spec.rb +0 -34
  296. data/spec/mongo/monitoring/event/server_heartbeat_started_spec.rb +0 -34
  297. data/spec/mongo/monitoring/event/server_heartbeat_succeeded_spec.rb +0 -34
  298. data/spec/mongo/monitoring/event/server_opening_spec.rb +0 -38
  299. data/spec/mongo/monitoring/event/topology_changed_spec.rb +0 -44
  300. data/spec/mongo/monitoring/event/topology_closed_spec.rb +0 -38
  301. data/spec/mongo/monitoring/event/topology_opening_spec.rb +0 -38
  302. data/spec/mongo/monitoring_spec.rb +0 -196
  303. data/spec/mongo/operation/aggregate/result_spec.rb +0 -90
  304. data/spec/mongo/operation/aggregate_spec.rb +0 -76
  305. data/spec/mongo/operation/collections_info_spec.rb +0 -48
  306. data/spec/mongo/operation/command_spec.rb +0 -86
  307. data/spec/mongo/operation/context_spec.rb +0 -79
  308. data/spec/mongo/operation/create/op_msg_spec.rb +0 -240
  309. data/spec/mongo/operation/create_index_spec.rb +0 -62
  310. data/spec/mongo/operation/create_user_spec.rb +0 -53
  311. data/spec/mongo/operation/delete/bulk_spec.rb +0 -245
  312. data/spec/mongo/operation/delete/op_msg_spec.rb +0 -267
  313. data/spec/mongo/operation/delete_spec.rb +0 -203
  314. data/spec/mongo/operation/drop_index_spec.rb +0 -61
  315. data/spec/mongo/operation/find/builder/flags_spec.rb +0 -109
  316. data/spec/mongo/operation/find/builder/modifiers_spec.rb +0 -213
  317. data/spec/mongo/operation/find/op_msg_spec.rb +0 -66
  318. data/spec/mongo/operation/get_more/op_msg_spec.rb +0 -65
  319. data/spec/mongo/operation/indexes_spec.rb +0 -41
  320. data/spec/mongo/operation/insert/bulk_spec.rb +0 -273
  321. data/spec/mongo/operation/insert/op_msg_spec.rb +0 -293
  322. data/spec/mongo/operation/insert_spec.rb +0 -258
  323. data/spec/mongo/operation/limited_spec.rb +0 -55
  324. data/spec/mongo/operation/map_reduce_spec.rb +0 -131
  325. data/spec/mongo/operation/read_preference_legacy_spec.rb +0 -360
  326. data/spec/mongo/operation/read_preference_op_msg_spec.rb +0 -332
  327. data/spec/mongo/operation/remove_user_spec.rb +0 -52
  328. data/spec/mongo/operation/result_spec.rb +0 -369
  329. data/spec/mongo/operation/shared/csot/examples.rb +0 -113
  330. data/spec/mongo/operation/specifiable_spec.rb +0 -87
  331. data/spec/mongo/operation/update/bulk_spec.rb +0 -239
  332. data/spec/mongo/operation/update/op_msg_spec.rb +0 -272
  333. data/spec/mongo/operation/update_spec.rb +0 -235
  334. data/spec/mongo/operation/update_user_spec.rb +0 -52
  335. data/spec/mongo/options/redacted_spec.rb +0 -353
  336. data/spec/mongo/protocol/caching_hash_spec.rb +0 -37
  337. data/spec/mongo/protocol/compressed_spec.rb +0 -83
  338. data/spec/mongo/protocol/get_more_spec.rb +0 -164
  339. data/spec/mongo/protocol/kill_cursors_spec.rb +0 -121
  340. data/spec/mongo/protocol/msg_spec.rb +0 -507
  341. data/spec/mongo/protocol/query_spec.rb +0 -347
  342. data/spec/mongo/protocol/registry_spec.rb +0 -34
  343. data/spec/mongo/protocol/reply_spec.rb +0 -198
  344. data/spec/mongo/query_cache_middleware_spec.rb +0 -55
  345. data/spec/mongo/query_cache_spec.rb +0 -471
  346. data/spec/mongo/retryable/write_worker_spec.rb +0 -39
  347. data/spec/mongo/retryable_spec.rb +0 -624
  348. data/spec/mongo/semaphore_spec.rb +0 -54
  349. data/spec/mongo/server/app_metadata/environment_spec.rb +0 -344
  350. data/spec/mongo/server/app_metadata/truncator_spec.rb +0 -158
  351. data/spec/mongo/server/app_metadata_spec.rb +0 -158
  352. data/spec/mongo/server/connection_auth_spec.rb +0 -138
  353. data/spec/mongo/server/connection_common_spec.rb +0 -87
  354. data/spec/mongo/server/connection_pool/populator_spec.rb +0 -120
  355. data/spec/mongo/server/connection_pool_spec.rb +0 -1609
  356. data/spec/mongo/server/connection_spec.rb +0 -1310
  357. data/spec/mongo/server/description/features_spec.rb +0 -274
  358. data/spec/mongo/server/description_query_methods_spec.rb +0 -291
  359. data/spec/mongo/server/description_spec.rb +0 -846
  360. data/spec/mongo/server/monitor/app_metadata_spec.rb +0 -25
  361. data/spec/mongo/server/monitor/connection_spec.rb +0 -197
  362. data/spec/mongo/server/monitor_spec.rb +0 -326
  363. data/spec/mongo/server/push_monitor_spec.rb +0 -95
  364. data/spec/mongo/server/round_trip_time_calculator_spec.rb +0 -120
  365. data/spec/mongo/server_selector/nearest_spec.rb +0 -338
  366. data/spec/mongo/server_selector/primary_preferred_spec.rb +0 -372
  367. data/spec/mongo/server_selector/primary_spec.rb +0 -181
  368. data/spec/mongo/server_selector/secondary_preferred_spec.rb +0 -350
  369. data/spec/mongo/server_selector/secondary_spec.rb +0 -278
  370. data/spec/mongo/server_selector_spec.rb +0 -736
  371. data/spec/mongo/server_spec.rb +0 -463
  372. data/spec/mongo/session/server_session_spec.rb +0 -62
  373. data/spec/mongo/session/session_pool_spec.rb +0 -257
  374. data/spec/mongo/session_spec.rb +0 -368
  375. data/spec/mongo/session_transaction_spec.rb +0 -222
  376. data/spec/mongo/socket/ssl_spec.rb +0 -830
  377. data/spec/mongo/socket/tcp_spec.rb +0 -17
  378. data/spec/mongo/socket/unix_spec.rb +0 -56
  379. data/spec/mongo/socket_spec.rb +0 -119
  380. data/spec/mongo/srv/monitor_spec.rb +0 -233
  381. data/spec/mongo/srv/result_spec.rb +0 -57
  382. data/spec/mongo/timeout_spec.rb +0 -42
  383. data/spec/mongo/tls_context_hooks_spec.rb +0 -40
  384. data/spec/mongo/uri/options_mapper_spec.rb +0 -1605
  385. data/spec/mongo/uri/srv_protocol_spec.rb +0 -1367
  386. data/spec/mongo/uri_option_parsing_spec.rb +0 -625
  387. data/spec/mongo/uri_spec.rb +0 -1443
  388. data/spec/mongo/utils_spec.rb +0 -42
  389. data/spec/mongo/write_concern/acknowledged_spec.rb +0 -58
  390. data/spec/mongo/write_concern/unacknowledged_spec.rb +0 -29
  391. data/spec/mongo/write_concern_spec.rb +0 -227
  392. data/spec/runners/auth.rb +0 -140
  393. data/spec/runners/change_streams/outcome.rb +0 -45
  394. data/spec/runners/change_streams/spec.rb +0 -60
  395. data/spec/runners/change_streams/test.rb +0 -232
  396. data/spec/runners/cmap/verifier.rb +0 -48
  397. data/spec/runners/cmap.rb +0 -516
  398. data/spec/runners/command_monitoring.rb +0 -346
  399. data/spec/runners/connection_string.rb +0 -393
  400. data/spec/runners/crud/context.rb +0 -30
  401. data/spec/runners/crud/operation.rb +0 -480
  402. data/spec/runners/crud/outcome.rb +0 -56
  403. data/spec/runners/crud/requirement.rb +0 -139
  404. data/spec/runners/crud/spec.rb +0 -76
  405. data/spec/runners/crud/test.rb +0 -115
  406. data/spec/runners/crud/test_base.rb +0 -53
  407. data/spec/runners/crud/verifier.rb +0 -224
  408. data/spec/runners/crud.rb +0 -257
  409. data/spec/runners/gridfs.rb +0 -641
  410. data/spec/runners/read_write_concern_document.rb +0 -70
  411. data/spec/runners/sdam/verifier.rb +0 -112
  412. data/spec/runners/sdam.rb +0 -279
  413. data/spec/runners/server_selection.rb +0 -365
  414. data/spec/runners/server_selection_rtt.rb +0 -41
  415. data/spec/runners/transactions/operation.rb +0 -332
  416. data/spec/runners/transactions/spec.rb +0 -29
  417. data/spec/runners/transactions/test.rb +0 -379
  418. data/spec/runners/transactions.rb +0 -107
  419. data/spec/runners/unified/ambiguous_operations.rb +0 -13
  420. data/spec/runners/unified/assertions.rb +0 -396
  421. data/spec/runners/unified/change_stream_operations.rb +0 -42
  422. data/spec/runners/unified/client_side_encryption_operations.rb +0 -83
  423. data/spec/runners/unified/crud_operations.rb +0 -367
  424. data/spec/runners/unified/ddl_operations.rb +0 -286
  425. data/spec/runners/unified/entity_map.rb +0 -42
  426. data/spec/runners/unified/error.rb +0 -29
  427. data/spec/runners/unified/event_subscriber.rb +0 -110
  428. data/spec/runners/unified/exceptions.rb +0 -24
  429. data/spec/runners/unified/grid_fs_operations.rb +0 -114
  430. data/spec/runners/unified/search_index_operations.rb +0 -63
  431. data/spec/runners/unified/support_operations.rb +0 -370
  432. data/spec/runners/unified/test.rb +0 -606
  433. data/spec/runners/unified/test_group.rb +0 -31
  434. data/spec/runners/unified/thread_operations.rb +0 -73
  435. data/spec/runners/unified.rb +0 -109
  436. data/spec/solo/clean_exit_spec.rb +0 -24
  437. data/spec/spec_helper.rb +0 -35
  438. data/spec/spec_tests/auth_spec.rb +0 -58
  439. data/spec/spec_tests/change_streams_unified_spec.rb +0 -14
  440. data/spec/spec_tests/client_side_encryption_spec.rb +0 -37
  441. data/spec/spec_tests/client_side_encryption_unified_spec.rb +0 -26
  442. data/spec/spec_tests/client_side_operations_timeout_spec.rb +0 -15
  443. data/spec/spec_tests/cmap_spec.rb +0 -126
  444. data/spec/spec_tests/collection_management_spec.rb +0 -13
  445. data/spec/spec_tests/command_monitoring_unified_spec.rb +0 -13
  446. data/spec/spec_tests/connection_string_spec.rb +0 -10
  447. data/spec/spec_tests/crud_spec.rb +0 -12
  448. data/spec/spec_tests/crud_unified_spec.rb +0 -13
  449. data/spec/spec_tests/data/auth/connection-string.yml +0 -366
  450. data/spec/spec_tests/data/change_streams_unified/change-streams-clusterTime.yml +0 -43
  451. data/spec/spec_tests/data/change_streams_unified/change-streams-disambiguatedPaths.yml +0 -105
  452. data/spec/spec_tests/data/change_streams_unified/change-streams-errors.yml +0 -122
  453. data/spec/spec_tests/data/change_streams_unified/change-streams-pre_and_post_images.yml +0 -351
  454. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-allowlist.yml +0 -1169
  455. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-errorLabels.yml +0 -1069
  456. data/spec/spec_tests/data/change_streams_unified/change-streams-showExpandedEvents.yml +0 -307
  457. data/spec/spec_tests/data/change_streams_unified/change-streams.yml +0 -927
  458. data/spec/spec_tests/data/client_side_encryption/aggregate.yml +0 -120
  459. data/spec/spec_tests/data/client_side_encryption/awsTemporary.yml +0 -57
  460. data/spec/spec_tests/data/client_side_encryption/azureKMS.yml +0 -46
  461. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +0 -537
  462. data/spec/spec_tests/data/client_side_encryption/badSchema.yml +0 -73
  463. data/spec/spec_tests/data/client_side_encryption/basic.yml +0 -102
  464. data/spec/spec_tests/data/client_side_encryption/bulk.yml +0 -81
  465. data/spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml +0 -100
  466. data/spec/spec_tests/data/client_side_encryption/bypassedCommand.yml +0 -43
  467. data/spec/spec_tests/data/client_side_encryption/count.yml +0 -54
  468. data/spec/spec_tests/data/client_side_encryption/countDocuments.yml +0 -52
  469. data/spec/spec_tests/data/client_side_encryption/create-and-createIndexes.yml +0 -58
  470. data/spec/spec_tests/data/client_side_encryption/delete.yml +0 -91
  471. data/spec/spec_tests/data/client_side_encryption/distinct.yml +0 -66
  472. data/spec/spec_tests/data/client_side_encryption/explain.yml +0 -57
  473. data/spec/spec_tests/data/client_side_encryption/find.yml +0 -105
  474. data/spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml +0 -50
  475. data/spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml +0 -50
  476. data/spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml +0 -50
  477. data/spec/spec_tests/data/client_side_encryption/fle2v2-BypassQueryAnalysis.yml +0 -90
  478. data/spec/spec_tests/data/client_side_encryption/fle2v2-Compact.yml +0 -83
  479. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection-OldServer.yml +0 -61
  480. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection.yml +0 -938
  481. data/spec/spec_tests/data/client_side_encryption/fle2v2-DecryptExistingData.yml +0 -67
  482. data/spec/spec_tests/data/client_side_encryption/fle2v2-Delete.yml +0 -101
  483. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-EncryptedFieldsMap.yml +0 -80
  484. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-jsonSchema.yml +0 -103
  485. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFieldsMap-defaults.yml +0 -59
  486. data/spec/spec_tests/data/client_side_encryption/fle2v2-FindOneAndUpdate.yml +0 -201
  487. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Indexed.yml +0 -97
  488. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml +0 -90
  489. data/spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml +0 -44
  490. data/spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml +0 -45
  491. data/spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml +0 -211
  492. data/spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml +0 -170
  493. data/spec/spec_tests/data/client_side_encryption/gcpKMS.yml +0 -46
  494. data/spec/spec_tests/data/client_side_encryption/getMore.yml +0 -61
  495. data/spec/spec_tests/data/client_side_encryption/insert.yml +0 -88
  496. data/spec/spec_tests/data/client_side_encryption/keyAltName.yml +0 -64
  497. data/spec/spec_tests/data/client_side_encryption/localKMS.yml +0 -47
  498. data/spec/spec_tests/data/client_side_encryption/localSchema.yml +0 -65
  499. data/spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml +0 -69
  500. data/spec/spec_tests/data/client_side_encryption/maxWireVersion.yml +0 -22
  501. data/spec/spec_tests/data/client_side_encryption/missingKey.yml +0 -42
  502. data/spec/spec_tests/data/client_side_encryption/noSchema.yml +0 -39
  503. data/spec/spec_tests/data/client_side_encryption/replaceOne.yml +0 -57
  504. data/spec/spec_tests/data/client_side_encryption/timeoutMS.yml +0 -67
  505. data/spec/spec_tests/data/client_side_encryption/types.yml +0 -501
  506. data/spec/spec_tests/data/client_side_encryption/unified/addKeyAltName.yml +0 -194
  507. data/spec/spec_tests/data/client_side_encryption/unified/createDataKey-kms_providers-invalid.yml +0 -67
  508. data/spec/spec_tests/data/client_side_encryption/unified/createDataKey.yml +0 -309
  509. data/spec/spec_tests/data/client_side_encryption/unified/deleteKey.yml +0 -159
  510. data/spec/spec_tests/data/client_side_encryption/unified/getKey.yml +0 -105
  511. data/spec/spec_tests/data/client_side_encryption/unified/getKeyByAltName.yml +0 -104
  512. data/spec/spec_tests/data/client_side_encryption/unified/getKeys.yml +0 -122
  513. data/spec/spec_tests/data/client_side_encryption/unified/removeKeyAltName.yml +0 -157
  514. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey-decrypt_failure.yml +0 -69
  515. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey-encrypt_failure.yml +0 -122
  516. data/spec/spec_tests/data/client_side_encryption/unified/rewrapManyDataKey.yml +0 -432
  517. data/spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml +0 -25
  518. data/spec/spec_tests/data/client_side_encryption/updateMany.yml +0 -70
  519. data/spec/spec_tests/data/client_side_encryption/updateOne.yml +0 -164
  520. data/spec/spec_tests/data/client_side_encryption/validatorAndPartialFieldExpression.yml +0 -166
  521. data/spec/spec_tests/data/client_side_operations_timeout/bulkWrite.yml +0 -87
  522. data/spec/spec_tests/data/client_side_operations_timeout/change-streams.yml +0 -358
  523. data/spec/spec_tests/data/client_side_operations_timeout/close-cursors.yml +0 -129
  524. data/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml +0 -250
  525. data/spec/spec_tests/data/client_side_operations_timeout/convenient-transactions.yml +0 -113
  526. data/spec/spec_tests/data/client_side_operations_timeout/cursors.yml +0 -70
  527. data/spec/spec_tests/data/client_side_operations_timeout/deprecated-options.yml +0 -3982
  528. data/spec/spec_tests/data/client_side_operations_timeout/error-transformations.yml +0 -96
  529. data/spec/spec_tests/data/client_side_operations_timeout/global-timeoutMS.yml +0 -3236
  530. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-advanced.yml +0 -207
  531. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-delete.yml +0 -152
  532. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-download.yml +0 -182
  533. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-find.yml +0 -100
  534. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-upload.yml +0 -249
  535. data/spec/spec_tests/data/client_side_operations_timeout/legacy-timeouts.yml +0 -204
  536. data/spec/spec_tests/data/client_side_operations_timeout/non-tailable-cursors.yml +0 -307
  537. data/spec/spec_tests/data/client_side_operations_timeout/override-collection-timeoutMS.yml +0 -1877
  538. data/spec/spec_tests/data/client_side_operations_timeout/override-operation-timeoutMS.yml +0 -1918
  539. data/spec/spec_tests/data/client_side_operations_timeout/retryability-legacy-timeouts.yml +0 -1676
  540. data/spec/spec_tests/data/client_side_operations_timeout/retryability-timeoutMS.yml +0 -2824
  541. data/spec/spec_tests/data/client_side_operations_timeout/sessions-inherit-timeoutMS.yml +0 -168
  542. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-operation-timeoutMS.yml +0 -171
  543. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-timeoutMS.yml +0 -168
  544. data/spec/spec_tests/data/client_side_operations_timeout/tailable-awaitData.yml +0 -247
  545. data/spec/spec_tests/data/client_side_operations_timeout/tailable-non-awaitData.yml +0 -181
  546. data/spec/spec_tests/data/cmap/connection-must-have-id.yml +0 -29
  547. data/spec/spec_tests/data/cmap/connection-must-order-ids.yml +0 -29
  548. data/spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml +0 -29
  549. data/spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml +0 -29
  550. data/spec/spec_tests/data/cmap/pool-checkin-make-available.yml +0 -26
  551. data/spec/spec_tests/data/cmap/pool-checkin.yml +0 -24
  552. data/spec/spec_tests/data/cmap/pool-checkout-connection.yml +0 -21
  553. data/spec/spec_tests/data/cmap/pool-checkout-custom-maxConnecting-is-enforced.yml +0 -50
  554. data/spec/spec_tests/data/cmap/pool-checkout-error-closed.yml +0 -38
  555. data/spec/spec_tests/data/cmap/pool-checkout-maxConnecting-is-enforced.yml +0 -81
  556. data/spec/spec_tests/data/cmap/pool-checkout-maxConnecting-timeout.yml +0 -71
  557. data/spec/spec_tests/data/cmap/pool-checkout-minPoolSize-connection-maxConnecting.yml +0 -64
  558. data/spec/spec_tests/data/cmap/pool-checkout-multiple.yml +0 -39
  559. data/spec/spec_tests/data/cmap/pool-checkout-no-idle.yml +0 -41
  560. data/spec/spec_tests/data/cmap/pool-checkout-no-stale.yml +0 -41
  561. data/spec/spec_tests/data/cmap/pool-checkout-returned-connection-maxConnecting.yml +0 -88
  562. data/spec/spec_tests/data/cmap/pool-clear-interrupting-pending-connections.yml +0 -43
  563. data/spec/spec_tests/data/cmap/pool-clear-min-size.yml +0 -41
  564. data/spec/spec_tests/data/cmap/pool-clear-paused.yml +0 -18
  565. data/spec/spec_tests/data/cmap/pool-clear-ready.yml +0 -39
  566. data/spec/spec_tests/data/cmap/pool-clear-schedule-run-interruptInUseConnections-false.yml +0 -48
  567. data/spec/spec_tests/data/cmap/pool-close-destroy-conns.yml +0 -30
  568. data/spec/spec_tests/data/cmap/pool-close.yml +0 -11
  569. data/spec/spec_tests/data/cmap/pool-create-max-size.yml +0 -73
  570. data/spec/spec_tests/data/cmap/pool-create-min-size-error.yml +0 -43
  571. data/spec/spec_tests/data/cmap/pool-create-min-size.yml +0 -43
  572. data/spec/spec_tests/data/cmap/pool-create-with-options.yml +0 -21
  573. data/spec/spec_tests/data/cmap/pool-create.yml +0 -12
  574. data/spec/spec_tests/data/cmap/pool-ready-ready.yml +0 -22
  575. data/spec/spec_tests/data/cmap/pool-ready.yml +0 -30
  576. data/spec/spec_tests/data/cmap/wait-queue-fairness.yml +0 -126
  577. data/spec/spec_tests/data/cmap/wait-queue-timeout.yml +0 -51
  578. data/spec/spec_tests/data/collection_management/clustered-indexes.yml +0 -135
  579. data/spec/spec_tests/data/collection_management/createCollection-pre_and_post_images.yml +0 -50
  580. data/spec/spec_tests/data/collection_management/modifyCollection-errorResponse.yml +0 -59
  581. data/spec/spec_tests/data/collection_management/modifyCollection-pre_and_post_images.yml +0 -58
  582. data/spec/spec_tests/data/collection_management/timeseries-collection.yml +0 -164
  583. data/spec/spec_tests/data/command_monitoring_unified/bulkWrite.yml +0 -68
  584. data/spec/spec_tests/data/command_monitoring_unified/command.yml +0 -50
  585. data/spec/spec_tests/data/command_monitoring_unified/deleteMany.yml +0 -79
  586. data/spec/spec_tests/data/command_monitoring_unified/deleteOne.yml +0 -79
  587. data/spec/spec_tests/data/command_monitoring_unified/find.yml +0 -254
  588. data/spec/spec_tests/data/command_monitoring_unified/insertMany.yml +0 -79
  589. data/spec/spec_tests/data/command_monitoring_unified/insertOne.yml +0 -77
  590. data/spec/spec_tests/data/command_monitoring_unified/pre-42-server-connection-id.yml +0 -56
  591. data/spec/spec_tests/data/command_monitoring_unified/redacted-commands.yml +0 -348
  592. data/spec/spec_tests/data/command_monitoring_unified/server-connection-id.yml +0 -56
  593. data/spec/spec_tests/data/command_monitoring_unified/unacknowledgedBulkWrite.yml +0 -55
  594. data/spec/spec_tests/data/command_monitoring_unified/updateMany.yml +0 -87
  595. data/spec/spec_tests/data/command_monitoring_unified/updateOne.yml +0 -118
  596. data/spec/spec_tests/data/command_monitoring_unified/writeConcernError.yml +0 -80
  597. data/spec/spec_tests/data/connection_string/invalid-uris.yml +0 -251
  598. data/spec/spec_tests/data/connection_string/valid-auth.yml +0 -257
  599. data/spec/spec_tests/data/connection_string/valid-db-with-dotted-name.yml +0 -77
  600. data/spec/spec_tests/data/connection_string/valid-host_identifiers.yml +0 -121
  601. data/spec/spec_tests/data/connection_string/valid-options.yml +0 -30
  602. data/spec/spec_tests/data/connection_string/valid-unix_socket-absolute.yml +0 -197
  603. data/spec/spec_tests/data/connection_string/valid-unix_socket-relative.yml +0 -213
  604. data/spec/spec_tests/data/connection_string/valid-warnings.yml +0 -75
  605. data/spec/spec_tests/data/crud/read/aggregate-collation.yml +0 -18
  606. data/spec/spec_tests/data/crud/read/aggregate-out.yml +0 -44
  607. data/spec/spec_tests/data/crud/read/aggregate.yml +0 -21
  608. data/spec/spec_tests/data/crud/read/count-collation.yml +0 -26
  609. data/spec/spec_tests/data/crud/read/count-empty.yml +0 -29
  610. data/spec/spec_tests/data/crud/read/count.yml +0 -74
  611. data/spec/spec_tests/data/crud/read/distinct-collation.yml +0 -18
  612. data/spec/spec_tests/data/crud/read/distinct.yml +0 -32
  613. data/spec/spec_tests/data/crud/read/find-collation.yml +0 -16
  614. data/spec/spec_tests/data/crud/read/find.yml +0 -49
  615. data/spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml +0 -45
  616. data/spec/spec_tests/data/crud/write/bulkWrite-collation.yml +0 -102
  617. data/spec/spec_tests/data/crud/write/bulkWrite.yml +0 -405
  618. data/spec/spec_tests/data/crud/write/deleteMany-collation.yml +0 -23
  619. data/spec/spec_tests/data/crud/write/deleteMany.yml +0 -35
  620. data/spec/spec_tests/data/crud/write/deleteOne-collation.yml +0 -23
  621. data/spec/spec_tests/data/crud/write/deleteOne.yml +0 -48
  622. data/spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml +0 -24
  623. data/spec/spec_tests/data/crud/write/findOneAndDelete.yml +0 -53
  624. data/spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml +0 -25
  625. data/spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml +0 -91
  626. data/spec/spec_tests/data/crud/write/findOneAndReplace-upsert_pre_2.6.yml +0 -88
  627. data/spec/spec_tests/data/crud/write/findOneAndReplace.yml +0 -113
  628. data/spec/spec_tests/data/crud/write/findOneAndUpdate-arrayFilters.yml +0 -69
  629. data/spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml +0 -28
  630. data/spec/spec_tests/data/crud/write/findOneAndUpdate.yml +0 -163
  631. data/spec/spec_tests/data/crud/write/insertMany.yml +0 -81
  632. data/spec/spec_tests/data/crud/write/insertOne.yml +0 -18
  633. data/spec/spec_tests/data/crud/write/replaceOne-collation.yml +0 -25
  634. data/spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml +0 -98
  635. data/spec/spec_tests/data/crud/write/replaceOne-upsert.yml +0 -48
  636. data/spec/spec_tests/data/crud/write/replaceOne.yml +0 -102
  637. data/spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml +0 -66
  638. data/spec/spec_tests/data/crud/write/updateMany-collation.yml +0 -29
  639. data/spec/spec_tests/data/crud/write/updateMany-pre_2.6.yml +0 -86
  640. data/spec/spec_tests/data/crud/write/updateMany.yml +0 -87
  641. data/spec/spec_tests/data/crud/write/updateOne-arrayFilters.yml +0 -114
  642. data/spec/spec_tests/data/crud/write/updateOne-collation.yml +0 -26
  643. data/spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml +0 -83
  644. data/spec/spec_tests/data/crud/write/updateOne.yml +0 -84
  645. data/spec/spec_tests/data/crud_unified/aggregate-allowdiskuse.yml +0 -75
  646. data/spec/spec_tests/data/crud_unified/aggregate-let.yml +0 -138
  647. data/spec/spec_tests/data/crud_unified/aggregate-merge-errorResponse.yml +0 -42
  648. data/spec/spec_tests/data/crud_unified/aggregate-merge.yml +0 -185
  649. data/spec/spec_tests/data/crud_unified/aggregate-out-readConcern.yml +0 -171
  650. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +0 -161
  651. data/spec/spec_tests/data/crud_unified/aggregate.yml +0 -215
  652. data/spec/spec_tests/data/crud_unified/bulkWrite-arrayFilters-clientError.yml +0 -98
  653. data/spec/spec_tests/data/crud_unified/bulkWrite-arrayFilters.yml +0 -174
  654. data/spec/spec_tests/data/crud_unified/bulkWrite-comment.yml +0 -189
  655. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint-clientError.yml +0 -113
  656. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint-serverError.yml +0 -142
  657. data/spec/spec_tests/data/crud_unified/bulkWrite-delete-hint.yml +0 -154
  658. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteMany-hint-unacknowledged.yml +0 -98
  659. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteMany-let.yml +0 -86
  660. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteOne-hint-unacknowledged.yml +0 -97
  661. data/spec/spec_tests/data/crud_unified/bulkWrite-deleteOne-let.yml +0 -86
  662. data/spec/spec_tests/data/crud_unified/bulkWrite-errorResponse.yml +0 -50
  663. data/spec/spec_tests/data/crud_unified/bulkWrite-insertOne-dots_and_dollars.yml +0 -138
  664. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-dots_and_dollars.yml +0 -165
  665. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-hint-unacknowledged.yml +0 -103
  666. data/spec/spec_tests/data/crud_unified/bulkWrite-replaceOne-let.yml +0 -93
  667. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint-clientError.yml +0 -148
  668. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint-serverError.yml +0 -239
  669. data/spec/spec_tests/data/crud_unified/bulkWrite-update-hint.yml +0 -256
  670. data/spec/spec_tests/data/crud_unified/bulkWrite-update-validation.yml +0 -73
  671. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-dots_and_dollars.yml +0 -150
  672. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-hint-unacknowledged.yml +0 -104
  673. data/spec/spec_tests/data/crud_unified/bulkWrite-updateMany-let.yml +0 -96
  674. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-dots_and_dollars.yml +0 -150
  675. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-hint-unacknowledged.yml +0 -103
  676. data/spec/spec_tests/data/crud_unified/bulkWrite-updateOne-let.yml +0 -95
  677. data/spec/spec_tests/data/crud_unified/countDocuments-comment.yml +0 -92
  678. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +0 -157
  679. data/spec/spec_tests/data/crud_unified/db-aggregate.yml +0 -73
  680. data/spec/spec_tests/data/crud_unified/deleteMany-comment.yml +0 -97
  681. data/spec/spec_tests/data/crud_unified/deleteMany-hint-clientError.yml +0 -87
  682. data/spec/spec_tests/data/crud_unified/deleteMany-hint-serverError.yml +0 -107
  683. data/spec/spec_tests/data/crud_unified/deleteMany-hint-unacknowledged.yml +0 -90
  684. data/spec/spec_tests/data/crud_unified/deleteMany-hint.yml +0 -99
  685. data/spec/spec_tests/data/crud_unified/deleteMany-let.yml +0 -93
  686. data/spec/spec_tests/data/crud_unified/deleteOne-comment.yml +0 -98
  687. data/spec/spec_tests/data/crud_unified/deleteOne-errorResponse.yml +0 -46
  688. data/spec/spec_tests/data/crud_unified/deleteOne-hint-clientError.yml +0 -80
  689. data/spec/spec_tests/data/crud_unified/deleteOne-hint-serverError.yml +0 -100
  690. data/spec/spec_tests/data/crud_unified/deleteOne-hint-unacknowledged.yml +0 -89
  691. data/spec/spec_tests/data/crud_unified/deleteOne-hint.yml +0 -95
  692. data/spec/spec_tests/data/crud_unified/deleteOne-let.yml +0 -91
  693. data/spec/spec_tests/data/crud_unified/distinct-comment.yml +0 -98
  694. data/spec/spec_tests/data/crud_unified/estimatedDocumentCount-comment.yml +0 -95
  695. data/spec/spec_tests/data/crud_unified/estimatedDocumentCount.yml +0 -181
  696. data/spec/spec_tests/data/crud_unified/find-allowdiskuse-clientError.yml +0 -55
  697. data/spec/spec_tests/data/crud_unified/find-allowdiskuse-serverError.yml +0 -68
  698. data/spec/spec_tests/data/crud_unified/find-allowdiskuse.yml +0 -79
  699. data/spec/spec_tests/data/crud_unified/find-comment.yml +0 -166
  700. data/spec/spec_tests/data/crud_unified/find-let.yml +0 -71
  701. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +0 -377
  702. data/spec/spec_tests/data/crud_unified/find.yml +0 -68
  703. data/spec/spec_tests/data/crud_unified/findOneAndDelete-comment.yml +0 -96
  704. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-clientError.yml +0 -91
  705. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-serverError.yml +0 -107
  706. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint-unacknowledged.yml +0 -88
  707. data/spec/spec_tests/data/crud_unified/findOneAndDelete-hint.yml +0 -102
  708. data/spec/spec_tests/data/crud_unified/findOneAndDelete-let.yml +0 -86
  709. data/spec/spec_tests/data/crud_unified/findOneAndReplace-comment.yml +0 -101
  710. data/spec/spec_tests/data/crud_unified/findOneAndReplace-dots_and_dollars.yml +0 -140
  711. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-clientError.yml +0 -83
  712. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-serverError.yml +0 -99
  713. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint-unacknowledged.yml +0 -96
  714. data/spec/spec_tests/data/crud_unified/findOneAndReplace-hint.yml +0 -98
  715. data/spec/spec_tests/data/crud_unified/findOneAndReplace-let.yml +0 -94
  716. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-comment.yml +0 -95
  717. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-dots_and_dollars.yml +0 -127
  718. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-errorResponse.yml +0 -69
  719. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-clientError.yml +0 -84
  720. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-serverError.yml +0 -100
  721. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint-unacknowledged.yml +0 -92
  722. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-hint.yml +0 -99
  723. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-let.yml +0 -96
  724. data/spec/spec_tests/data/crud_unified/insertMany-comment.yml +0 -93
  725. data/spec/spec_tests/data/crud_unified/insertMany-dots_and_dollars.yml +0 -128
  726. data/spec/spec_tests/data/crud_unified/insertOne-comment.yml +0 -91
  727. data/spec/spec_tests/data/crud_unified/insertOne-dots_and_dollars.yml +0 -238
  728. data/spec/spec_tests/data/crud_unified/insertOne-errorResponse.yml +0 -46
  729. data/spec/spec_tests/data/crud_unified/replaceOne-comment.yml +0 -105
  730. data/spec/spec_tests/data/crud_unified/replaceOne-dots_and_dollars.yml +0 -180
  731. data/spec/spec_tests/data/crud_unified/replaceOne-hint-unacknowledged.yml +0 -95
  732. data/spec/spec_tests/data/crud_unified/replaceOne-hint.yml +0 -108
  733. data/spec/spec_tests/data/crud_unified/replaceOne-let.yml +0 -98
  734. data/spec/spec_tests/data/crud_unified/replaceOne-validation.yml +0 -37
  735. data/spec/spec_tests/data/crud_unified/updateMany-comment.yml +0 -104
  736. data/spec/spec_tests/data/crud_unified/updateMany-dots_and_dollars.yml +0 -138
  737. data/spec/spec_tests/data/crud_unified/updateMany-hint-clientError.yml +0 -91
  738. data/spec/spec_tests/data/crud_unified/updateMany-hint-serverError.yml +0 -115
  739. data/spec/spec_tests/data/crud_unified/updateMany-hint-unacknowledged.yml +0 -96
  740. data/spec/spec_tests/data/crud_unified/updateMany-hint.yml +0 -115
  741. data/spec/spec_tests/data/crud_unified/updateMany-let.yml +0 -107
  742. data/spec/spec_tests/data/crud_unified/updateMany-validation.yml +0 -39
  743. data/spec/spec_tests/data/crud_unified/updateOne-comment.yml +0 -104
  744. data/spec/spec_tests/data/crud_unified/updateOne-dots_and_dollars.yml +0 -138
  745. data/spec/spec_tests/data/crud_unified/updateOne-errorResponse.yml +0 -47
  746. data/spec/spec_tests/data/crud_unified/updateOne-hint-clientError.yml +0 -85
  747. data/spec/spec_tests/data/crud_unified/updateOne-hint-serverError.yml +0 -109
  748. data/spec/spec_tests/data/crud_unified/updateOne-hint-unacknowledged.yml +0 -95
  749. data/spec/spec_tests/data/crud_unified/updateOne-hint.yml +0 -109
  750. data/spec/spec_tests/data/crud_unified/updateOne-let.yml +0 -102
  751. data/spec/spec_tests/data/crud_unified/updateOne-validation.yml +0 -37
  752. data/spec/spec_tests/data/crud_unified/updateWithPipelines.yml +0 -299
  753. data/spec/spec_tests/data/gridfs/delete.yml +0 -123
  754. data/spec/spec_tests/data/gridfs/download.yml +0 -192
  755. data/spec/spec_tests/data/gridfs/download_by_name.yml +0 -113
  756. data/spec/spec_tests/data/gridfs/upload.yml +0 -158
  757. data/spec/spec_tests/data/gridfs_unified/delete.yml +0 -198
  758. data/spec/spec_tests/data/gridfs_unified/download.yml +0 -241
  759. data/spec/spec_tests/data/gridfs_unified/downloadByName.yml +0 -159
  760. data/spec/spec_tests/data/gridfs_unified/upload-disableMD5.yml +0 -92
  761. data/spec/spec_tests/data/gridfs_unified/upload.yml +0 -288
  762. data/spec/spec_tests/data/index_management/createSearchIndex.yml +0 -64
  763. data/spec/spec_tests/data/index_management/createSearchIndexes.yml +0 -86
  764. data/spec/spec_tests/data/index_management/dropSearchIndex.yml +0 -43
  765. data/spec/spec_tests/data/index_management/listSearchIndexes.yml +0 -91
  766. data/spec/spec_tests/data/index_management/updateSearchIndex.yml +0 -46
  767. data/spec/spec_tests/data/load_balancers/event-monitoring.yml +0 -99
  768. data/spec/spec_tests/data/load_balancers/lb-connection-establishment.yml +0 -36
  769. data/spec/spec_tests/data/load_balancers/non-lb-connection-establishment.yml +0 -56
  770. data/spec/spec_tests/data/load_balancers/server-selection.yml +0 -50
  771. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml +0 -26
  772. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Incompatible.yml +0 -25
  773. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml +0 -33
  774. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/MaxStalenessTooSmall.yml +0 -15
  775. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml +0 -33
  776. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml +0 -33
  777. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml +0 -16
  778. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml +0 -27
  779. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml +0 -36
  780. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml +0 -51
  781. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml +0 -26
  782. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml +0 -51
  783. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml +0 -23
  784. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml +0 -26
  785. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Incompatible.yml +0 -25
  786. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml +0 -35
  787. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml +0 -29
  788. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml +0 -25
  789. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml +0 -26
  790. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml +0 -23
  791. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml +0 -33
  792. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml +0 -33
  793. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml +0 -36
  794. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml +0 -27
  795. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred_incompatible.yml +0 -27
  796. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml +0 -26
  797. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml +0 -59
  798. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml +0 -43
  799. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml +0 -59
  800. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml +0 -43
  801. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml +0 -23
  802. data/spec/spec_tests/data/max_staleness/Sharded/Incompatible.yml +0 -25
  803. data/spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml +0 -28
  804. data/spec/spec_tests/data/max_staleness/Single/Incompatible.yml +0 -18
  805. data/spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml +0 -20
  806. data/spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml +0 -15
  807. data/spec/spec_tests/data/read_write_concern/connection-string/read-concern.yml +0 -32
  808. data/spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml +0 -79
  809. data/spec/spec_tests/data/read_write_concern/document/read-concern.yml +0 -37
  810. data/spec/spec_tests/data/read_write_concern/document/write-concern.yml +0 -100
  811. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-2.6.yml +0 -215
  812. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.2.yml +0 -58
  813. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-3.4.yml +0 -95
  814. data/spec/spec_tests/data/read_write_concern/operation/default-write-concern-4.2.yml +0 -36
  815. data/spec/spec_tests/data/retryable_reads/legacy/aggregate-merge.yml +0 -39
  816. data/spec/spec_tests/data/retryable_reads/legacy/aggregate-serverErrors.yml +0 -157
  817. data/spec/spec_tests/data/retryable_reads/legacy/aggregate.yml +0 -87
  818. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-client.watch-serverErrors.yml +0 -150
  819. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-client.watch.yml +0 -62
  820. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.coll.watch-serverErrors.yml +0 -150
  821. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.coll.watch.yml +0 -66
  822. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.watch-serverErrors.yml +0 -154
  823. data/spec/spec_tests/data/retryable_reads/legacy/changeStreams-db.watch.yml +0 -62
  824. data/spec/spec_tests/data/retryable_reads/legacy/count-serverErrors.yml +0 -150
  825. data/spec/spec_tests/data/retryable_reads/legacy/count.yml +0 -64
  826. data/spec/spec_tests/data/retryable_reads/legacy/countDocuments-serverErrors.yml +0 -150
  827. data/spec/spec_tests/data/retryable_reads/legacy/countDocuments.yml +0 -64
  828. data/spec/spec_tests/data/retryable_reads/legacy/distinct-serverErrors.yml +0 -156
  829. data/spec/spec_tests/data/retryable_reads/legacy/distinct.yml +0 -71
  830. data/spec/spec_tests/data/retryable_reads/legacy/estimatedDocumentCount-serverErrors.yml +0 -148
  831. data/spec/spec_tests/data/retryable_reads/legacy/estimatedDocumentCount.yml +0 -62
  832. data/spec/spec_tests/data/retryable_reads/legacy/find-serverErrors.yml +0 -160
  833. data/spec/spec_tests/data/retryable_reads/legacy/find.yml +0 -86
  834. data/spec/spec_tests/data/retryable_reads/legacy/findOne-serverErrors.yml +0 -154
  835. data/spec/spec_tests/data/retryable_reads/legacy/findOne.yml +0 -68
  836. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-download-serverErrors.yml +0 -173
  837. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-download.yml +0 -79
  838. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-downloadByName-serverErrors.yml +0 -174
  839. data/spec/spec_tests/data/retryable_reads/legacy/gridfs-downloadByName.yml +0 -79
  840. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionNames-serverErrors.yml +0 -143
  841. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionNames.yml +0 -59
  842. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionObjects-serverErrors.yml +0 -144
  843. data/spec/spec_tests/data/retryable_reads/legacy/listCollectionObjects.yml +0 -59
  844. data/spec/spec_tests/data/retryable_reads/legacy/listCollections-serverErrors.yml +0 -143
  845. data/spec/spec_tests/data/retryable_reads/legacy/listCollections.yml +0 -59
  846. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseNames-serverErrors.yml +0 -143
  847. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseNames.yml +0 -59
  848. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseObjects-serverErrors.yml +0 -144
  849. data/spec/spec_tests/data/retryable_reads/legacy/listDatabaseObjects.yml +0 -59
  850. data/spec/spec_tests/data/retryable_reads/legacy/listDatabases-serverErrors.yml +0 -144
  851. data/spec/spec_tests/data/retryable_reads/legacy/listDatabases.yml +0 -59
  852. data/spec/spec_tests/data/retryable_reads/legacy/listIndexNames-serverErrors.yml +0 -144
  853. data/spec/spec_tests/data/retryable_reads/legacy/listIndexNames.yml +0 -60
  854. data/spec/spec_tests/data/retryable_reads/legacy/listIndexes-serverErrors.yml +0 -145
  855. data/spec/spec_tests/data/retryable_reads/legacy/listIndexes.yml +0 -60
  856. data/spec/spec_tests/data/retryable_reads/legacy/mapReduce.yml +0 -62
  857. data/spec/spec_tests/data/retryable_reads/unified/handshakeError.yml +0 -1342
  858. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite-errorLabels.yml +0 -77
  859. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite-serverErrors.yml +0 -130
  860. data/spec/spec_tests/data/retryable_writes/legacy/bulkWrite.yml +0 -402
  861. data/spec/spec_tests/data/retryable_writes/legacy/deleteMany.yml +0 -22
  862. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne-errorLabels.yml +0 -48
  863. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne-serverErrors.yml +0 -73
  864. data/spec/spec_tests/data/retryable_writes/legacy/deleteOne.yml +0 -57
  865. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete-errorLabels.yml +0 -49
  866. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete-serverErrors.yml +0 -74
  867. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndDelete.yml +0 -58
  868. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace-errorLabels.yml +0 -52
  869. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace-serverErrors.yml +0 -80
  870. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndReplace.yml +0 -63
  871. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate-errorLabels.yml +0 -52
  872. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate-serverErrors.yml +0 -79
  873. data/spec/spec_tests/data/retryable_writes/legacy/findOneAndUpdate.yml +0 -62
  874. data/spec/spec_tests/data/retryable_writes/legacy/insertMany-errorLabels.yml +0 -54
  875. data/spec/spec_tests/data/retryable_writes/legacy/insertMany-serverErrors.yml +0 -84
  876. data/spec/spec_tests/data/retryable_writes/legacy/insertMany.yml +0 -74
  877. data/spec/spec_tests/data/retryable_writes/legacy/insertOne-errorLabels.yml +0 -44
  878. data/spec/spec_tests/data/retryable_writes/legacy/insertOne-serverErrors.yml +0 -527
  879. data/spec/spec_tests/data/retryable_writes/legacy/insertOne.yml +0 -61
  880. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne-errorLabels.yml +0 -53
  881. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne-serverErrors.yml +0 -82
  882. data/spec/spec_tests/data/retryable_writes/legacy/replaceOne.yml +0 -66
  883. data/spec/spec_tests/data/retryable_writes/legacy/updateMany.yml +0 -27
  884. data/spec/spec_tests/data/retryable_writes/legacy/updateOne-errorLabels.yml +0 -53
  885. data/spec/spec_tests/data/retryable_writes/legacy/updateOne-serverErrors.yml +0 -82
  886. data/spec/spec_tests/data/retryable_writes/legacy/updateOne.yml +0 -129
  887. data/spec/spec_tests/data/retryable_writes/unified/bulkWrite-serverErrors.yml +0 -93
  888. data/spec/spec_tests/data/retryable_writes/unified/handshakeError.yml +0 -785
  889. data/spec/spec_tests/data/retryable_writes/unified/insertOne-noWritesPerformedError.yml +0 -54
  890. data/spec/spec_tests/data/retryable_writes/unified/insertOne-serverErrors.yml +0 -75
  891. data/spec/spec_tests/data/run_command_unified/runCommand.yml +0 -319
  892. data/spec/spec_tests/data/sdam/errors/error_handling_handshake.yml +0 -55
  893. data/spec/spec_tests/data/sdam/errors/non-stale-network-error.yml +0 -47
  894. data/spec/spec_tests/data/sdam/errors/non-stale-network-timeout-error.yml +0 -38
  895. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedAtShutdown.yml +0 -61
  896. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-InterruptedDueToReplStateChange.yml +0 -61
  897. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-LegacyNotPrimary.yml +0 -61
  898. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotPrimaryNoSecondaryOk.yml +0 -61
  899. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotPrimaryOrSecondary.yml +0 -61
  900. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-NotWritablePrimary.yml +0 -61
  901. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-PrimarySteppedDown.yml +0 -61
  902. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-greater-ShutdownInProgress.yml +0 -61
  903. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedAtShutdown.yml +0 -52
  904. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-InterruptedDueToReplStateChange.yml +0 -52
  905. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-LegacyNotPrimary.yml +0 -52
  906. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotPrimaryNoSecondaryOk.yml +0 -52
  907. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotPrimaryOrSecondary.yml +0 -52
  908. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-NotWritablePrimary.yml +0 -52
  909. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-PrimarySteppedDown.yml +0 -52
  910. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-missing-ShutdownInProgress.yml +0 -52
  911. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedAtShutdown.yml +0 -61
  912. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-InterruptedDueToReplStateChange.yml +0 -61
  913. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-LegacyNotPrimary.yml +0 -61
  914. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotPrimaryNoSecondaryOk.yml +0 -61
  915. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotPrimaryOrSecondary.yml +0 -61
  916. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-NotWritablePrimary.yml +0 -61
  917. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-PrimarySteppedDown.yml +0 -61
  918. data/spec/spec_tests/data/sdam/errors/non-stale-topologyVersion-proccessId-changed-ShutdownInProgress.yml +0 -61
  919. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedAtShutdown.yml +0 -47
  920. data/spec/spec_tests/data/sdam/errors/post-42-InterruptedDueToReplStateChange.yml +0 -47
  921. data/spec/spec_tests/data/sdam/errors/post-42-LegacyNotPrimary.yml +0 -47
  922. data/spec/spec_tests/data/sdam/errors/post-42-NotPrimaryNoSecondaryOk.yml +0 -47
  923. data/spec/spec_tests/data/sdam/errors/post-42-NotPrimaryOrSecondary.yml +0 -47
  924. data/spec/spec_tests/data/sdam/errors/post-42-NotWritablePrimary.yml +0 -47
  925. data/spec/spec_tests/data/sdam/errors/post-42-PrimarySteppedDown.yml +0 -47
  926. data/spec/spec_tests/data/sdam/errors/post-42-ShutdownInProgress.yml +0 -47
  927. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedAtShutdown.yml +0 -47
  928. data/spec/spec_tests/data/sdam/errors/pre-42-InterruptedDueToReplStateChange.yml +0 -47
  929. data/spec/spec_tests/data/sdam/errors/pre-42-LegacyNotPrimary.yml +0 -47
  930. data/spec/spec_tests/data/sdam/errors/pre-42-NotPrimaryNoSecondaryOk.yml +0 -47
  931. data/spec/spec_tests/data/sdam/errors/pre-42-NotPrimaryOrSecondary.yml +0 -47
  932. data/spec/spec_tests/data/sdam/errors/pre-42-NotWritablePrimary.yml +0 -47
  933. data/spec/spec_tests/data/sdam/errors/pre-42-PrimarySteppedDown.yml +0 -47
  934. data/spec/spec_tests/data/sdam/errors/pre-42-ShutdownInProgress.yml +0 -47
  935. data/spec/spec_tests/data/sdam/errors/prefer-error-code.yml +0 -54
  936. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedAtShutdown.yml +0 -91
  937. data/spec/spec_tests/data/sdam/errors/stale-generation-InterruptedDueToReplStateChange.yml +0 -91
  938. data/spec/spec_tests/data/sdam/errors/stale-generation-NotPrimaryNoSecondaryOk.yml +0 -91
  939. data/spec/spec_tests/data/sdam/errors/stale-generation-NotPrimaryOrSecondary.yml +0 -91
  940. data/spec/spec_tests/data/sdam/errors/stale-generation-NotWritablePrimary.yml +0 -91
  941. data/spec/spec_tests/data/sdam/errors/stale-generation-PrimarySteppedDown.yml +0 -91
  942. data/spec/spec_tests/data/sdam/errors/stale-generation-ShutdownInProgress.yml +0 -91
  943. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedAtShutdown.yml +0 -91
  944. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-InterruptedDueToReplStateChange.yml +0 -91
  945. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-LegacyNotPrimary.yml +0 -91
  946. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotPrimaryNoSecondaryOk.yml +0 -91
  947. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotPrimaryOrSecondary.yml +0 -91
  948. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-NotWritablePrimary.yml +0 -91
  949. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-PrimarySteppedDown.yml +0 -91
  950. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-ShutdownInProgress.yml +0 -91
  951. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-network.yml +0 -82
  952. data/spec/spec_tests/data/sdam/errors/stale-generation-afterHandshakeCompletes-timeout.yml +0 -82
  953. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedAtShutdown.yml +0 -91
  954. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-InterruptedDueToReplStateChange.yml +0 -91
  955. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-LegacyNotPrimary.yml +0 -91
  956. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotPrimaryNoSecondaryOk.yml +0 -91
  957. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotPrimaryOrSecondary.yml +0 -91
  958. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-NotWritablePrimary.yml +0 -91
  959. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-PrimarySteppedDown.yml +0 -91
  960. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-ShutdownInProgress.yml +0 -91
  961. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-network.yml +0 -82
  962. data/spec/spec_tests/data/sdam/errors/stale-generation-beforeHandshakeCompletes-timeout.yml +0 -82
  963. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedAtShutdown.yml +0 -65
  964. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-InterruptedDueToReplStateChange.yml +0 -65
  965. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-LegacyNotPrimary.yml +0 -65
  966. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotPrimaryNoSecondaryOk.yml +0 -65
  967. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotPrimaryOrSecondary.yml +0 -65
  968. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-NotWritablePrimary.yml +0 -65
  969. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-PrimarySteppedDown.yml +0 -65
  970. data/spec/spec_tests/data/sdam/errors/stale-topologyVersion-ShutdownInProgress.yml +0 -65
  971. data/spec/spec_tests/data/sdam/errors/write_errors_ignored.yml +0 -42
  972. data/spec/spec_tests/data/sdam/load-balanced/discover_load_balancer.yml +0 -25
  973. data/spec/spec_tests/data/sdam/rs/compatible.yml +0 -45
  974. data/spec/spec_tests/data/sdam/rs/compatible_unknown.yml +0 -34
  975. data/spec/spec_tests/data/sdam/rs/discover_arbiters.yml +0 -44
  976. data/spec/spec_tests/data/sdam/rs/discover_arbiters_replicaset.yml +0 -44
  977. data/spec/spec_tests/data/sdam/rs/discover_ghost.yml +0 -36
  978. data/spec/spec_tests/data/sdam/rs/discover_ghost_replicaset.yml +0 -42
  979. data/spec/spec_tests/data/sdam/rs/discover_hidden.yml +0 -51
  980. data/spec/spec_tests/data/sdam/rs/discover_hidden_replicaset.yml +0 -51
  981. data/spec/spec_tests/data/sdam/rs/discover_passives.yml +0 -83
  982. data/spec/spec_tests/data/sdam/rs/discover_passives_replicaset.yml +0 -83
  983. data/spec/spec_tests/data/sdam/rs/discover_primary.yml +0 -43
  984. data/spec/spec_tests/data/sdam/rs/discover_primary_replicaset.yml +0 -43
  985. data/spec/spec_tests/data/sdam/rs/discover_rsother.yml +0 -50
  986. data/spec/spec_tests/data/sdam/rs/discover_rsother_replicaset.yml +0 -68
  987. data/spec/spec_tests/data/sdam/rs/discover_secondary.yml +0 -44
  988. data/spec/spec_tests/data/sdam/rs/discover_secondary_replicaset.yml +0 -44
  989. data/spec/spec_tests/data/sdam/rs/discovery.yml +0 -207
  990. data/spec/spec_tests/data/sdam/rs/electionId_precedence_setVersion.yml +0 -62
  991. data/spec/spec_tests/data/sdam/rs/equal_electionids.yml +0 -57
  992. data/spec/spec_tests/data/sdam/rs/hosts_differ_from_seeds.yml +0 -37
  993. data/spec/spec_tests/data/sdam/rs/incompatible_arbiter.yml +0 -36
  994. data/spec/spec_tests/data/sdam/rs/incompatible_ghost.yml +0 -34
  995. data/spec/spec_tests/data/sdam/rs/incompatible_other.yml +0 -36
  996. data/spec/spec_tests/data/sdam/rs/ls_timeout.yml +0 -249
  997. data/spec/spec_tests/data/sdam/rs/member_reconfig.yml +0 -74
  998. data/spec/spec_tests/data/sdam/rs/member_standalone.yml +0 -66
  999. data/spec/spec_tests/data/sdam/rs/new_primary.yml +0 -80
  1000. data/spec/spec_tests/data/sdam/rs/new_primary_new_electionid.yml +0 -119
  1001. data/spec/spec_tests/data/sdam/rs/new_primary_new_setversion.yml +0 -119
  1002. data/spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml +0 -77
  1003. data/spec/spec_tests/data/sdam/rs/non_rs_member.yml +0 -33
  1004. data/spec/spec_tests/data/sdam/rs/normalize_case.yml +0 -52
  1005. data/spec/spec_tests/data/sdam/rs/normalize_case_me.yml +0 -102
  1006. data/spec/spec_tests/data/sdam/rs/null_election_id-pre-6.0.yml +0 -175
  1007. data/spec/spec_tests/data/sdam/rs/null_election_id.yml +0 -177
  1008. data/spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml +0 -65
  1009. data/spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml +0 -58
  1010. data/spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml +0 -55
  1011. data/spec/spec_tests/data/sdam/rs/primary_changes_set_name.yml +0 -63
  1012. data/spec/spec_tests/data/sdam/rs/primary_disconnect.yml +0 -59
  1013. data/spec/spec_tests/data/sdam/rs/primary_disconnect_electionid.yml +0 -189
  1014. data/spec/spec_tests/data/sdam/rs/primary_disconnect_setversion.yml +0 -189
  1015. data/spec/spec_tests/data/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml +0 -64
  1016. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml +0 -27
  1017. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml +0 -75
  1018. data/spec/spec_tests/data/sdam/rs/primary_reports_new_member.yml +0 -175
  1019. data/spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml +0 -81
  1020. data/spec/spec_tests/data/sdam/rs/primary_wrong_set_name.yml +0 -30
  1021. data/spec/spec_tests/data/sdam/rs/repeated.yml +0 -105
  1022. data/spec/spec_tests/data/sdam/rs/replicaset_rsnp.yml +0 -21
  1023. data/spec/spec_tests/data/sdam/rs/response_from_removed.yml +0 -69
  1024. data/spec/spec_tests/data/sdam/rs/ruby_primary_address_change.yml +0 -31
  1025. data/spec/spec_tests/data/sdam/rs/ruby_secondary_wrong_set_name_with_primary_second.yml +0 -73
  1026. data/spec/spec_tests/data/sdam/rs/sec_not_auth.yml +0 -55
  1027. data/spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0-pre-6.0.yml +0 -87
  1028. data/spec/spec_tests/data/sdam/rs/secondary_ignore_ok_0.yml +0 -87
  1029. data/spec/spec_tests/data/sdam/rs/secondary_mismatched_me.yml +0 -28
  1030. data/spec/spec_tests/data/sdam/rs/secondary_wrong_set_name.yml +0 -31
  1031. data/spec/spec_tests/data/sdam/rs/secondary_wrong_set_name_with_primary.yml +0 -75
  1032. data/spec/spec_tests/data/sdam/rs/set_version_can_rollback.yml +0 -101
  1033. data/spec/spec_tests/data/sdam/rs/setversion_equal_max_without_electionid.yml +0 -78
  1034. data/spec/spec_tests/data/sdam/rs/setversion_greaterthan_max_without_electionid.yml +0 -79
  1035. data/spec/spec_tests/data/sdam/rs/setversion_without_electionid-pre-6.0.yml +0 -79
  1036. data/spec/spec_tests/data/sdam/rs/setversion_without_electionid.yml +0 -78
  1037. data/spec/spec_tests/data/sdam/rs/stepdown_change_set_name.yml +0 -65
  1038. data/spec/spec_tests/data/sdam/rs/too_new.yml +0 -45
  1039. data/spec/spec_tests/data/sdam/rs/too_old.yml +0 -41
  1040. data/spec/spec_tests/data/sdam/rs/topology_version_equal.yml +0 -68
  1041. data/spec/spec_tests/data/sdam/rs/topology_version_greater.yml +0 -194
  1042. data/spec/spec_tests/data/sdam/rs/topology_version_less.yml +0 -64
  1043. data/spec/spec_tests/data/sdam/rs/unexpected_mongos.yml +0 -29
  1044. data/spec/spec_tests/data/sdam/rs/use_setversion_without_electionid-pre-6.0.yml +0 -117
  1045. data/spec/spec_tests/data/sdam/rs/use_setversion_without_electionid.yml +0 -119
  1046. data/spec/spec_tests/data/sdam/rs/wrong_set_name.yml +0 -38
  1047. data/spec/spec_tests/data/sdam/sharded/compatible.yml +0 -40
  1048. data/spec/spec_tests/data/sdam/sharded/discover_single_mongos.yml +0 -24
  1049. data/spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml +0 -101
  1050. data/spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml +0 -113
  1051. data/spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml +0 -52
  1052. data/spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml +0 -47
  1053. data/spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml +0 -32
  1054. data/spec/spec_tests/data/sdam/sharded/ruby_primary_different_address.yml +0 -21
  1055. data/spec/spec_tests/data/sdam/sharded/ruby_primary_mismatched_me.yml +0 -22
  1056. data/spec/spec_tests/data/sdam/sharded/too_new.yml +0 -38
  1057. data/spec/spec_tests/data/sdam/sharded/too_old.yml +0 -38
  1058. data/spec/spec_tests/data/sdam/single/compatible.yml +0 -27
  1059. data/spec/spec_tests/data/sdam/single/direct_connection_external_ip.yml +0 -37
  1060. data/spec/spec_tests/data/sdam/single/direct_connection_mongos.yml +0 -36
  1061. data/spec/spec_tests/data/sdam/single/direct_connection_replicaset.yml +0 -23
  1062. data/spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml +0 -38
  1063. data/spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml +0 -37
  1064. data/spec/spec_tests/data/sdam/single/direct_connection_rssecondary.yml +0 -38
  1065. data/spec/spec_tests/data/sdam/single/direct_connection_standalone.yml +0 -35
  1066. data/spec/spec_tests/data/sdam/single/direct_connection_unavailable_seed.yml +0 -28
  1067. data/spec/spec_tests/data/sdam/single/direct_connection_wrong_set_name.yml +0 -40
  1068. data/spec/spec_tests/data/sdam/single/discover_standalone.yml +0 -35
  1069. data/spec/spec_tests/data/sdam/single/discover_unavailable_seed.yml +0 -28
  1070. data/spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml +0 -36
  1071. data/spec/spec_tests/data/sdam/single/not_ok_response.yml +0 -44
  1072. data/spec/spec_tests/data/sdam/single/ruby_primary_different_address.yml +0 -24
  1073. data/spec/spec_tests/data/sdam/single/ruby_primary_mismatched_me.yml +0 -25
  1074. data/spec/spec_tests/data/sdam/single/standalone_removed.yml +0 -35
  1075. data/spec/spec_tests/data/sdam/single/standalone_using_legacy_hello.yml +0 -34
  1076. data/spec/spec_tests/data/sdam/single/too_new.yml +0 -27
  1077. data/spec/spec_tests/data/sdam/single/too_old.yml +0 -25
  1078. data/spec/spec_tests/data/sdam/single/too_old_then_upgraded.yml +0 -48
  1079. data/spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml +0 -70
  1080. data/spec/spec_tests/data/sdam_monitoring/load_balancer.yml +0 -65
  1081. data/spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml +0 -222
  1082. data/spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml +0 -225
  1083. data/spec/spec_tests/data/sdam_monitoring/replica_set_primary_address_change.yml +0 -251
  1084. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml +0 -111
  1085. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml +0 -112
  1086. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml +0 -111
  1087. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml +0 -198
  1088. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml +0 -175
  1089. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml +0 -111
  1090. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml +0 -106
  1091. data/spec/spec_tests/data/sdam_monitoring/required_replica_set.yml +0 -108
  1092. data/spec/spec_tests/data/sdam_monitoring/standalone.yml +0 -70
  1093. data/spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml +0 -86
  1094. data/spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml +0 -73
  1095. data/spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml +0 -90
  1096. data/spec/spec_tests/data/sdam_unified/auth-error.yml +0 -130
  1097. data/spec/spec_tests/data/sdam_unified/auth-misc-command-error.yml +0 -132
  1098. data/spec/spec_tests/data/sdam_unified/auth-network-error.yml +0 -132
  1099. data/spec/spec_tests/data/sdam_unified/auth-network-timeout-error.yml +0 -138
  1100. data/spec/spec_tests/data/sdam_unified/auth-shutdown-error.yml +0 -133
  1101. data/spec/spec_tests/data/sdam_unified/cancel-server-check.yml +0 -143
  1102. data/spec/spec_tests/data/sdam_unified/connectTimeoutMS.yml +0 -130
  1103. data/spec/spec_tests/data/sdam_unified/find-network-error.yml +0 -135
  1104. data/spec/spec_tests/data/sdam_unified/find-network-timeout-error.yml +0 -119
  1105. data/spec/spec_tests/data/sdam_unified/find-shutdown-error.yml +0 -163
  1106. data/spec/spec_tests/data/sdam_unified/hello-command-error.yml +0 -233
  1107. data/spec/spec_tests/data/sdam_unified/hello-network-error.yml +0 -228
  1108. data/spec/spec_tests/data/sdam_unified/hello-timeout.yml +0 -318
  1109. data/spec/spec_tests/data/sdam_unified/insert-network-error.yml +0 -137
  1110. data/spec/spec_tests/data/sdam_unified/insert-shutdown-error.yml +0 -162
  1111. data/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml +0 -340
  1112. data/spec/spec_tests/data/sdam_unified/minPoolSize-error.yml +0 -125
  1113. data/spec/spec_tests/data/sdam_unified/pool-cleared-error.yml +0 -239
  1114. data/spec/spec_tests/data/sdam_unified/rediscover-quickly-after-step-down.yml +0 -144
  1115. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-directConnection.yml +0 -14
  1116. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-no-results.yml +0 -5
  1117. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-replicaSet-errors.yml +0 -6
  1118. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-multiple-hosts.yml +0 -5
  1119. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-txt.yml +0 -11
  1120. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-conflicts_with_loadBalanced-true-txt.yml +0 -5
  1121. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-conflicts_with_loadBalanced-true.yml +0 -5
  1122. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-zero-txt.yml +0 -11
  1123. data/spec/spec_tests/data/seed_list_discovery/load-balanced/srvMaxHosts-zero.yml +0 -11
  1124. data/spec/spec_tests/data/seed_list_discovery/replica-set/direct-connection-false.yml +0 -10
  1125. data/spec/spec_tests/data/seed_list_discovery/replica-set/direct-connection-true.yml +0 -5
  1126. data/spec/spec_tests/data/seed_list_discovery/replica-set/encoded-userinfo-and-db.yml +0 -15
  1127. data/spec/spec_tests/data/seed_list_discovery/replica-set/loadBalanced-false-txt.yml +0 -10
  1128. data/spec/spec_tests/data/seed_list_discovery/replica-set/longer-parent-in-return.yml +0 -11
  1129. data/spec/spec_tests/data/seed_list_discovery/replica-set/misformatted-option.yml +0 -5
  1130. data/spec/spec_tests/data/seed_list_discovery/replica-set/no-results.yml +0 -5
  1131. data/spec/spec_tests/data/seed_list_discovery/replica-set/not-enough-parts.yml +0 -5
  1132. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-result-default-port.yml +0 -10
  1133. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-txt-record-multiple-strings.yml +0 -10
  1134. data/spec/spec_tests/data/seed_list_discovery/replica-set/one-txt-record.yml +0 -11
  1135. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch1.yml +0 -5
  1136. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch2.yml +0 -5
  1137. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch3.yml +0 -5
  1138. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch4.yml +0 -5
  1139. data/spec/spec_tests/data/seed_list_discovery/replica-set/parent-part-mismatch5.yml +0 -5
  1140. data/spec/spec_tests/data/seed_list_discovery/replica-set/returned-parent-too-short.yml +0 -5
  1141. data/spec/spec_tests/data/seed_list_discovery/replica-set/returned-parent-wrong.yml +0 -5
  1142. data/spec/spec_tests/data/seed_list_discovery/replica-set/srv-service-name.yml +0 -11
  1143. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-conflicts_with_replicaSet-txt.yml +0 -5
  1144. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-conflicts_with_replicaSet.yml +0 -5
  1145. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-equal_to_srv_records.yml +0 -16
  1146. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-greater_than_srv_records.yml +0 -15
  1147. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-less_than_srv_records.yml +0 -15
  1148. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-zero-txt.yml +0 -15
  1149. data/spec/spec_tests/data/seed_list_discovery/replica-set/srvMaxHosts-zero.yml +0 -15
  1150. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-results-default-port.yml +0 -11
  1151. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-results-nonstandard-port.yml +0 -11
  1152. data/spec/spec_tests/data/seed_list_discovery/replica-set/two-txt-records.yml +0 -5
  1153. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-not-allowed-option.yml +0 -5
  1154. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-overridden-ssl-option.yml +0 -11
  1155. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-overridden-uri-option.yml +0 -11
  1156. data/spec/spec_tests/data/seed_list_discovery/replica-set/txt-record-with-unallowed-option.yml +0 -5
  1157. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-admin-database.yml +0 -13
  1158. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-auth.yml +0 -12
  1159. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-port.yml +0 -5
  1160. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-two-hosts.yml +0 -5
  1161. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-equal_to_srv_records.yml +0 -13
  1162. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-greater_than_srv_records.yml +0 -12
  1163. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-less_than_srv_records.yml +0 -10
  1164. data/spec/spec_tests/data/seed_list_discovery/sharded/srvMaxHosts-zero.yml +0 -11
  1165. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml +0 -25
  1166. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml +0 -26
  1167. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml +0 -20
  1168. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimary.yml +0 -15
  1169. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PossiblePrimaryNearest.yml +0 -15
  1170. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Primary.yml +0 -18
  1171. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml +0 -25
  1172. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml +0 -20
  1173. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary.yml +0 -25
  1174. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml +0 -25
  1175. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml +0 -20
  1176. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags.yml +0 -31
  1177. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_multi_tags2.yml +0 -31
  1178. data/spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml +0 -20
  1179. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest.yml +0 -32
  1180. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_multiple.yml +0 -33
  1181. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml +0 -25
  1182. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Primary.yml +0 -26
  1183. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml +0 -28
  1184. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml +0 -28
  1185. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary.yml +0 -30
  1186. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred.yml +0 -30
  1187. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_non_matching.yml +0 -28
  1188. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_tags.yml +0 -28
  1189. data/spec/spec_tests/data/server_selection/ReplicaSetWithPrimary/read/Secondary_non_matching.yml +0 -25
  1190. data/spec/spec_tests/data/server_selection/Sharded/read/Nearest.yml +0 -21
  1191. data/spec/spec_tests/data/server_selection/Sharded/read/Primary.yml +0 -19
  1192. data/spec/spec_tests/data/server_selection/Sharded/read/PrimaryPreferred.yml +0 -21
  1193. data/spec/spec_tests/data/server_selection/Sharded/read/Secondary.yml +0 -21
  1194. data/spec/spec_tests/data/server_selection/Sharded/read/SecondaryPreferred.yml +0 -21
  1195. data/spec/spec_tests/data/server_selection/Single/read/SecondaryPreferred.yml +0 -18
  1196. data/spec/spec_tests/data/server_selection/Unknown/read/SecondaryPreferred.yml +0 -10
  1197. data/spec/spec_tests/data/server_selection/Unknown/read/ghost.yml +0 -11
  1198. data/spec/spec_tests/data/server_selection/Unknown/write/ghost.yml +0 -11
  1199. data/spec/spec_tests/data/server_selection_rtt/first_value.yml +0 -4
  1200. data/spec/spec_tests/data/server_selection_rtt/first_value_zero.yml +0 -4
  1201. data/spec/spec_tests/data/server_selection_rtt/value_test_1.yml +0 -4
  1202. data/spec/spec_tests/data/server_selection_rtt/value_test_2.yml +0 -4
  1203. data/spec/spec_tests/data/server_selection_rtt/value_test_3.yml +0 -4
  1204. data/spec/spec_tests/data/server_selection_rtt/value_test_4.yml +0 -4
  1205. data/spec/spec_tests/data/server_selection_rtt/value_test_5.yml +0 -4
  1206. data/spec/spec_tests/data/sessions_unified/driver-sessions-dirty-session-errors.yml +0 -351
  1207. data/spec/spec_tests/data/sessions_unified/driver-sessions-server-support.yml +0 -123
  1208. data/spec/spec_tests/data/sessions_unified/implicit-sessions-default-causal-consistency.yml +0 -119
  1209. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-client-error.yml +0 -75
  1210. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-server-error.yml +0 -102
  1211. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-unsupported-ops.yml +0 -258
  1212. data/spec/spec_tests/data/sessions_unified/snapshot-sessions.yml +0 -482
  1213. data/spec/spec_tests/data/transactions/abort.yml +0 -413
  1214. data/spec/spec_tests/data/transactions/bulk.yml +0 -267
  1215. data/spec/spec_tests/data/transactions/causal-consistency.yml +0 -175
  1216. data/spec/spec_tests/data/transactions/commit.yml +0 -603
  1217. data/spec/spec_tests/data/transactions/count.yml +0 -67
  1218. data/spec/spec_tests/data/transactions/create-collection.yml +0 -131
  1219. data/spec/spec_tests/data/transactions/create-index.yml +0 -152
  1220. data/spec/spec_tests/data/transactions/delete.yml +0 -192
  1221. data/spec/spec_tests/data/transactions/error-labels.yml +0 -1030
  1222. data/spec/spec_tests/data/transactions/errors-client.yml +0 -55
  1223. data/spec/spec_tests/data/transactions/errors.yml +0 -133
  1224. data/spec/spec_tests/data/transactions/findOneAndDelete.yml +0 -134
  1225. data/spec/spec_tests/data/transactions/findOneAndReplace.yml +0 -148
  1226. data/spec/spec_tests/data/transactions/findOneAndUpdate.yml +0 -236
  1227. data/spec/spec_tests/data/transactions/insert.yml +0 -390
  1228. data/spec/spec_tests/data/transactions/isolation.yml +0 -133
  1229. data/spec/spec_tests/data/transactions/mongos-pin-auto.yml +0 -1674
  1230. data/spec/spec_tests/data/transactions/mongos-recovery-token.yml +0 -350
  1231. data/spec/spec_tests/data/transactions/pin-mongos.yml +0 -559
  1232. data/spec/spec_tests/data/transactions/read-concern.yml +0 -623
  1233. data/spec/spec_tests/data/transactions/read-pref.yml +0 -348
  1234. data/spec/spec_tests/data/transactions/reads.yml +0 -261
  1235. data/spec/spec_tests/data/transactions/retryable-abort-errorLabels.yml +0 -124
  1236. data/spec/spec_tests/data/transactions/retryable-abort.yml +0 -1315
  1237. data/spec/spec_tests/data/transactions/retryable-commit-errorLabels.yml +0 -132
  1238. data/spec/spec_tests/data/transactions/retryable-commit.yml +0 -1460
  1239. data/spec/spec_tests/data/transactions/retryable-writes.yml +0 -216
  1240. data/spec/spec_tests/data/transactions/run-command.yml +0 -197
  1241. data/spec/spec_tests/data/transactions/transaction-options-repl.yml +0 -117
  1242. data/spec/spec_tests/data/transactions/transaction-options.yml +0 -781
  1243. data/spec/spec_tests/data/transactions/update.yml +0 -246
  1244. data/spec/spec_tests/data/transactions/write-concern.yml +0 -554
  1245. data/spec/spec_tests/data/transactions_api/callback-aborts.yml +0 -170
  1246. data/spec/spec_tests/data/transactions_api/callback-commits.yml +0 -204
  1247. data/spec/spec_tests/data/transactions_api/callback-retry.yml +0 -215
  1248. data/spec/spec_tests/data/transactions_api/commit-retry.yml +0 -324
  1249. data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml +0 -139
  1250. data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml +0 -175
  1251. data/spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml +0 -216
  1252. data/spec/spec_tests/data/transactions_api/commit.yml +0 -193
  1253. data/spec/spec_tests/data/transactions_api/transaction-options.yml +0 -274
  1254. data/spec/spec_tests/data/transactions_unified/do-not-retry-read-in-transaction.yml +0 -64
  1255. data/spec/spec_tests/data/transactions_unified/mongos-unpin.yml +0 -172
  1256. data/spec/spec_tests/data/transactions_unified/retryable-abort-handshake.yml +0 -118
  1257. data/spec/spec_tests/data/transactions_unified/retryable-commit-handshake.yml +0 -118
  1258. data/spec/spec_tests/data/unified/valid-fail/entity-findCursor-malformed.yml +0 -31
  1259. data/spec/spec_tests/data/unified/valid-fail/entity-findCursor.yml +0 -31
  1260. data/spec/spec_tests/data/unified/valid-fail/ignoreResultAndError-malformed.yml +0 -34
  1261. data/spec/spec_tests/data/unified/valid-fail/ignoreResultAndError.yml +0 -35
  1262. data/spec/spec_tests/data/unified/valid-fail/operation-failure.yml +0 -31
  1263. data/spec/spec_tests/data/unified/valid-fail/operation-unsupported.yml +0 -13
  1264. data/spec/spec_tests/data/unified/valid-pass/assertNumberConnectionsCheckedOut.yml +0 -17
  1265. data/spec/spec_tests/data/unified/valid-pass/collectionData-createOptions.yml +0 -37
  1266. data/spec/spec_tests/data/unified/valid-pass/entity-client-cmap-events.yml +0 -40
  1267. data/spec/spec_tests/data/unified/valid-pass/entity-client-storeEventsAsEntities.yml +0 -37
  1268. data/spec/spec_tests/data/unified/valid-pass/expectedError-errorResponse.yml +0 -39
  1269. data/spec/spec_tests/data/unified/valid-pass/expectedEventsForClient-eventType.yml +0 -66
  1270. data/spec/spec_tests/data/unified/valid-pass/expectedEventsForClient-ignoreExtraEvents.yml +0 -78
  1271. data/spec/spec_tests/data/unified/valid-pass/ignoreResultAndError.yml +0 -34
  1272. data/spec/spec_tests/data/unified/valid-pass/observeSensitiveCommands.yml +0 -255
  1273. data/spec/spec_tests/data/unified/valid-pass/poc-change-streams.yml +0 -241
  1274. data/spec/spec_tests/data/unified/valid-pass/poc-command-monitoring.yml +0 -102
  1275. data/spec/spec_tests/data/unified/valid-pass/poc-crud.yml +0 -190
  1276. data/spec/spec_tests/data/unified/valid-pass/poc-gridfs.yml +0 -155
  1277. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-reads.yml +0 -193
  1278. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-writes.yml +0 -210
  1279. data/spec/spec_tests/data/unified/valid-pass/poc-sessions.yml +0 -214
  1280. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-convenient-api.yml +0 -235
  1281. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-mongos-pin-auto.yml +0 -169
  1282. data/spec/spec_tests/data/unified/valid-pass/poc-transactions.yml +0 -171
  1283. data/spec/spec_tests/data/uri_options/auth-options.yml +0 -49
  1284. data/spec/spec_tests/data/uri_options/compression-options.yml +0 -51
  1285. data/spec/spec_tests/data/uri_options/concern-options.yml +0 -55
  1286. data/spec/spec_tests/data/uri_options/connection-options.yml +0 -209
  1287. data/spec/spec_tests/data/uri_options/connection-pool-options.yml +0 -26
  1288. data/spec/spec_tests/data/uri_options/read-preference-options.yml +0 -66
  1289. data/spec/spec_tests/data/uri_options/ruby-auth-options.yml +0 -12
  1290. data/spec/spec_tests/data/uri_options/ruby-connection-options.yml +0 -58
  1291. data/spec/spec_tests/data/uri_options/srv-options.yml +0 -96
  1292. data/spec/spec_tests/data/uri_options/tls-options.yml +0 -364
  1293. data/spec/spec_tests/data/versioned_api/crud-api-version-1-strict.yml +0 -419
  1294. data/spec/spec_tests/data/versioned_api/crud-api-version-1.yml +0 -413
  1295. data/spec/spec_tests/data/versioned_api/runcommand-helper-no-api-version-declared.yml +0 -75
  1296. data/spec/spec_tests/data/versioned_api/test-commands-deprecation-errors.yml +0 -47
  1297. data/spec/spec_tests/data/versioned_api/test-commands-strict-mode.yml +0 -46
  1298. data/spec/spec_tests/data/versioned_api/transaction-handling.yml +0 -128
  1299. data/spec/spec_tests/gridfs_spec.rb +0 -55
  1300. data/spec/spec_tests/gridfs_unified_spec.rb +0 -13
  1301. data/spec/spec_tests/index_management_unified_spec.rb +0 -13
  1302. data/spec/spec_tests/load_balancers_spec.rb +0 -15
  1303. data/spec/spec_tests/max_staleness_spec.rb +0 -12
  1304. data/spec/spec_tests/read_write_concern_connection_string_spec.rb +0 -13
  1305. data/spec/spec_tests/read_write_concern_document_spec.rb +0 -77
  1306. data/spec/spec_tests/read_write_concern_operaton_spec.rb +0 -13
  1307. data/spec/spec_tests/retryable_reads_spec.rb +0 -55
  1308. data/spec/spec_tests/retryable_reads_unified_spec.rb +0 -22
  1309. data/spec/spec_tests/retryable_writes_spec.rb +0 -25
  1310. data/spec/spec_tests/retryable_writes_unified_spec.rb +0 -21
  1311. data/spec/spec_tests/run_command_unified_spec.rb +0 -13
  1312. data/spec/spec_tests/sdam_monitoring_spec.rb +0 -101
  1313. data/spec/spec_tests/sdam_spec.rb +0 -246
  1314. data/spec/spec_tests/sdam_unified_spec.rb +0 -15
  1315. data/spec/spec_tests/seed_list_discovery_spec.rb +0 -127
  1316. data/spec/spec_tests/server_selection_rtt_spec.rb +0 -33
  1317. data/spec/spec_tests/server_selection_spec.rb +0 -12
  1318. data/spec/spec_tests/sessions_unified_spec.rb +0 -13
  1319. data/spec/spec_tests/transactions_api_spec.rb +0 -13
  1320. data/spec/spec_tests/transactions_spec.rb +0 -13
  1321. data/spec/spec_tests/transactions_unified_spec.rb +0 -14
  1322. data/spec/spec_tests/unified_spec.rb +0 -18
  1323. data/spec/spec_tests/uri_options_spec.rb +0 -93
  1324. data/spec/spec_tests/versioned_api_spec.rb +0 -13
  1325. data/spec/stress/cleanup_spec.rb +0 -61
  1326. data/spec/stress/connection_pool_stress_spec.rb +0 -143
  1327. data/spec/stress/connection_pool_timing_spec.rb +0 -160
  1328. data/spec/stress/fork_reconnect_stress_spec.rb +0 -108
  1329. data/spec/stress/push_monitor_close_spec.rb +0 -44
  1330. data/spec/support/authorization.rb +0 -161
  1331. data/spec/support/aws_utils/base.rb +0 -137
  1332. data/spec/support/aws_utils/inspector.rb +0 -227
  1333. data/spec/support/aws_utils/orchestrator.rb +0 -385
  1334. data/spec/support/aws_utils/provisioner.rb +0 -363
  1335. data/spec/support/aws_utils.rb +0 -66
  1336. data/spec/support/background_thread_registry.rb +0 -60
  1337. data/spec/support/certificates/README.md +0 -106
  1338. data/spec/support/certificates/atlas-ocsp-ca.crt +0 -113
  1339. data/spec/support/certificates/atlas-ocsp.crt +0 -147
  1340. data/spec/support/certificates/ca.crt +0 -76
  1341. data/spec/support/certificates/client-encrypted.key +0 -30
  1342. data/spec/support/certificates/client-int.crt +0 -78
  1343. data/spec/support/certificates/client-second-level-bundle.pem +0 -179
  1344. data/spec/support/certificates/client-second-level.crt +0 -74
  1345. data/spec/support/certificates/client-second-level.key +0 -27
  1346. data/spec/support/certificates/client-second-level.pem +0 -101
  1347. data/spec/support/certificates/client-x509.crt +0 -78
  1348. data/spec/support/certificates/client-x509.key +0 -27
  1349. data/spec/support/certificates/client-x509.pem +0 -105
  1350. data/spec/support/certificates/client.crt +0 -74
  1351. data/spec/support/certificates/client.key +0 -27
  1352. data/spec/support/certificates/client.pem +0 -101
  1353. data/spec/support/certificates/crl.pem +0 -12
  1354. data/spec/support/certificates/crl_client_revoked.pem +0 -13
  1355. data/spec/support/certificates/multi-ca.crt +0 -152
  1356. data/spec/support/certificates/python-ca.crt +0 -76
  1357. data/spec/support/certificates/retrieve-atlas-cert +0 -40
  1358. data/spec/support/certificates/server-int.crt +0 -78
  1359. data/spec/support/certificates/server-second-level-bundle.pem +0 -179
  1360. data/spec/support/certificates/server-second-level.crt +0 -74
  1361. data/spec/support/certificates/server-second-level.key +0 -27
  1362. data/spec/support/certificates/server-second-level.pem +0 -101
  1363. data/spec/support/certificates/server.pem +0 -101
  1364. data/spec/support/client_registry.rb +0 -258
  1365. data/spec/support/client_registry_macros.rb +0 -26
  1366. data/spec/support/cluster_tools.rb +0 -384
  1367. data/spec/support/common_shortcuts.rb +0 -421
  1368. data/spec/support/constraints.rb +0 -39
  1369. data/spec/support/crypt/corpus/corpus-encrypted.json +0 -9515
  1370. data/spec/support/crypt/corpus/corpus-key-aws.json +0 -33
  1371. data/spec/support/crypt/corpus/corpus-key-azure.json +0 -33
  1372. data/spec/support/crypt/corpus/corpus-key-gcp.json +0 -35
  1373. data/spec/support/crypt/corpus/corpus-key-kmip.json +0 -32
  1374. data/spec/support/crypt/corpus/corpus-key-local.json +0 -31
  1375. data/spec/support/crypt/corpus/corpus-schema.json +0 -6335
  1376. data/spec/support/crypt/corpus/corpus.json +0 -8619
  1377. data/spec/support/crypt/data_keys/key_document_aws.json +0 -34
  1378. data/spec/support/crypt/data_keys/key_document_azure.json +0 -33
  1379. data/spec/support/crypt/data_keys/key_document_gcp.json +0 -37
  1380. data/spec/support/crypt/data_keys/key_document_kmip.json +0 -32
  1381. data/spec/support/crypt/data_keys/key_document_local.json +0 -31
  1382. data/spec/support/crypt/encrypted_fields/encryptedFields.json +0 -32
  1383. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Date.json +0 -30
  1384. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalNoPrecision.json +0 -21
  1385. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalPrecision.json +0 -29
  1386. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoubleNoPrecision.json +0 -21
  1387. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoublePrecision.json +0 -30
  1388. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Int.json +0 -27
  1389. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Long.json +0 -27
  1390. data/spec/support/crypt/external/external-key.json +0 -31
  1391. data/spec/support/crypt/external/external-schema.json +0 -19
  1392. data/spec/support/crypt/keys/key1-document.json +0 -30
  1393. data/spec/support/crypt/limits/limits-doc.json +0 -102
  1394. data/spec/support/crypt/limits/limits-key.json +0 -31
  1395. data/spec/support/crypt/limits/limits-schema.json +0 -1405
  1396. data/spec/support/crypt/schema_maps/schema_map_aws.json +0 -17
  1397. data/spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json +0 -12
  1398. data/spec/support/crypt/schema_maps/schema_map_azure.json +0 -17
  1399. data/spec/support/crypt/schema_maps/schema_map_azure_key_alt_names.json +0 -12
  1400. data/spec/support/crypt/schema_maps/schema_map_gcp.json +0 -17
  1401. data/spec/support/crypt/schema_maps/schema_map_gcp_key_alt_names.json +0 -12
  1402. data/spec/support/crypt/schema_maps/schema_map_kmip.json +0 -17
  1403. data/spec/support/crypt/schema_maps/schema_map_kmip_key_alt_names.json +0 -12
  1404. data/spec/support/crypt/schema_maps/schema_map_local.json +0 -18
  1405. data/spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json +0 -12
  1406. data/spec/support/crypt.rb +0 -412
  1407. data/spec/support/dns.rb +0 -16
  1408. data/spec/support/json_ext_formatter.rb +0 -16
  1409. data/spec/support/keyword_struct.rb +0 -29
  1410. data/spec/support/local_resource_registry.rb +0 -37
  1411. data/spec/support/macros.rb +0 -29
  1412. data/spec/support/matchers.rb +0 -88
  1413. data/spec/support/mongos_macros.rb +0 -24
  1414. data/spec/support/monitoring_ext.rb +0 -19
  1415. data/spec/support/ocsp +0 -1
  1416. data/spec/support/primary_socket.rb +0 -24
  1417. data/spec/support/recording_logger.rb +0 -27
  1418. data/spec/support/sdam_formatter_integration.rb +0 -119
  1419. data/spec/support/shared/app_metadata.rb +0 -179
  1420. data/spec/support/shared/auth_context.rb +0 -17
  1421. data/spec/support/shared/protocol.rb +0 -36
  1422. data/spec/support/shared/scram_conversation.rb +0 -104
  1423. data/spec/support/shared/server_selector.rb +0 -233
  1424. data/spec/support/shared/session.rb +0 -916
  1425. data/spec/support/spec_config.rb +0 -767
  1426. data/spec/support/spec_setup.rb +0 -83
  1427. data/spec/support/using_hash.rb +0 -40
  1428. data/spec/support/utils.rb +0 -680
data/Rakefile DELETED
@@ -1,196 +0,0 @@
1
- # frozen_string_literal: true
2
- # rubocop:todo all
3
-
4
- require 'bundler'
5
- require 'rspec/core/rake_task'
6
-
7
- ROOT = File.expand_path(File.join(File.dirname(__FILE__)))
8
-
9
- $: << File.join(ROOT, 'spec/shared/lib')
10
-
11
- CLASSIFIERS = [
12
- [%r,^mongo/server,, :unit_server],
13
- [%r,^mongo,, :unit],
14
- [%r,^kerberos,, :unit],
15
- [%r,^integration/sdam_error_handling,, :sdam_integration],
16
- [%r,^integration/cursor_reaping,, :cursor_reaping],
17
- [%r,^integration/query_cache,, :query_cache],
18
- [%r,^integration/transactions_examples,, :tx_examples],
19
- [%r,^(atlas|integration),, :integration],
20
- [%r,^spec_tests/sdam_integration,, :spec_sdam_integration],
21
- [%r,^spec_tests,, :spec],
22
- ]
23
-
24
- RUN_PRIORITY = (ENV['RUN_PRIORITY'] || %(
25
- tx_examples
26
- unit unit_server
27
- integration sdam_integration cursor_reaping query_cache
28
- spec spec_sdam_integration
29
- )).split.map(&:to_sym)
30
-
31
- RSpec::Core::RakeTask.new(:spec) do |t|
32
- #t.rspec_opts = "--profile 5" if ENV['CI']
33
- end
34
-
35
- task :default => ['spec:prepare', :spec]
36
-
37
- # stands in for the Bundler-provided `build` task, which builds the
38
- # gem for this project. Our release process builds the gems in a
39
- # particular way, in a GitHub action. This task is just to help remind
40
- # developers of that fact.
41
- task :build do
42
- abort <<~WARNING
43
- `rake build` does nothing in this project. The gem must be built via
44
- the `Driver Release` action on GitHub, which is triggered manually when
45
- a new release is ready.
46
- WARNING
47
- end
48
-
49
- # `rake version` is used by the deployment system so get the release version
50
- # of the product beng deployed. It must do nothing more than just print the
51
- # product version number.
52
- #
53
- # See the mongodb-labs/driver-github-tools/ruby/publish Github action.
54
- desc "Print the current value of Mongo::VERSION"
55
- task :version do
56
- require 'mongo/version'
57
-
58
- puts Mongo::VERSION
59
- end
60
-
61
- # overrides the default Bundler-provided `release` task, which also
62
- # builds the gem. Our release process assumes the gem has already
63
- # been built (and signed via GPG), so we just need `rake release` to
64
- # push the gem to rubygems.
65
- task :release do
66
- require 'mongo/version'
67
-
68
- if ENV['GITHUB_ACTION'].nil?
69
- abort <<~WARNING
70
- `rake release` must be invoked from the `Driver Release` GitHub action,
71
- and must not be invoked locally. This ensures the gem is properly signed
72
- and distributed by the appropriate user.
73
-
74
- Note that it is the `rubygems/release-gem@v1` step in the `Driver Release`
75
- action that invokes this task. Do not rename or remove this task, or the
76
- release-gem step will fail. Reimplement this task with caution.
77
-
78
- mongo-#{Mongo::VERSION}.gem was NOT pushed to RubyGems.
79
- WARNING
80
- end
81
-
82
- system 'gem', 'push', "mongo-#{Mongo::VERSION}.gem"
83
- end
84
-
85
- task :mongo do
86
- require 'mongo'
87
- end
88
-
89
- namespace :spec do
90
- desc 'Creates necessary user accounts in the cluster'
91
- task prepare: :mongo do
92
- $: << File.join(File.dirname(__FILE__), 'spec')
93
-
94
- require 'support/utils'
95
- require 'support/spec_setup'
96
- SpecSetup.new.run
97
- end
98
-
99
- desc 'Waits for sessions to be available in the deployment'
100
- task wait_for_sessions: :mongo do
101
- $: << File.join(File.dirname(__FILE__), 'spec')
102
-
103
- require 'support/utils'
104
- require 'support/spec_config'
105
- require 'support/client_registry'
106
-
107
- client = ClientRegistry.instance.global_client('authorized')
108
- client.database.command(ping: 1)
109
- deadline = Process.clock_gettime(Process::CLOCK_MONOTONIC) + 300
110
- loop do
111
- begin
112
- client.cluster.validate_session_support!
113
- break
114
- rescue Mongo::Error::SessionsNotSupported
115
- if Process.clock_gettime(Process::CLOCK_MONOTONIC) >= deadline
116
- raise "Sessions did not become supported in 300 seconds"
117
- end
118
- client.cluster.scan!
119
- end
120
- end
121
- end
122
-
123
- desc 'Prints configuration used by the test suite'
124
- task config: :mongo do
125
- $: << File.join(File.dirname(__FILE__), 'spec')
126
-
127
- # Since this task is usually used for troubleshooting of test suite
128
- # configuration, leave driver log level at the default of debug to
129
- # have connection diagnostics printed during handshakes and such.
130
- require 'support/utils'
131
- require 'support/spec_config'
132
- require 'support/client_registry'
133
- SpecConfig.instance.print_summary
134
- end
135
-
136
- def spec_organizer
137
- require 'mrss/spec_organizer'
138
-
139
- Mrss::SpecOrganizer.new(
140
- root: ROOT,
141
- classifiers: CLASSIFIERS,
142
- priority_order: RUN_PRIORITY,
143
- )
144
- end
145
-
146
- task :ci => ['spec:prepare'] do
147
- spec_organizer.run
148
- end
149
-
150
- desc 'Show test buckets'
151
- task :buckets do
152
- spec_organizer.ordered_buckets.each do |category, paths|
153
- puts "#{category || 'remaining'}: #{paths&.join(' ') || '<none>'}"
154
- end
155
- end
156
- end
157
-
158
- desc 'Build and validate the evergreen config'
159
- task eg: %w[ eg:build eg:validate ]
160
-
161
- # 'eg' == 'evergreen', but evergreen is too many letters for convenience
162
- namespace :eg do
163
- desc 'Builds the .evergreen/config.yml file from the templates'
164
- task :build do
165
- ruby '.evergreen/update-evergreen-configs'
166
- end
167
-
168
- desc 'Validates the .evergreen/config.yml file'
169
- task :validate do
170
- system 'evergreen validate --project mongo-ruby-driver .evergreen/config.yml'
171
- end
172
-
173
- desc 'Updates the evergreen executable to the latest available version'
174
- task :update do
175
- system 'evergreen get-update --install'
176
- end
177
-
178
- desc 'Runs the current branch as an evergreen patch'
179
- task :patch do
180
- system 'evergreen patch --uncommitted --project mongo-ruby-driver --browse --auto-description --yes'
181
- end
182
- end
183
-
184
- desc "Generate all documentation"
185
- task :docs => 'docs:yard'
186
-
187
- namespace :docs do
188
- desc "Generate yard documention"
189
- task :yard do
190
- out = File.join('yard-docs', Mongo::VERSION)
191
- FileUtils.rm_rf(out)
192
- system "yardoc -o #{out} --title mongo-#{Mongo::VERSION}"
193
- end
194
- end
195
-
196
- load 'profile/driver_bench/rake/tasks.rake'
@@ -1,296 +0,0 @@
1
- # AWS Authentication Implementation Notes
2
-
3
- ## AWS Account
4
-
5
- Per [its documentation](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html,
6
- the GetCallerIdentity API call that the server makes to STS to authenticate
7
- the user using MONGODB-AWS auth mechanism requires no privileges. This means
8
- in order to test authentication using non-temporary credentials (i.e.,
9
- AWS access key id and secret access key only) it is sufficient to create an
10
- IAM user that has no permissions but does have programmatic access enabled
11
- (i.e. has an access key id and secret access key).
12
-
13
- ## AWS Signature V4
14
-
15
- The driver implements the AWS signature v4 internally rather than relying on
16
- a third-party library (such as the
17
- [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/index.html))
18
- to provide the signature implementation. The implementation is quite compact
19
- but getting it working took some effort due to:
20
-
21
- 1. [The server not logging AWS responses when authentication fails
22
- ](https://jira.mongodb.org/browse/SERVER-46909)
23
- 2. Some of the messages from STS being quite cryptic (I could not figure out
24
- what the problem was for either "Request is missing Authentication Token" or
25
- "Request must contain a signature that conforms to AWS standards", and
26
- ultimately resolved these problems by comparing my requests to those produced
27
- by the AWS SDK).
28
- 3. Amazon's own documentation not providing an example signature calculation
29
- that could be followed to verify correctness, especially since this is a
30
- multi-step process and all kinds of subtle errors are possible in many of the
31
- steps like using a date instead of a time, hex-encoding a MAC in an
32
- intermediate step or not separating header values from the list of signed
33
- headers by two newlines.
34
-
35
- ### Reference Implementation - AWS SDK
36
-
37
- To see actual working STS requests I used Amazon's
38
- [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/index.html)
39
- ([API docs for STS client](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html),
40
- [configuration documentation](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html))
41
- as follows:
42
-
43
- 1. Set the credentials in the environment (note that the region must be
44
- explicitly provided):
45
-
46
- export AWS_ACCESS_KEY_ID=AKIAREALKEY
47
- export AWS_SECRET_ACCESS_KEY=Sweee/realsecret
48
- export AWS_REGION=us-east-1
49
-
50
- 2. Install the correct gem and launch IRb:
51
-
52
- gem install aws-sdk-core
53
- irb -raws-sdk-core -Iaws/sts
54
-
55
- 3. Send a GetCallerIdentity request, as used by MongoDB server:
56
-
57
- Aws::STS::Client.new(
58
- logger: Logger.new(STDERR, level: :debug),
59
- http_wire_trace: true,
60
- ).get_caller_identity
61
-
62
- This call enables HTTP request and response logging and produces output
63
- similar to the following:
64
-
65
- opening connection to sts.amazonaws.com:443...
66
- opened
67
- starting SSL for sts.amazonaws.com:443...
68
- SSL established, protocol: TLSv1.2, cipher: ECDHE-RSA-AES128-SHA
69
- <- "POST / HTTP/1.1\r\nContent-Type: application/x-www-form-urlencoded; charset=utf-8\r\nAccept-Encoding: \r\nUser-Agent: aws-sdk-ruby3/3.91.1 ruby/2.7.0 x86_64-linux aws-sdk-core/3.91.1\r\nHost: sts.amazonaws.com\r\nX-Amz-Date: 20200317T194745Z\r\nX-Amz-Content-Sha256: ab821ae955788b0e33ebd34c208442ccfc2d406e2edc5e7a39bd6458fbb4f843\r\nAuthorization: AWS4-HMAC-SHA256 Credential=AKIAREALKEY/20200317/us-east-1/sts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=6cd3a60a2d7dfba0dcd17f9c4c42d0186de5830cf99545332253a327bba14131\r\nContent-Length: 43\r\nAccept: */*\r\n\r\n"
70
- -> "HTTP/1.1 200 OK\r\n"
71
- -> "x-amzn-RequestId: c56f5d68-8763-4032-a835-fd95efd83fa6\r\n"
72
- -> "Content-Type: text/xml\r\n"
73
- -> "Content-Length: 401\r\n"
74
- -> "Date: Tue, 17 Mar 2020 19:47:44 GMT\r\n"
75
- -> "\r\n"
76
- reading 401 bytes...
77
- -> ""
78
- -> "<GetCallerIdentityResponse xmlns=\"https://sts.amazonaws.com/doc/2011-06-15/\">\n <GetCallerIdentityResult>\n <Arn>arn:aws:iam::5851234356:user/test</Arn>\n <UserId>AIDAREALUSERID</UserId>\n <Account>5851234356</Account>\n </GetCallerIdentityResult>\n <ResponseMetadata>\n <RequestId>c56f5d68-8763-4032-a835-fd95efd83fa6</RequestId>\n </ResponseMetadata>\n</GetCallerIdentityResponse>\n"
79
- read 401 bytes
80
- Conn keep-alive
81
- I, [2020-03-17T15:47:45.275421 #9815] INFO -- : [Aws::STS::Client 200 0.091573 0 retries] get_caller_identity()
82
-
83
- => #<struct Aws::STS::Types::GetCallerIdentityResponse user_id="AIDAREALUSERID", account="5851234356", arn="arn:aws:iam::5851234356:user/test">
84
-
85
- Note that:
86
-
87
- 1. The set of headers sent by the AWS SDK differs from the set
88
- of headers that the MONGODB-AWS auth mechanism specification mentions.
89
- I used the AWS SDK implementation as a guide to determine the correct shape
90
- of the request to STS and in particular the `Authorization` header.
91
- The source code of Amazon's implementation is
92
- [here](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sigv4/lib/aws-sigv4/signer.rb)
93
- and it generates, in particular, the x-amz-content-sha256` header
94
- which the MONGODB-AWS auth mechanism specification does not mention.
95
- 2. This is a working request which can be replayed, making it possible
96
- to send this request that was created by the AWS SDK repeatedly with minor
97
- alterations to study STS error reporting behavior. STS as of this writing
98
- allows a 15 minute window during which a request may be replayed.
99
- 3. The printed request only shows the headers and not the request body.
100
- In case of the GetCallerIdentity, the payload is fixed and is the same as
101
- what the MONGODB-AWS auth mechanism specification requires
102
- (`Action=GetCallerIdentity&Version=2011-06-15`).
103
-
104
- Because the AWS SDK includes a different set of headers in its requests,
105
- it not feasible to compare the canonical requests generated by AWS SDK
106
- verbatim to the canonical requests generated by the driver.
107
-
108
- ### Manual Requests
109
-
110
- It is possible to manually send requests to STS using OpenSSL `s_client`
111
- tool in combination with the [printf](https://linux.die.net/man/3/printf)
112
- utility to transform the newline escapes. A sample command replaying the
113
- request printed above is as follows:
114
-
115
- (printf "POST / HTTP/1.1\r\nContent-Type: application/x-www-form-urlencoded; charset=utf-8\r\nAccept-Encoding: \r\nUser-Agent: aws-sdk-ruby3/3.91.1 ruby/2.7.0 x86_64-linux aws-sdk-core/3.91.1\r\nHost: sts.amazonaws.com\r\nX-Amz-Date: 20200317T194745Z\r\nX-Amz-Content-Sha256: ab821ae955788b0e33ebd34c208442ccfc2d406e2edc5e7a39bd6458fbb4f843\r\nAuthorization: AWS4-HMAC-SHA256 Credential=AKIAREALKEY/20200317/us-east-1/sts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=6cd3a60a2d7dfba0dcd17f9c4c42d0186de5830cf99545332253a327bba14131\r\nContent-Length: 43\r\nAccept: */*\r\n\r\n" &&
116
- echo "Action=GetCallerIdentity&Version=2011-06-15" &&
117
- sleep 5) |openssl s_client -connect sts.amazonaws.com:443
118
-
119
- Note the sleep call - `s_client` does not wait for the remote end to provide
120
- a response before exiting, thus the sleep on the input side allows 5 seconds
121
- for STS to process the request and respond.
122
-
123
- For reference, Amazon provides [GetCallerIdentity API documentation
124
- ](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html).
125
-
126
- ### Integration Test - Signature Generation
127
-
128
- The Ruby driver includes an integration test for signature generation, where
129
- the driver makes the call to `GetCallerIdentity` STS endpoint using the
130
- provided AWS credentials. This test is in
131
- `spec/integration/aws_auth_request_spec.rb`.
132
-
133
- ### STS Error Responses
134
-
135
- The error responses produced by STS sometimes do not clearly indicate the
136
- problem. Below are some of the puzzling responses I encountered:
137
-
138
- - *Request is missing Authentication Token*: request is missing the
139
- `Authorization` header, or the value of the header does not begin with
140
- `AWS4-`. For example, this error is produced if the signature algorithm
141
- is erroneously given as `AWS-HMAC-SHA256` instead of `AWS4-HMAC-SHA256`
142
- with the remainder of the header value being correctly constructed.
143
- This error is also produced if the value of the header erroneously includes
144
- the name of the header (i.e. the header name is specified twice in the header
145
- line) but the value is otherwise completely valid. This error has no relation
146
- to the "session token" or "security token" as used with temporary AWS
147
- credentials.
148
- - *The security token included in the request is invalid*: this error can be
149
- produced in several circumstances:
150
- - When the AWS access key id, as specified in the scope part of the
151
- `Authorization` header, is not a valid access key id. In the case of
152
- non-temporary credentials being used for authentication, the error refers to
153
- a "security token" but the authentication process does not actually use a
154
- security token as this term is used in the AWS documentation describing
155
- temporary credentials.
156
- - When using temporary credentials and the security token is not provided
157
- in the STS request at all (x-amz-security-token header).
158
- - *Signature expired: 20200317T000000Z is now earlier than 20200317T222541Z
159
- (20200317T224041Z - 15 min.)*: This error happens when `x-amz-date` header
160
- value is the formatted date (`YYYYMMDD`) rather than the ISO8601 formatted
161
- time (`YYYYMMDDTHHMMSSZ`). Note that the string `20200317T000000Z` is never
162
- explicitly provided in the request - it is derived by AWS from the provided
163
- header `x-amz-date: 20200317`.
164
- - *The request signature we calculated does not match the signature
165
- you provided. Check your AWS Secret Access Key and signing method. Consult
166
- the service documentation for details*: this is the error produced when
167
- the signature is not calculated correctly but everything else in the
168
- request is valid. If a different error is produced, most likely the problem
169
- is in something other than signature calculation.
170
- - *The security token included in the request is expired*: this error is
171
- produced when temporary credentials are used and the credentials have
172
- expired.
173
-
174
- See also [AWS documentation for STS error messages](https://docs.aws.amazon.com/STS/latest/APIReference/CommonErrors.html).
175
-
176
- ### Resources
177
-
178
- Generally I found Amazon's own documentation to be the best for implementing
179
- the signature calculation. The following documents should be read in order:
180
-
181
- - [Signing AWS requests overview](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)
182
- - [Creating canonical request](https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html)
183
- - [Creating string to sign](https://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html)
184
- - [Calculating signature](https://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html)
185
-
186
- ### Signature Debugger
187
-
188
- The most excellent [awssignature.com](http://www.awssignature.com/) was
189
- indispensable in debugging the actual signature calculation process.
190
-
191
- ### MongoDB Server
192
-
193
- MongoDB server internally defines the set of headers that it is prepared to
194
- handle when it is processing AWS authentication. Headers that are not part
195
- of that set cause the server to reject driver's payloads.
196
-
197
- The error reporting when additional headers are provided and when the
198
- correct set of headers is provided but the headers are not ordered
199
- lexicographically [can be misleading](https://jira.mongodb.org/browse/SERVER-47488).
200
-
201
- ## Direct AWS Requests
202
-
203
- [STS GetCallerIdentity API docs](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html)
204
-
205
- When making direct requests to AWS, adding `Accept: application/json`
206
- header will return the results in the JSON format, including the errors.
207
-
208
- ## AWS CLI
209
-
210
- [Configuration reference](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)
211
-
212
- Note that AWS CLI uses `AWS_DEFAULT_REGION` environment variable to configure
213
- the region used for operations.
214
-
215
- ## AWS Ruby SDK
216
-
217
- [Configuration reference](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html)
218
-
219
- Note that AWS Ruby SDK uses `AWS_REGION` environment variable to configure
220
- the region used for operations.
221
-
222
- [STS::Client#assume_role documentation](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/STS/Client.html#assume_role-instance_method)
223
-
224
- ## IMDSv2
225
-
226
- `X-aws-ec2-metadata-token-ttl-seconds` is a required header when using
227
- IMDSv2 EC2 instance metadata requests. This header is used in the examples
228
- on [Amazon's page describing
229
- IMDSv2](https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/),
230
- but is not explicitly stated as being required.
231
-
232
- Not providing this header fails the PUT requests with HTTP code 400.
233
-
234
- ## IAM Roles For EC2 Instances
235
-
236
- ### Metadata Rate Limit
237
-
238
- [Amazon documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html#instancedata-throttling)
239
- states that the EC2 instance metadata endpoint is rate limited. Since the
240
- driver accesses it to obtain credentials whenever a connection is established,
241
- rate limits may adversely affect the driver's ability to establish connections.
242
-
243
- ### Instance Profile Assignment
244
-
245
- It can take over 5 seconds for an instance to see its instance profile change
246
- reflected in the instance metadata. Evergreen test runs seem to experience
247
- this delay to a significantly larger extent than testing in a standalone
248
- AWS account.
249
-
250
- ## IAM Roles For ECS Tasks
251
-
252
- ### ECS Task Roles
253
-
254
- When an ECS task (or more precisely, the task definition) is created,
255
- it is possible to specify an *execution role* and a *task role*. The two are
256
- completely separate; an execution role is required to, for example, be
257
- able to send container logs to CloudWatch if the container is running in
258
- Fargate, and a task role is required for AWS authentication purposes.
259
-
260
- The ECS task role is also separate from EC2 instance role and the IAM role
261
- for a user to assume a role - these roles all require different configuration.
262
-
263
- ### `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` Scope
264
-
265
- As stated in [this Amazon support document](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-iam-task-roles-config-errors/),
266
- the `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` environment variable is only
267
- available to the PID 1 process in the container. Other processes need to
268
- extract it from PID 1's environment:
269
-
270
- strings /proc/1/environment
271
-
272
- ### Other ECS Metadata
273
-
274
- `strings /proc/1/environment` also shows a number of other enviroment
275
- variables available in the container with metadata. For example a test
276
- container yields:
277
-
278
- HOSTNAME=f893c90ec4bd
279
- ECS_CONTAINER_METADATA_URI=http://169.254.170.2/v3/5fb0b11b-c4c8-4cdb-b68b-edf70b3f4937
280
- AWS_DEFAULT_REGION=us-east-2
281
- AWS_EXECUTION_ENV=AWS_ECS_FARGATE
282
- AWS_REGION=us-east-2
283
- AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=/v2/credentials/f17b5770-9a0d-498c-8d26-eea69f8d0924
284
-
285
- ### Metadata Rate Limit
286
-
287
- [Amazon documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshoot-task-iam-roles.html)
288
- states that ECS task metadata endpoint is subject to rate limiting,
289
- which is configured via [ECS_TASK_METADATA_RPS_LIMIT container agent
290
- parameter](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html).
291
- When the rate limit is reached, requests fail with `429 Too Many Requests`
292
- HTTP status code.
293
-
294
- Since the driver accesses this endpoint to obtain credentials whenever
295
- a connection is established, rate limits may adversely affect the driver's
296
- ability to establish connections.