mongo 2.19.1 → 2.21.0

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 (356) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -1
  3. data/Rakefile +83 -174
  4. data/lib/mongo/address.rb +22 -3
  5. data/lib/mongo/auth/aws/credentials_retriever.rb +70 -17
  6. data/lib/mongo/auth/base.rb +1 -1
  7. data/lib/mongo/bulk_write.rb +35 -2
  8. data/lib/mongo/client.rb +38 -6
  9. data/lib/mongo/client_encryption.rb +6 -3
  10. data/lib/mongo/cluster/reapers/cursor_reaper.rb +6 -1
  11. data/lib/mongo/cluster/sdam_flow.rb +20 -7
  12. data/lib/mongo/cluster/topology/base.rb +16 -0
  13. data/lib/mongo/cluster.rb +41 -5
  14. data/lib/mongo/collection/helpers.rb +1 -1
  15. data/lib/mongo/collection/view/aggregation/behavior.rb +131 -0
  16. data/lib/mongo/collection/view/aggregation.rb +33 -99
  17. data/lib/mongo/collection/view/builder/aggregation.rb +1 -7
  18. data/lib/mongo/collection/view/change_stream.rb +80 -27
  19. data/lib/mongo/collection/view/iterable.rb +92 -60
  20. data/lib/mongo/collection/view/map_reduce.rb +25 -8
  21. data/lib/mongo/collection/view/readable.rb +79 -30
  22. data/lib/mongo/collection/view/writable.rb +109 -48
  23. data/lib/mongo/collection/view.rb +44 -3
  24. data/lib/mongo/collection.rb +185 -26
  25. data/lib/mongo/config.rb +2 -2
  26. data/lib/mongo/crypt/auto_encrypter.rb +4 -6
  27. data/lib/mongo/crypt/binding.rb +4 -4
  28. data/lib/mongo/crypt/context.rb +20 -14
  29. data/lib/mongo/crypt/encryption_io.rb +56 -26
  30. data/lib/mongo/crypt/explicit_encrypter.rb +49 -20
  31. data/lib/mongo/crypt/explicit_encryption_context.rb +17 -11
  32. data/lib/mongo/crypt/kms/azure/credentials_retriever.rb +22 -6
  33. data/lib/mongo/crypt/kms/gcp/credentials_retriever.rb +29 -4
  34. data/lib/mongo/csot_timeout_holder.rb +119 -0
  35. data/lib/mongo/cursor/kill_spec.rb +5 -2
  36. data/lib/mongo/cursor/nontailable.rb +27 -0
  37. data/lib/mongo/cursor.rb +86 -24
  38. data/lib/mongo/cursor_host.rb +82 -0
  39. data/lib/mongo/database/view.rb +81 -14
  40. data/lib/mongo/database.rb +88 -18
  41. data/lib/mongo/error/operation_failure.rb +209 -204
  42. data/lib/mongo/error/server_timeout_error.rb +12 -0
  43. data/lib/mongo/error/socket_timeout_error.rb +3 -1
  44. data/lib/mongo/error/timeout_error.rb +23 -0
  45. data/lib/mongo/error/transactions_not_supported.rb +34 -0
  46. data/lib/mongo/error.rb +3 -0
  47. data/lib/mongo/grid/fs_bucket.rb +48 -9
  48. data/lib/mongo/grid/stream/read.rb +15 -1
  49. data/lib/mongo/grid/stream/write.rb +21 -4
  50. data/lib/mongo/index/view.rb +77 -16
  51. data/lib/mongo/monitoring/event/secure.rb +1 -1
  52. data/lib/mongo/operation/context.rb +40 -2
  53. data/lib/mongo/operation/create_search_indexes/op_msg.rb +31 -0
  54. data/lib/mongo/operation/create_search_indexes.rb +15 -0
  55. data/lib/mongo/operation/delete/op_msg.rb +2 -1
  56. data/lib/mongo/operation/drop_search_index/op_msg.rb +33 -0
  57. data/lib/mongo/operation/drop_search_index.rb +15 -0
  58. data/lib/mongo/operation/find/op_msg.rb +45 -0
  59. data/lib/mongo/operation/get_more/op_msg.rb +33 -0
  60. data/lib/mongo/operation/insert/op_msg.rb +3 -2
  61. data/lib/mongo/operation/insert/result.rb +4 -2
  62. data/lib/mongo/operation/list_collections/result.rb +1 -1
  63. data/lib/mongo/operation/map_reduce/result.rb +1 -1
  64. data/lib/mongo/operation/op_msg_base.rb +3 -1
  65. data/lib/mongo/operation/result.rb +26 -5
  66. data/lib/mongo/operation/shared/executable.rb +55 -28
  67. data/lib/mongo/operation/shared/op_msg_executable.rb +4 -1
  68. data/lib/mongo/operation/shared/response_handling.rb +25 -27
  69. data/lib/mongo/operation/shared/sessions_supported.rb +1 -1
  70. data/lib/mongo/operation/shared/specifiable.rb +7 -0
  71. data/lib/mongo/operation/shared/timed.rb +52 -0
  72. data/lib/mongo/operation/shared/write.rb +4 -1
  73. data/lib/mongo/operation/update/op_msg.rb +2 -1
  74. data/lib/mongo/operation/update_search_index/op_msg.rb +34 -0
  75. data/lib/mongo/operation/update_search_index.rb +15 -0
  76. data/lib/mongo/operation.rb +4 -0
  77. data/lib/mongo/protocol/message.rb +1 -4
  78. data/lib/mongo/protocol/msg.rb +2 -2
  79. data/lib/mongo/retryable/base_worker.rb +28 -3
  80. data/lib/mongo/retryable/read_worker.rb +78 -36
  81. data/lib/mongo/retryable/write_worker.rb +59 -25
  82. data/lib/mongo/retryable.rb +8 -2
  83. data/lib/mongo/search_index/view.rb +232 -0
  84. data/lib/mongo/server/app_metadata/environment.rb +64 -9
  85. data/lib/mongo/server/app_metadata.rb +5 -4
  86. data/lib/mongo/server/connection.rb +11 -5
  87. data/lib/mongo/server/connection_base.rb +22 -2
  88. data/lib/mongo/server/connection_pool.rb +32 -14
  89. data/lib/mongo/server/description/features.rb +2 -1
  90. data/lib/mongo/server/description.rb +18 -5
  91. data/lib/mongo/server/monitor.rb +7 -4
  92. data/lib/mongo/server/pending_connection.rb +25 -8
  93. data/lib/mongo/server/{round_trip_time_averager.rb → round_trip_time_calculator.rb} +25 -7
  94. data/lib/mongo/server.rb +11 -6
  95. data/lib/mongo/server_selector/base.rb +54 -12
  96. data/lib/mongo/session/server_session/dirtyable.rb +52 -0
  97. data/lib/mongo/session/server_session.rb +3 -0
  98. data/lib/mongo/session/session_pool.rb +12 -18
  99. data/lib/mongo/session.rb +110 -9
  100. data/lib/mongo/socket/ssl.rb +131 -18
  101. data/lib/mongo/socket/tcp.rb +40 -6
  102. data/lib/mongo/socket.rb +154 -25
  103. data/lib/mongo/uri/options_mapper.rb +1 -0
  104. data/lib/mongo/uri.rb +0 -4
  105. data/lib/mongo/version.rb +1 -5
  106. data/lib/mongo.rb +2 -0
  107. data/mongo.gemspec +9 -18
  108. data/spec/atlas/atlas_connectivity_spec.rb +9 -9
  109. data/spec/atlas/operations_spec.rb +5 -5
  110. data/spec/faas/ruby-sam-app/Gemfile +9 -0
  111. data/spec/faas/ruby-sam-app/mongodb/Gemfile +4 -0
  112. data/spec/faas/ruby-sam-app/mongodb/app.rb +149 -0
  113. data/spec/faas/ruby-sam-app/template.yaml +48 -0
  114. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +2 -1
  115. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +494 -487
  116. data/spec/integration/client_side_encryption/corpus_spec.rb +10 -2
  117. data/spec/integration/client_side_encryption/on_demand_aws_credentials_spec.rb +1 -1
  118. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +67 -20
  119. data/spec/integration/client_side_operations_timeout/encryption_prose_spec.rb +131 -0
  120. data/spec/integration/connection_pool_populator_spec.rb +2 -0
  121. data/spec/integration/cursor_pinning_spec.rb +15 -60
  122. data/spec/integration/cursor_reaping_spec.rb +1 -1
  123. data/spec/integration/docs_examples_spec.rb +1 -1
  124. data/spec/integration/find_options_spec.rb +227 -0
  125. data/spec/integration/operation_failure_code_spec.rb +1 -1
  126. data/spec/integration/operation_failure_message_spec.rb +3 -3
  127. data/spec/integration/retryable_errors_spec.rb +2 -2
  128. data/spec/integration/retryable_reads_errors_spec.rb +196 -31
  129. data/spec/integration/retryable_writes_errors_spec.rb +156 -0
  130. data/spec/integration/sdam_error_handling_spec.rb +4 -1
  131. data/spec/integration/search_indexes_prose_spec.rb +172 -0
  132. data/spec/integration/server_spec.rb +4 -3
  133. data/spec/integration/transactions_api_examples_spec.rb +2 -0
  134. data/spec/kerberos/kerberos_spec.rb +4 -0
  135. data/spec/lite_spec_helper.rb +34 -20
  136. data/spec/mongo/auth/user/view_spec.rb +1 -1
  137. data/spec/mongo/caching_cursor_spec.rb +1 -1
  138. data/spec/mongo/client_encryption_spec.rb +1 -0
  139. data/spec/mongo/client_spec.rb +158 -4
  140. data/spec/mongo/cluster_spec.rb +36 -0
  141. data/spec/mongo/collection/view/aggregation_spec.rb +20 -40
  142. data/spec/mongo/collection/view/change_stream_spec.rb +3 -3
  143. data/spec/mongo/collection/view/explainable_spec.rb +2 -0
  144. data/spec/mongo/collection_crud_spec.rb +2 -1
  145. data/spec/mongo/collection_spec.rb +5 -6
  146. data/spec/mongo/crypt/auto_encrypter_spec.rb +14 -12
  147. data/spec/mongo/crypt/data_key_context_spec.rb +3 -1
  148. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +2 -2
  149. data/spec/mongo/crypt/handle_spec.rb +1 -1
  150. data/spec/mongo/cursor_spec.rb +26 -9
  151. data/spec/mongo/error/operation_failure_heavy_spec.rb +2 -2
  152. data/spec/mongo/operation/context_spec.rb +79 -0
  153. data/spec/mongo/operation/create/op_msg_spec.rb +106 -110
  154. data/spec/mongo/operation/delete/op_msg_spec.rb +6 -5
  155. data/spec/mongo/operation/find/op_msg_spec.rb +66 -0
  156. data/spec/mongo/operation/get_more/op_msg_spec.rb +65 -0
  157. data/spec/mongo/operation/insert/op_msg_spec.rb +128 -131
  158. data/spec/mongo/operation/insert_spec.rb +1 -1
  159. data/spec/mongo/operation/shared/csot/examples.rb +113 -0
  160. data/spec/mongo/query_cache_spec.rb +243 -225
  161. data/spec/mongo/retryable/write_worker_spec.rb +39 -0
  162. data/spec/mongo/retryable_spec.rb +1 -0
  163. data/spec/mongo/server/app_metadata/environment_spec.rb +135 -0
  164. data/spec/mongo/server/app_metadata_spec.rb +12 -2
  165. data/spec/mongo/server/connection_spec.rb +26 -0
  166. data/spec/mongo/server/round_trip_time_calculator_spec.rb +120 -0
  167. data/spec/mongo/session/session_pool_spec.rb +1 -16
  168. data/spec/mongo/session_transaction_spec.rb +15 -0
  169. data/spec/mongo/socket/ssl_spec.rb +0 -10
  170. data/spec/mongo/uri_spec.rb +0 -9
  171. data/spec/runners/change_streams/test.rb +2 -2
  172. data/spec/runners/crud/operation.rb +1 -1
  173. data/spec/runners/crud/test.rb +0 -8
  174. data/spec/runners/crud/verifier.rb +3 -1
  175. data/spec/runners/crud.rb +1 -1
  176. data/spec/runners/transactions/operation.rb +4 -6
  177. data/spec/runners/transactions/test.rb +12 -3
  178. data/spec/runners/unified/ambiguous_operations.rb +13 -0
  179. data/spec/runners/unified/assertions.rb +20 -3
  180. data/spec/runners/unified/change_stream_operations.rb +14 -24
  181. data/spec/runners/unified/crud_operations.rb +82 -47
  182. data/spec/runners/unified/ddl_operations.rb +38 -7
  183. data/spec/runners/unified/grid_fs_operations.rb +37 -2
  184. data/spec/runners/unified/search_index_operations.rb +63 -0
  185. data/spec/runners/unified/support_operations.rb +46 -9
  186. data/spec/runners/unified/test.rb +33 -12
  187. data/spec/runners/unified.rb +1 -1
  188. data/spec/solo/clean_exit_spec.rb +2 -0
  189. data/spec/spec_helper.rb +1 -1
  190. data/spec/spec_tests/client_side_operations_timeout_spec.rb +15 -0
  191. data/spec/spec_tests/data/change_streams_unified/change-streams-clusterTime.yml +3 -1
  192. data/spec/spec_tests/data/change_streams_unified/change-streams-disambiguatedPaths.yml +3 -1
  193. data/spec/spec_tests/data/change_streams_unified/change-streams-errors.yml +3 -1
  194. data/spec/spec_tests/data/change_streams_unified/change-streams-pre_and_post_images.yml +1 -1
  195. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-allowlist.yml +1 -1
  196. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-errorLabels.yml +1 -1
  197. data/spec/spec_tests/data/change_streams_unified/change-streams-showExpandedEvents.yml +1 -1
  198. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +2 -1
  199. data/spec/spec_tests/data/client_side_encryption/explain.yml +2 -2
  200. data/spec/spec_tests/data/client_side_encryption/fle2v2-BypassQueryAnalysis.yml +1 -0
  201. data/spec/spec_tests/data/client_side_encryption/fle2v2-Compact.yml +1 -0
  202. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection.yml +1 -0
  203. data/spec/spec_tests/data/client_side_encryption/fle2v2-DecryptExistingData.yml +1 -0
  204. data/spec/spec_tests/data/client_side_encryption/fle2v2-Delete.yml +1 -0
  205. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-EncryptedFieldsMap.yml +1 -0
  206. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-jsonSchema.yml +1 -0
  207. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFieldsMap-defaults.yml +1 -0
  208. data/spec/spec_tests/data/client_side_encryption/fle2v2-FindOneAndUpdate.yml +1 -0
  209. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Indexed.yml +1 -0
  210. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml +1 -0
  211. data/spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml +1 -0
  212. data/spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml +1 -0
  213. data/spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml +1 -0
  214. data/spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml +2 -1
  215. data/spec/spec_tests/data/client_side_encryption/timeoutMS.yml +67 -0
  216. data/spec/spec_tests/data/client_side_operations_timeout/bulkWrite.yml +87 -0
  217. data/spec/spec_tests/data/client_side_operations_timeout/change-streams.yml +358 -0
  218. data/spec/spec_tests/data/client_side_operations_timeout/close-cursors.yml +129 -0
  219. data/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml +250 -0
  220. data/spec/spec_tests/data/client_side_operations_timeout/convenient-transactions.yml +113 -0
  221. data/spec/spec_tests/data/client_side_operations_timeout/cursors.yml +70 -0
  222. data/spec/spec_tests/data/client_side_operations_timeout/deprecated-options.yml +3982 -0
  223. data/spec/spec_tests/data/client_side_operations_timeout/error-transformations.yml +96 -0
  224. data/spec/spec_tests/data/client_side_operations_timeout/global-timeoutMS.yml +3236 -0
  225. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-advanced.yml +207 -0
  226. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-delete.yml +152 -0
  227. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-download.yml +182 -0
  228. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-find.yml +100 -0
  229. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-upload.yml +249 -0
  230. data/spec/spec_tests/data/client_side_operations_timeout/legacy-timeouts.yml +204 -0
  231. data/spec/spec_tests/data/client_side_operations_timeout/non-tailable-cursors.yml +307 -0
  232. data/spec/spec_tests/data/client_side_operations_timeout/override-collection-timeoutMS.yml +1877 -0
  233. data/spec/spec_tests/data/client_side_operations_timeout/override-operation-timeoutMS.yml +1918 -0
  234. data/spec/spec_tests/data/client_side_operations_timeout/retryability-legacy-timeouts.yml +1676 -0
  235. data/spec/spec_tests/data/client_side_operations_timeout/retryability-timeoutMS.yml +2824 -0
  236. data/spec/spec_tests/data/client_side_operations_timeout/sessions-inherit-timeoutMS.yml +168 -0
  237. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-operation-timeoutMS.yml +171 -0
  238. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-timeoutMS.yml +168 -0
  239. data/spec/spec_tests/data/client_side_operations_timeout/tailable-awaitData.yml +247 -0
  240. data/spec/spec_tests/data/client_side_operations_timeout/tailable-non-awaitData.yml +181 -0
  241. data/spec/spec_tests/data/connection_string/invalid-uris.yml +0 -10
  242. data/spec/spec_tests/data/connection_string/valid-options.yml +13 -0
  243. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +6 -0
  244. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +6 -0
  245. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +377 -0
  246. data/spec/spec_tests/data/index_management/createSearchIndex.yml +64 -0
  247. data/spec/spec_tests/data/index_management/createSearchIndexes.yml +86 -0
  248. data/spec/spec_tests/data/index_management/dropSearchIndex.yml +43 -0
  249. data/spec/spec_tests/data/index_management/listSearchIndexes.yml +91 -0
  250. data/spec/spec_tests/data/index_management/updateSearchIndex.yml +46 -0
  251. data/spec/spec_tests/data/retryable_writes/unified/bulkWrite-serverErrors.yml +3 -6
  252. data/spec/spec_tests/data/retryable_writes/unified/insertOne-serverErrors.yml +3 -6
  253. data/spec/spec_tests/data/run_command_unified/runCommand.yml +319 -0
  254. data/spec/spec_tests/data/sessions_unified/driver-sessions-dirty-session-errors.yml +351 -0
  255. data/spec/spec_tests/data/unified/valid-pass/poc-crud.yml +1 -1
  256. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-writes.yml +7 -7
  257. data/spec/spec_tests/data/unified/valid-pass/poc-sessions.yml +3 -4
  258. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-convenient-api.yml +1 -1
  259. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-mongos-pin-auto.yml +1 -1
  260. data/spec/spec_tests/data/unified/valid-pass/poc-transactions.yml +3 -3
  261. data/spec/spec_tests/index_management_unified_spec.rb +13 -0
  262. data/spec/spec_tests/run_command_unified_spec.rb +13 -0
  263. data/spec/spec_tests/sdam_unified_spec.rb +2 -0
  264. data/spec/spec_tests/server_selection_rtt_spec.rb +6 -6
  265. data/spec/spec_tests/transactions_unified_spec.rb +2 -1
  266. data/spec/support/certificates/atlas-ocsp-ca.crt +89 -79
  267. data/spec/support/certificates/atlas-ocsp.crt +117 -122
  268. data/spec/support/certificates/retrieve-atlas-cert +1 -1
  269. data/spec/support/cluster_tools.rb +3 -3
  270. data/spec/support/common_shortcuts.rb +2 -2
  271. data/spec/support/constraints.rb +6 -0
  272. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Date.json +1 -1
  273. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalNoPrecision.json +1 -1
  274. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalPrecision.json +1 -1
  275. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoubleNoPrecision.json +1 -1
  276. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoublePrecision.json +1 -1
  277. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Int.json +1 -1
  278. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Long.json +1 -1
  279. data/spec/support/ocsp +1 -1
  280. data/spec/support/recording_logger.rb +27 -0
  281. data/spec/support/shared/session.rb +2 -2
  282. data/spec/support/spec_config.rb +5 -0
  283. data/spec/support/spec_setup.rb +2 -2
  284. data/spec/support/utils.rb +3 -1
  285. metadata +1329 -1368
  286. checksums.yaml.gz.sig +0 -0
  287. data/spec/mongo/server/round_trip_time_averager_spec.rb +0 -48
  288. data/spec/shared/LICENSE +0 -20
  289. data/spec/shared/bin/get-mongodb-download-url +0 -17
  290. data/spec/shared/bin/s3-copy +0 -45
  291. data/spec/shared/bin/s3-upload +0 -69
  292. data/spec/shared/lib/mrss/child_process_helper.rb +0 -80
  293. data/spec/shared/lib/mrss/cluster_config.rb +0 -231
  294. data/spec/shared/lib/mrss/constraints.rb +0 -378
  295. data/spec/shared/lib/mrss/docker_runner.rb +0 -295
  296. data/spec/shared/lib/mrss/eg_config_utils.rb +0 -51
  297. data/spec/shared/lib/mrss/event_subscriber.rb +0 -210
  298. data/spec/shared/lib/mrss/lite_constraints.rb +0 -238
  299. data/spec/shared/lib/mrss/server_version_registry.rb +0 -113
  300. data/spec/shared/lib/mrss/session_registry.rb +0 -69
  301. data/spec/shared/lib/mrss/session_registry_legacy.rb +0 -60
  302. data/spec/shared/lib/mrss/spec_organizer.rb +0 -179
  303. data/spec/shared/lib/mrss/utils.rb +0 -37
  304. data/spec/shared/share/Dockerfile.erb +0 -330
  305. data/spec/shared/share/haproxy-1.conf +0 -16
  306. data/spec/shared/share/haproxy-2.conf +0 -17
  307. data/spec/shared/shlib/config.sh +0 -27
  308. data/spec/shared/shlib/distro.sh +0 -74
  309. data/spec/shared/shlib/server.sh +0 -416
  310. data/spec/shared/shlib/set_env.sh +0 -169
  311. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml +0 -241
  312. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml +0 -422
  313. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml +0 -182
  314. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml +0 -239
  315. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml +0 -235
  316. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml +0 -252
  317. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml +0 -1687
  318. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml +0 -293
  319. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml +0 -905
  320. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml +0 -1684
  321. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml +0 -1680
  322. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml +0 -1697
  323. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml +0 -329
  324. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml +0 -424
  325. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml +0 -226
  326. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml +0 -327
  327. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml +0 -319
  328. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml +0 -336
  329. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml +0 -913
  330. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml +0 -292
  331. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml +0 -518
  332. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml +0 -911
  333. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml +0 -907
  334. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml +0 -924
  335. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml +0 -325
  336. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml +0 -424
  337. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml +0 -224
  338. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml +0 -323
  339. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml +0 -319
  340. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml +0 -338
  341. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml +0 -241
  342. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml +0 -423
  343. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml +0 -182
  344. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml +0 -239
  345. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml +0 -235
  346. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml +0 -254
  347. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml +0 -241
  348. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml +0 -422
  349. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml +0 -182
  350. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml +0 -239
  351. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml +0 -235
  352. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml +0 -254
  353. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml +0 -43
  354. data/spec/spec_tests/data/cmap/pool-clear-interrupt-immediately.yml +0 -49
  355. data.tar.gz.sig +0 -0
  356. metadata.gz.sig +0 -2
