mongo 2.19.1 → 2.21.0

Sign up to get free protection for your applications and to get access to all the features.
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)