@@ -2,151 +2,146 @@ Certificate:
2
2
  Data:
3
3
  Version: 3 (0x2)
4
4
  Serial Number:
5
- 03:a8:39:03:e8:84:cd:24:1c:9c:b1:27:8c:0a:7a:9b
5
+ 03:92:42:45:e6:7a:a2:13:84:ea:7c:7e:ce:da:6e:d4:63:67
6
6
  Signature Algorithm: sha256WithRSAEncryption
7
- Issuer: C = US, O = DigiCert Inc, CN = DigiCert Global G2 TLS RSA SHA256 2020 CA1
7
+ Issuer: C=US, O=Let's Encrypt, CN=R10
8
8
  Validity
9
- Not Before: Jun 2 00:00:00 2023 GMT
10
- Not After : Jun 4 23:59:59 2024 GMT
11
- Subject: C = US, ST = New York, L = New York, O = "MongoDB, Inc.", CN = *.mongodb-dev.net
9
+ Not Before: Aug 20 13:05:04 2024 GMT
10
+ Not After : Nov 18 13:05:03 2024 GMT
11
+ Subject: CN=*.g6fyiaq.mongodb-dev.net
12
12
  Subject Public Key Info:
13
13
  Public Key Algorithm: rsaEncryption
14
- Public-Key: (2048 bit)
14
+ Public-Key: (4096 bit)
15
15
  Modulus:
16
- 00:df:91:d8:18:9b:41:9c:83:33:58:e9:c2:42:00:
17
- 5a:a5:c0:61:e8:df:39:20:46:33:ae:87:34:c4:13:
18
- 89:d2:c9:4c:eb:6f:a5:cd:dc:31:07:b4:cf:53:74:
19
- 9b:3c:32:e8:df:4b:64:88:a2:03:87:e9:27:f9:7b:
20
- 57:ca:be:7b:51:0f:f2:b1:78:45:0e:5f:06:e9:0a:
21
- c9:fe:67:d0:19:3c:8c:41:01:5f:b7:66:a0:a4:3b:
22
- 54:18:c2:5b:5e:b1:d7:9e:6a:78:f3:bd:24:1d:fc:
23
- ce:43:d2:74:60:83:f4:f3:55:a4:dd:82:f0:e9:f1:
24
- 3d:ff:d1:b6:32:0f:c8:e4:aa:95:bf:52:33:8f:2f:
25
- be:28:ea:ea:cf:a7:13:65:7e:3c:61:2c:38:a0:95:
26
- 45:b8:2d:7e:20:33:38:36:fd:6f:c8:a8:e2:ad:5b:
27
- 3c:91:95:d9:ec:0b:08:7d:81:25:0c:b9:40:6b:97:
28
- 8a:d1:c4:f9:4d:9b:45:57:03:b9:5c:03:90:d0:68:
29
- 29:50:12:87:59:48:f0:19:c3:4d:42:3e:80:c3:4e:
30
- 7e:30:e1:bb:fe:f8:30:55:83:15:ca:af:12:13:3a:
31
- da:e9:91:a3:10:6d:fc:b6:64:5d:89:a3:b4:18:9a:
32
- 7e:ab:90:dd:11:fa:db:af:98:12:58:3c:8f:47:22:
33
- f2:53
16
+ 00:c2:ff:e0:09:f7:d1:30:47:e6:a1:c1:92:c2:ba:
17
+ cf:de:2c:86:2e:34:3a:63:f4:5a:a9:45:25:89:47:
18
+ eb:44:e8:fb:4e:0d:ac:99:5d:f8:42:74:07:a5:95:
19
+ ba:81:8b:9f:f1:64:f0:37:4e:e7:f6:59:c3:3a:08:
20
+ 5b:82:55:cd:ea:81:94:b6:e7:ec:7a:d8:6b:09:41:
21
+ 40:40:2f:27:b4:0e:09:d8:61:82:dc:b3:43:5b:50:
22
+ 5d:03:78:08:ed:35:52:e6:3a:9b:ad:de:4f:73:b3:
23
+ 56:2f:25:0d:e7:0b:61:83:e8:35:fe:73:89:e3:0e:
24
+ cb:7d:c1:29:00:d4:e2:a8:c2:9c:5c:b0:fd:4d:be:
25
+ 1a:86:a7:7f:b3:d3:d9:3b:35:4c:82:b3:8d:55:0a:
26
+ 9b:77:40:b0:dd:b1:e6:91:f4:91:dc:50:ee:96:92:
27
+ cc:af:11:bb:43:0a:a4:2b:5a:00:ab:9c:17:a2:e1:
28
+ bf:7c:9e:92:04:01:8f:bf:16:5f:85:9c:e4:5c:37:
29
+ 97:ff:29:50:18:d7:01:66:c5:bc:51:11:ac:8a:a3:
30
+ de:58:5d:1c:44:e4:f4:fe:77:83:99:3f:57:71:2d:
31
+ 2e:95:07:cc:78:b8:3c:50:4b:ea:ca:a8:20:e8:9b:
32
+ 05:91:5c:40:ba:a9:c3:87:d5:95:d7:ab:67:33:03:
33
+ 1d:b9:c6:d7:ef:3a:4e:aa:7d:81:bc:1b:52:fb:0e:
34
+ b4:7c:ce:9e:ff:d8:08:2b:33:ee:b6:d3:5c:7c:1a:
35
+ 7e:a3:cf:cd:92:42:7f:1b:a4:36:0b:d9:51:39:c6:
36
+ cb:c1:65:c1:e2:84:53:30:ba:2e:f1:c3:07:71:09:
37
+ 69:dd:ff:92:16:2c:05:1d:60:28:1c:af:5e:76:88:
38
+ 9f:df:e7:97:fb:cd:19:48:7a:87:f6:24:e0:e1:e1:
39
+ ff:76:95:93:65:72:44:29:5e:69:5d:2d:26:2c:fb:
40
+ a7:06:63:ff:7f:02:29:82:61:42:d9:9a:0b:44:ea:
41
+ 89:c8:bc:4a:75:17:58:05:85:04:62:1f:70:bd:79:
42
+ 66:b6:bb:27:a6:88:c8:27:db:41:da:88:ec:4e:71:
43
+ 0a:20:e6:e3:79:2a:ee:b5:af:99:96:72:9d:ca:c3:
44
+ e7:4f:9d:cd:e4:6b:22:e4:3b:54:2f:e2:e8:0c:df:
45
+ 6f:14:f8:74:4c:21:15:28:2c:51:5e:c8:8c:86:8e:
46
+ e0:5e:0e:2d:e1:25:cc:47:8c:9e:b5:94:bb:34:e4:
47
+ 43:b1:cd:55:2a:6f:1f:14:fa:c2:2f:3c:a1:ba:65:
48
+ f5:09:8d:1c:20:12:0d:80:33:35:f7:2f:d1:8b:ca:
49
+ b8:77:f0:a3:7d:fa:bd:31:ba:3a:f4:c7:5e:8d:55:
50
+ a7:c9:69
34
51
  Exponent: 65537 (0x10001)
35
52
  X509v3 extensions:
36
- X509v3 Authority Key Identifier:
37
- 74:85:80:C0:66:C7:DF:37:DE:CF:BD:29:37:AA:03:1D:BE:ED:CD:17
38
- X509v3 Subject Key Identifier:
39
- 97:FB:A6:29:30:AE:9D:F0:D9:85:05:12:AA:D4:C1:D9:EC:0F:5B:CE
40
- X509v3 Subject Alternative Name:
41
- DNS:*.mongodb-dev.net, DNS:mongodb-dev.net
42
53
  X509v3 Key Usage: critical
43
54
  Digital Signature, Key Encipherment
44
55
  X509v3 Extended Key Usage:
45
56
  TLS Web Server Authentication, TLS Web Client Authentication
46
- X509v3 CRL Distribution Points:
47
- Full Name:
48
- URI:http://crl3.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crl
49
- Full Name:
50
- URI:http://crl4.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crl
51
- X509v3 Certificate Policies:
52
- Policy: 2.23.140.1.2.2
53
- CPS: http://www.digicert.com/CPS
54
- Authority Information Access:
55
- OCSP - URI:http://ocsp.digicert.com
56
- CA Issuers - URI:http://cacerts.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crt
57
- X509v3 Basic Constraints:
57
+ X509v3 Basic Constraints: critical
58
58
  CA:FALSE
59
+ X509v3 Subject Key Identifier:
60
+ B8:6F:A5:A0:D0:70:D7:5E:AE:1E:54:5A:F1:26:DA:DD:CB:2C:5E:6F
61
+ X509v3 Authority Key Identifier:
62
+ BB:BC:C3:47:A5:E4:BC:A9:C6:C3:A4:72:0C:10:8D:A2:35:E1:C8:E8
63
+ Authority Information Access:
64
+ OCSP - URI:http://r10.o.lencr.org
65
+ CA Issuers - URI:http://r10.i.lencr.org/
66
+ X509v3 Subject Alternative Name:
67
+ DNS:*.g6fyiaq.mesh.mongodb-dev.net, DNS:*.g6fyiaq.mongodb-dev.net
68
+ X509v3 Certificate Policies:
69
+ Policy: 2.23.140.1.2.1
59
70
  CT Precertificate SCTs:
60
71
  Signed Certificate Timestamp:
61
72
  Version : v1 (0x0)
62
- Log ID : EE:CD:D0:64:D5:DB:1A:CE:C5:5C:B7:9D:B4:CD:13:A2:
63
- 32:87:46:7C:BC:EC:DE:C3:51:48:59:46:71:1F:B5:9B
64
- Timestamp : Jun 2 08:44:16.090 2023 GMT
65
- Extensions: none
66
- Signature : ecdsa-with-SHA256
67
- 30:46:02:21:00:88:AC:04:93:84:2C:2C:99:4F:B8:C4:
68
- 06:B5:7F:9B:92:D3:51:25:72:1D:DB:12:D5:C0:AA:8F:
69
- D1:97:39:EF:4C:02:21:00:96:B1:11:40:0F:BA:03:28:
70
- 88:BF:0C:DF:4B:4A:68:67:05:97:7E:F6:BD:6F:F3:0D:
71
- D8:9C:EB:90:75:FF:79:AB
72
- Signed Certificate Timestamp:
73
- Version : v1 (0x0)
74
- Log ID : 48:B0:E3:6B:DA:A6:47:34:0F:E5:6A:02:FA:9D:30:EB:
75
- 1C:52:01:CB:56:DD:2C:81:D9:BB:BF:AB:39:D8:84:73
76
- Timestamp : Jun 2 08:44:16.066 2023 GMT
73
+ Log ID : 76:FF:88:3F:0A:B6:FB:95:51:C2:61:CC:F5:87:BA:34:
74
+ B4:A4:CD:BB:29:DC:68:42:0A:9F:E6:67:4C:5A:3A:74
75
+ Timestamp : Aug 20 14:03:34.519 2024 GMT
77
76
  Extensions: none
78
77
  Signature : ecdsa-with-SHA256
79
- 30:45:02:21:00:B0:C8:4E:75:71:84:DE:71:8F:D0:27:
80
- 71:6C:4D:B1:E8:20:A3:54:AF:27:A8:A2:FA:AC:46:43:
81
- 4A:08:C1:A9:94:02:20:1A:E1:63:79:E6:DB:4A:98:72:
82
- FF:BD:C4:A2:D8:F5:11:36:4C:95:6E:68:B4:CF:E7:35:
83
- 84:BB:AC:A2:E6:D0:A0
78
+ 30:46:02:21:00:C6:92:47:D8:40:3A:B9:0C:BD:FC:45:
79
+ 3E:C6:28:06:80:62:0F:4A:EF:44:56:5F:8C:16:DF:C6:
80
+ A4:0E:4C:76:DD:02:21:00:CA:36:0F:54:6B:84:37:F3:
81
+ AD:50:5B:E8:DD:3D:D2:EA:34:82:72:50:D2:2C:2A:47:
82
+ FB:EC:16:76:5A:E8:9E:0C
84
83
  Signed Certificate Timestamp:
85
84
  Version : v1 (0x0)
86
- Log ID : DA:B6:BF:6B:3F:B5:B6:22:9F:9B:C2:BB:5C:6B:E8:70:
87
- 91:71:6C:BB:51:84:85:34:BD:A4:3D:30:48:D7:FB:AB
88
- Timestamp : Jun 2 08:44:16.030 2023 GMT
85
+ Log ID : DF:E1:56:EB:AA:05:AF:B5:9C:0F:86:71:8D:A8:C0:32:
86
+ 4E:AE:56:D9:6E:A7:F5:A5:6A:01:D1:C1:3B:BE:52:5C
87
+ Timestamp : Aug 20 14:03:34.658 2024 GMT
89
88
  Extensions: none
90
89
  Signature : ecdsa-with-SHA256
91
- 30:44:02:20:51:59:38:3B:FF:76:EC:A2:3E:15:4B:60:
92
- 23:84:20:88:66:C3:64:7C:94:51:B9:1A:BD:87:15:73:
93
- 43:F5:96:BA:02:20:22:F3:7B:75:F4:58:58:C7:48:18:
94
- 85:22:17:FC:ED:07:A2:8B:A0:07:0E:32:0F:16:9C:8B:
95
- E5:AA:6B:86:86:6B
90
+ 30:45:02:20:23:5B:E1:35:10:78:F9:99:9F:42:7F:FE:
91
+ 73:F4:74:1B:55:3D:B9:93:C9:A8:EE:E7:B2:61:52:12:
92
+ D1:C9:06:0C:02:21:00:87:EA:87:A3:3A:B2:C6:F0:EA:
93
+ 52:5A:B2:7F:02:2E:CF:68:C8:A5:CB:54:0F:CB:CE:6A:
94
+ CC:E0:3A:D1:09:D3:9C
96
95
  Signature Algorithm: sha256WithRSAEncryption
97
96
  Signature Value:
98
- be:97:77:21:55:1d:c7:18:5f:52:de:a8:85:a5:d2:ee:48:29:
99
- b3:46:2d:31:02:12:5b:88:1e:09:ac:f4:7e:fc:4d:e4:e8:c9:
100
- 56:7e:de:1e:dc:53:1f:27:1b:dd:07:68:39:1c:2e:91:86:20:
101
- 2a:f0:9a:d1:ff:c4:b5:c2:85:a7:ec:9c:b8:62:31:aa:5b:69:
102
- 8e:37:d4:cc:ec:7b:86:86:b2:a9:6d:60:8b:70:44:ca:72:7a:
103
- d9:a8:54:96:f8:5a:e5:2b:2a:48:5d:4f:53:fb:b3:c9:67:70:
104
- a3:a6:d5:be:6d:99:11:51:89:31:e3:b1:43:54:e0:7c:cd:96:
105
- fd:2d:12:12:eb:a3:8e:b4:12:25:23:bf:a6:5d:70:c5:3f:8c:
106
- 9f:0e:5d:38:d0:4b:aa:67:30:d7:c3:47:76:20:bd:1a:55:2a:
107
- b2:df:37:92:67:88:65:11:15:62:a8:08:3f:93:ee:c1:b1:79:
108
- 33:03:03:0b:46:d4:5f:d2:82:31:77:6c:42:12:89:f4:f8:af:
109
- 32:ab:45:59:91:bf:82:44:69:d2:49:7f:1b:f3:49:28:37:85:
110
- 74:3c:4d:92:1b:56:30:4c:69:79:5d:fc:4d:a6:7b:c6:e7:f5:
111
- 34:e6:dd:c0:25:f8:69:b2:86:3a:44:a9:41:ba:34:cd:fe:aa:
112
- 20:d2:57:ad
97
+ 1d:11:b5:c6:7e:71:6c:63:34:8e:d4:eb:e6:42:ca:ce:fd:0d:
98
+ 9a:7d:ea:49:43:8d:de:46:ad:27:09:a6:a7:5c:58:89:2f:47:
99
+ 03:68:e2:19:0f:f6:76:be:47:0a:b6:d1:ed:5d:71:13:2a:12:
100
+ de:5e:41:cf:e1:a3:2c:46:07:81:da:b1:86:66:61:b0:0b:70:
101
+ 19:33:4c:a3:29:e4:e6:79:f6:3f:1b:4a:51:6a:2a:0c:c1:07:
102
+ 2c:db:cc:9a:3f:17:a2:ff:ac:19:76:9e:a2:d4:9b:c9:c2:75:
103
+ 48:5c:fd:d4:5e:ff:cc:6b:f0:ea:73:da:0b:f8:fd:c5:92:42:
104
+ ca:ca:43:51:98:e5:4b:77:b6:0f:da:d2:83:33:77:bc:60:5c:
105
+ b7:60:12:42:10:78:5b:ed:cd:83:42:63:ba:96:de:0e:d8:9e:
106
+ a5:97:6a:6f:70:82:7c:82:2c:ca:e3:a3:34:61:7a:70:d1:03:
107
+ fc:89:06:1e:b4:f3:ed:b4:64:5f:54:b8:d5:6e:31:e0:fa:0b:
108
+ f6:be:b7:6c:38:78:f8:bb:22:f2:7c:6b:44:54:3e:91:3a:8c:
109
+ bd:4d:1b:b5:8a:a6:df:17:9b:cf:3a:bd:dc:c3:1e:c5:2c:f5:
110
+ 19:32:75:0f:7b:54:30:ab:bb:7e:db:43:fb:ed:16:d9:03:81:
111
+ 23:8a:8c:7a
113
112
 
114
113
  -----BEGIN CERTIFICATE-----
115
- MIIG5zCCBc+gAwIBAgIQA6g5A+iEzSQcnLEnjAp6mzANBgkqhkiG9w0BAQsFADBZ
116
- MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE
117
- aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjMw
118
- NjAyMDAwMDAwWhcNMjQwNjA0MjM1OTU5WjBnMQswCQYDVQQGEwJVUzERMA8GA1UE
119
- CBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRYwFAYDVQQKEw1Nb25nb0RC
120
- LCBJbmMuMRowGAYDVQQDDBEqLm1vbmdvZGItZGV2Lm5ldDCCASIwDQYJKoZIhvcN
121
- AQEBBQADggEPADCCAQoCggEBAN+R2BibQZyDM1jpwkIAWqXAYejfOSBGM66HNMQT
122
- idLJTOtvpc3cMQe0z1N0mzwy6N9LZIiiA4fpJ/l7V8q+e1EP8rF4RQ5fBukKyf5n
123
- 0Bk8jEEBX7dmoKQ7VBjCW16x155qePO9JB38zkPSdGCD9PNVpN2C8OnxPf/RtjIP
124
- yOSqlb9SM48vvijq6s+nE2V+PGEsOKCVRbgtfiAzODb9b8io4q1bPJGV2ewLCH2B
125
- JQy5QGuXitHE+U2bRVcDuVwDkNBoKVASh1lI8BnDTUI+gMNOfjDhu/74MFWDFcqv
126
- EhM62umRoxBt/LZkXYmjtBiafquQ3RH626+YElg8j0ci8lMCAwEAAaOCA5swggOX
127
- MB8GA1UdIwQYMBaAFHSFgMBmx9833s+9KTeqAx2+7c0XMB0GA1UdDgQWBBSX+6Yp
128
- MK6d8NmFBRKq1MHZ7A9bzjAtBgNVHREEJjAkghEqLm1vbmdvZGItZGV2Lm5ldIIP
129
- bW9uZ29kYi1kZXYubmV0MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEF
130
- BQcDAQYIKwYBBQUHAwIwgZ8GA1UdHwSBlzCBlDBIoEagRIZCaHR0cDovL2NybDMu
131
- ZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0Ex
132
- LTEuY3JsMEigRqBEhkJodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRH
133
- bG9iYWxHMlRMU1JTQVNIQTI1NjIwMjBDQTEtMS5jcmwwPgYDVR0gBDcwNTAzBgZn
134
- gQwBAgIwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BT
135
- MIGHBggrBgEFBQcBAQR7MHkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj
136
- ZXJ0LmNvbTBRBggrBgEFBQcwAoZFaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
137
- L0RpZ2lDZXJ0R2xvYmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3J0MAkGA1Ud
138
- EwQCMAAwggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB3AO7N0GTV2xrOxVy3nbTN
139
- E6Iyh0Z8vOzew1FIWUZxH7WbAAABiHtHY1oAAAQDAEgwRgIhAIisBJOELCyZT7jE
140
- BrV/m5LTUSVyHdsS1cCqj9GXOe9MAiEAlrERQA+6AyiIvwzfS0poZwWXfva9b/MN
141
- 2JzrkHX/easAdgBIsONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+rOdiEcwAAAYh7
142
- R2NCAAAEAwBHMEUCIQCwyE51cYTecY/QJ3FsTbHoIKNUryeoovqsRkNKCMGplAIg
143
- GuFjeebbSphy/73Eotj1ETZMlW5otM/nNYS7rKLm0KAAdQDatr9rP7W2Ip+bwrtc
144
- a+hwkXFsu1GEhTS9pD0wSNf7qwAAAYh7R2MeAAAEAwBGMEQCIFFZODv/duyiPhVL
145
- YCOEIIhmw2R8lFG5Gr2HFXND9Za6AiAi83t19FhYx0gYhSIX/O0HoougBw4yDxac
146
- i+Wqa4aGazANBgkqhkiG9w0BAQsFAAOCAQEAvpd3IVUdxxhfUt6ohaXS7kgps0Yt
147
- MQISW4geCaz0fvxN5OjJVn7eHtxTHycb3QdoORwukYYgKvCa0f/EtcKFp+ycuGIx
148
- qltpjjfUzOx7hoayqW1gi3BEynJ62ahUlvha5SsqSF1PU/uzyWdwo6bVvm2ZEVGJ
149
- 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
- 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
- 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
152
147
  -----END CERTIFICATE-----
@@ -4,7 +4,7 @@
4
4
 
5
5
  require 'tmpdir'
6
6
 
7
- host = 'freecluster-shard-00-00-oztdp.mongodb-dev.net'
7
+ host = 'ac-ulwcmzm-shard-00-00.g6fyiaq.mongodb-dev.net'
8
8
 
9
9
  output = `openssl s_client -showcerts -servername #{host} -connect #{host}:27017 </dev/null`
10
10
 
@@ -98,7 +98,7 @@ class ClusterTools
98
98
  def step_down
99
99
  admin_client.database.command(
100
100
  replSetStepDown: 4, secondaryCatchUpPeriodSecs: 2)
101
- rescue Mongo::Error::OperationFailure => e
101
+ rescue Mongo::Error::OperationFailure::Family => e
102
102
  # While waiting for secondaries to catch up before stepping down, this node decided to step down for other reasons (189)
103
103
  if e.code == 189
104
104
  # success
@@ -118,7 +118,7 @@ class ClusterTools
118
118
  begin
119
119
  client.database.command(replSetStepUp: 1)
120
120
  break
121
- rescue Mongo::Error::OperationFailure => e
121
+ rescue Mongo::Error::OperationFailure::Family => e
122
122
  # Election failed. (125)
123
123
  if e.code == 125
124
124
  # Possible reason is the node we are trying to elect has deny-listed
@@ -261,7 +261,7 @@ class ClusterTools
261
261
  def unfreeze_server(address)
262
262
  begin
263
263
  direct_client(address).use('admin').database.command(replSetFreeze: 0)
264
- rescue Mongo::Error::OperationFailure => e
264
+ rescue Mongo::Error::OperationFailure::Family => e
265
265
  # Mongo::Error::OperationFailure: cannot freeze node when primary or running for election. state: Primary (95)
266
266
  if e.code == 95
267
267
  # The server we want to become primary may have already become the
@@ -176,7 +176,7 @@ module CommonShortcuts
176
176
  ClientRegistry.instance.global_client('root_authorized').command(killAllSessions: [])
177
177
  # killAllSessions also kills the implicit session which the driver uses
178
178
  # to send this command, as a result it always fails
179
- rescue Mongo::Error::OperationFailure => e
179
+ rescue Mongo::Error::OperationFailure::Family => e
180
180
  # "operation was interrupted"
181
181
  unless e.code == 11601
182
182
  raise
@@ -396,7 +396,7 @@ module CommonShortcuts
396
396
  client.start_session(snapshot: true) do |session|
397
397
  client[collection].aggregate([{'$match': {any: true}}], session: session).to_a
398
398
  end
399
- rescue Mongo::Error::OperationFailure => e
399
+ rescue Mongo::Error::OperationFailure::Family => e
400
400
  # Retry them as the server demands...
401
401
  if e.code == 246 # SnapshotUnavailable
402
402
  if Mongo::Utils.monotonic_time < start_time + 10
@@ -17,6 +17,12 @@ module Constraints
17
17
  end
18
18
  end
19
19
 
20
+ def forbid_x509_auth
21
+ before(:all) do
22
+ skip 'X.509 auth not allowed' if SpecConfig.instance.x509_auth?
23
+ end
24
+ end
25
+
20
26
  def max_bson_version(version)
21
27
  required_version = version.split('.').map(&:to_i)
22
28
  actual_version = bson_version(required_version.length)
@@ -10,7 +10,7 @@
10
10
  "path": "encryptedDate",
11
11
  "bsonType": "date",
12
12
  "queries": {
13
- "queryType": "rangePreview",
13
+ "queryType": "range",
14
14
  "sparsity": {
15
15
  "$numberLong": "1"
16
16
  },
@@ -10,7 +10,7 @@
10
10
  "path": "encryptedDecimalNoPrecision",
11
11
  "bsonType": "decimal",
12
12
  "queries": {
13
- "queryType": "rangePreview",
13
+ "queryType": "range",
14
14
  "sparsity": {
15
15
  "$numberInt": "1"
16
16
  }
@@ -10,7 +10,7 @@
10
10
  "path": "encryptedDecimalPrecision",
11
11
  "bsonType": "decimal",
12
12
  "queries": {
13
- "queryType": "rangePreview",
13
+ "queryType": "range",
14
14
  "sparsity": {
15
15
  "$numberInt": "1"
16
16
  },
@@ -10,7 +10,7 @@
10
10
  "path": "encryptedDoubleNoPrecision",
11
11
  "bsonType": "double",
12
12
  "queries": {
13
- "queryType": "rangePreview",
13
+ "queryType": "range",
14
14
  "sparsity": {
15
15
  "$numberLong": "1"
16
16
  }
@@ -10,7 +10,7 @@
10
10
  "path": "encryptedDoublePrecision",
11
11
  "bsonType": "double",
12
12
  "queries": {
13
- "queryType": "rangePreview",
13
+ "queryType": "range",
14
14
  "sparsity": {
15
15
  "$numberLong": "1"
16
16
  },
@@ -10,7 +10,7 @@
10
10
  "path": "encryptedInt",
11
11
  "bsonType": "int",
12
12
  "queries": {
13
- "queryType": "rangePreview",
13
+ "queryType": "range",
14
14
  "sparsity": {
15
15
  "$numberLong": "1"
16
16
  },
@@ -10,7 +10,7 @@
10
10
  "path": "encryptedLong",
11
11
  "bsonType": "long",
12
12
  "queries": {
13
- "queryType": "rangePreview",
13
+ "queryType": "range",
14
14
  "sparsity": {
15
15
  "$numberLong": "1"
16
16
  },
data/spec/support/ocsp CHANGED
@@ -1 +1 @@
1
- spec/support/../../.mod/drivers-evergreen-tools/.evergreen/ocsp
1
+ ../../.mod/drivers-evergreen-tools/.evergreen/ocsp
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ # rubocop:todo all
3
+
4
+ require 'stringio'
5
+
6
+ # A "Logger-alike" class, quacking like ::Logger, used for recording messages
7
+ # as they are written to the log
8
+ class RecordingLogger < Logger
9
+ def initialize(*args, **kwargs)
10
+ @buffer = StringIO.new
11
+ super(@buffer, *args, **kwargs)
12
+ end
13
+
14
+ # Accesses the raw contents of the log
15
+ #
16
+ # @return [ String ] the raw contents of the log
17
+ def contents
18
+ @buffer.string
19
+ end
20
+
21
+ # Returns the contents of the log as individual lines.
22
+ #
23
+ # @return [ Array<String> ] the individual log lines
24
+ def lines
25
+ contents.split(/\n/)
26
+ end
27
+ end
@@ -110,8 +110,8 @@ shared_examples 'a failed operation using a session' do
110
110
  end
111
111
 
112
112
  it 'raises an error' do
113
- expect([Mongo::Error::OperationFailure,
114
- Mongo::Error::BulkWriteError]).to include(operation_result.class)
113
+ expect([Mongo::Error::OperationFailure::Family,
114
+ Mongo::Error::BulkWriteError].any? { |e| e === operation_result }).to be true
115
115
  end
116
116
 
117
117
  it 'updates the last use value' do
@@ -172,6 +172,11 @@ class SpecConfig
172
172
  !!ENV['SERVERLESS']
173
173
  end
174
174
 
175
+ def kill_all_server_sessions?
176
+ !serverless? && # Serverless instances do not support killAllSessions command.
177
+ ClusterConfig.instance.fcv_ish >= '3.6'
178
+ end
179
+
175
180
  # Test suite configuration
176
181
 
177
182
  def client_debug?
@@ -28,7 +28,7 @@ class SpecSetup
28
28
  # more users to any other databases.
29
29
  begin
30
30
  create_user(client, SpecConfig.instance.root_user)
31
- rescue Mongo::Error::OperationFailure => e
31
+ rescue Mongo::Error::OperationFailure::Family => e
32
32
  # When testing a cluster that requires auth, root user is already set up
33
33
  # and it is not creatable without auth.
34
34
  # Seems like every mongodb version has its own error message
@@ -61,7 +61,7 @@ class SpecSetup
61
61
  users = client.use('admin').database.users
62
62
  begin
63
63
  users.create(user)
64
- rescue Mongo::Error::OperationFailure => e
64
+ rescue Mongo::Error::OperationFailure::Family => e
65
65
  if e.message =~ /User.*already exists/
66
66
  users.remove(user.name)
67
67
  users.create(user)
@@ -330,8 +330,10 @@ module Utils
330
330
  when 'long'
331
331
  expected_class = BSON::Int64
332
332
  expected_key = '$numberLong'
333
+ when %w[int long]
334
+ return actual.is_a?(Numeric) || actual.is_a?(BSON::Int32) || actual.is_a?(BSON::Int64)
333
335
  else
334
- raise "Tests do not currently support matching against $$type #{v['$$type']}"
336
+ raise "Tests do not currently support matching against $$type #{expected['$$type']}"
335
337
  end
336
338
 
337
339
  actual.is_a?(expected_class) || actual.key?(expected_key)