mongo 2.15.0 → 2.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (332) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +1 -1
  4. data/lib/mongo/bulk_write.rb +2 -2
  5. data/lib/mongo/client.rb +45 -5
  6. data/lib/mongo/cluster/periodic_executor.rb +4 -3
  7. data/lib/mongo/cluster/reapers/cursor_reaper.rb +76 -43
  8. data/lib/mongo/cluster/sdam_flow.rb +9 -3
  9. data/lib/mongo/cluster/topology/base.rb +13 -9
  10. data/lib/mongo/cluster/topology/load_balanced.rb +102 -0
  11. data/lib/mongo/cluster/topology.rb +28 -8
  12. data/lib/mongo/cluster.rb +136 -51
  13. data/lib/mongo/collection/view/aggregation.rb +5 -10
  14. data/lib/mongo/collection/view/builder/aggregation.rb +6 -5
  15. data/lib/mongo/collection/view/builder/map_reduce.rb +12 -49
  16. data/lib/mongo/collection/view/builder.rb +0 -4
  17. data/lib/mongo/collection/view/iterable.rb +58 -24
  18. data/lib/mongo/collection/view/map_reduce.rb +39 -15
  19. data/lib/mongo/collection/view/readable.rb +60 -51
  20. data/lib/mongo/collection/view/writable.rb +178 -175
  21. data/lib/mongo/collection/view.rb +15 -21
  22. data/lib/mongo/collection.rb +13 -13
  23. data/lib/mongo/cursor/kill_spec.rb +38 -0
  24. data/lib/mongo/cursor.rb +72 -31
  25. data/lib/mongo/database/view.rb +1 -1
  26. data/lib/mongo/error/bad_load_balancer_target.rb +26 -0
  27. data/lib/mongo/error/missing_service_id.rb +26 -0
  28. data/lib/mongo/error/no_service_connection_available.rb +49 -0
  29. data/lib/mongo/error/notable.rb +7 -0
  30. data/lib/mongo/error.rb +3 -0
  31. data/lib/mongo/grid/fs_bucket.rb +21 -2
  32. data/lib/mongo/id.rb +7 -5
  33. data/lib/mongo/index/view.rb +22 -41
  34. data/lib/mongo/monitoring/event/cmap/pool_cleared.rb +7 -4
  35. data/lib/mongo/monitoring/event/command_failed.rb +1 -1
  36. data/lib/mongo/monitoring/event/command_started.rb +2 -0
  37. data/lib/mongo/monitoring/publishable.rb +2 -2
  38. data/lib/mongo/operation/aggregate/command.rb +8 -0
  39. data/lib/mongo/operation/context.rb +19 -1
  40. data/lib/mongo/operation/count/command.rb +6 -0
  41. data/lib/mongo/operation/count/op_msg.rb +6 -0
  42. data/lib/mongo/operation/create/command.rb +7 -1
  43. data/lib/mongo/operation/create/op_msg.rb +7 -0
  44. data/lib/mongo/operation/create_index/command.rb +17 -1
  45. data/lib/mongo/operation/create_index/op_msg.rb +17 -4
  46. data/lib/mongo/operation/delete/command.rb +6 -3
  47. data/lib/mongo/operation/delete/legacy.rb +9 -2
  48. data/lib/mongo/operation/delete/op_msg.rb +8 -1
  49. data/lib/mongo/operation/distinct/command.rb +6 -0
  50. data/lib/mongo/operation/distinct/op_msg.rb +7 -0
  51. data/lib/mongo/operation/explain/command.rb +13 -1
  52. data/lib/mongo/operation/explain/legacy.rb +12 -5
  53. data/lib/mongo/operation/explain/op_msg.rb +9 -1
  54. data/lib/mongo/operation/find/builder/command.rb +110 -0
  55. data/lib/mongo/{collection/view → operation/find}/builder/flags.rb +10 -14
  56. data/lib/mongo/operation/find/builder/legacy.rb +123 -0
  57. data/lib/mongo/{collection/view → operation/find}/builder/modifiers.rb +31 -25
  58. data/lib/mongo/{cursor → operation/find}/builder.rb +4 -4
  59. data/lib/mongo/operation/find/command.rb +9 -0
  60. data/lib/mongo/operation/find/legacy.rb +10 -1
  61. data/lib/mongo/operation/find/op_msg.rb +12 -0
  62. data/lib/mongo/operation/find.rb +1 -0
  63. data/lib/mongo/operation/get_more/command.rb +1 -0
  64. data/lib/mongo/operation/get_more/command_builder.rb +38 -0
  65. data/lib/mongo/operation/get_more/op_msg.rb +1 -0
  66. data/lib/mongo/operation/get_more.rb +1 -0
  67. data/lib/mongo/operation/kill_cursors/command.rb +8 -0
  68. data/lib/mongo/operation/kill_cursors/command_builder.rb +35 -0
  69. data/lib/mongo/operation/kill_cursors/legacy.rb +2 -1
  70. data/lib/mongo/operation/kill_cursors/op_msg.rb +10 -0
  71. data/lib/mongo/operation/kill_cursors.rb +1 -0
  72. data/lib/mongo/operation/map_reduce/command.rb +8 -0
  73. data/lib/mongo/operation/map_reduce/op_msg.rb +1 -1
  74. data/lib/mongo/operation/shared/executable.rb +15 -1
  75. data/lib/mongo/operation/shared/polymorphic_operation.rb +1 -1
  76. data/lib/mongo/operation/shared/read_preference_supported.rb +3 -1
  77. data/lib/mongo/operation/shared/response_handling.rb +1 -0
  78. data/lib/mongo/operation/shared/sessions_supported.rb +12 -12
  79. data/lib/mongo/operation/shared/specifiable.rb +11 -29
  80. data/lib/mongo/operation/shared/validatable.rb +87 -0
  81. data/lib/mongo/operation/shared/write.rb +1 -1
  82. data/lib/mongo/operation/update/command.rb +6 -3
  83. data/lib/mongo/operation/update/legacy.rb +19 -11
  84. data/lib/mongo/operation/update/op_msg.rb +7 -4
  85. data/lib/mongo/operation/write_command/command.rb +51 -0
  86. data/lib/mongo/operation/write_command/op_msg.rb +43 -0
  87. data/lib/mongo/operation/write_command.rb +32 -0
  88. data/lib/mongo/operation.rb +10 -0
  89. data/lib/mongo/protocol/query.rb +35 -18
  90. data/lib/mongo/server/connection.rb +25 -3
  91. data/lib/mongo/server/connection_base.rb +12 -1
  92. data/lib/mongo/server/connection_common.rb +38 -1
  93. data/lib/mongo/server/connection_pool/generation_manager.rb +71 -0
  94. data/lib/mongo/server/connection_pool.rb +100 -27
  95. data/lib/mongo/server/description/features.rb +17 -16
  96. data/lib/mongo/server/description/load_balancer.rb +33 -0
  97. data/lib/mongo/server/description.rb +85 -6
  98. data/lib/mongo/server/monitor/connection.rb +5 -6
  99. data/lib/mongo/server/monitor.rb +2 -1
  100. data/lib/mongo/server/pending_connection.rb +47 -31
  101. data/lib/mongo/server/push_monitor.rb +10 -1
  102. data/lib/mongo/server.rb +73 -26
  103. data/lib/mongo/server_selector/base.rb +5 -1
  104. data/lib/mongo/session/session_pool.rb +11 -0
  105. data/lib/mongo/session.rb +21 -1
  106. data/lib/mongo/socket/ocsp_verifier.rb +6 -37
  107. data/lib/mongo/uri/options_mapper.rb +1 -0
  108. data/lib/mongo/uri/srv_protocol.rb +6 -8
  109. data/lib/mongo/uri.rb +18 -0
  110. data/lib/mongo/utils.rb +0 -7
  111. data/lib/mongo/version.rb +1 -1
  112. data/mongo.gemspec +1 -1
  113. data/spec/integration/auth_spec.rb +31 -1
  114. data/spec/integration/awaited_ismaster_spec.rb +1 -1
  115. data/spec/integration/bulk_write_spec.rb +1 -1
  116. data/spec/integration/change_stream_spec.rb +3 -3
  117. data/spec/integration/client_construction_spec.rb +54 -0
  118. data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +1 -1
  119. data/spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb +1 -1
  120. data/spec/integration/client_side_encryption/bson_size_limit_spec.rb +1 -1
  121. data/spec/integration/client_side_encryption/data_key_spec.rb +1 -1
  122. data/spec/integration/client_spec.rb +2 -0
  123. data/spec/integration/command_monitoring_spec.rb +1 -1
  124. data/spec/integration/command_spec.rb +1 -1
  125. data/spec/integration/connection_spec.rb +52 -35
  126. data/spec/integration/crud_spec.rb +174 -1
  127. data/spec/integration/cursor_pinning_spec.rb +121 -0
  128. data/spec/integration/cursor_reaping_spec.rb +8 -4
  129. data/spec/integration/fork_reconnect_spec.rb +1 -5
  130. data/spec/integration/get_more_spec.rb +1 -1
  131. data/spec/integration/heartbeat_events_spec.rb +1 -1
  132. data/spec/integration/map_reduce_spec.rb +77 -0
  133. data/spec/integration/query_cache_spec.rb +47 -2
  134. data/spec/integration/query_cache_transactions_spec.rb +1 -1
  135. data/spec/integration/read_concern_spec.rb +1 -1
  136. data/spec/integration/read_preference_spec.rb +1 -1
  137. data/spec/integration/reconnect_spec.rb +30 -12
  138. data/spec/integration/retryable_errors_spec.rb +1 -1
  139. data/spec/integration/retryable_writes/retryable_writes_36_and_older_spec.rb +1 -1
  140. data/spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb +1 -1
  141. data/spec/integration/sdam_error_handling_spec.rb +5 -3
  142. data/spec/integration/sdam_events_spec.rb +35 -19
  143. data/spec/integration/sdam_prose_spec.rb +1 -1
  144. data/spec/integration/server_monitor_spec.rb +1 -0
  145. data/spec/integration/server_selector_spec.rb +22 -5
  146. data/spec/integration/server_spec.rb +2 -0
  147. data/spec/integration/srv_monitoring_spec.rb +1 -1
  148. data/spec/integration/step_down_spec.rb +1 -1
  149. data/spec/integration/transaction_pinning_spec.rb +120 -0
  150. data/spec/integration/versioned_api_examples_spec.rb +45 -0
  151. data/spec/integration/x509_auth_spec.rb +1 -1
  152. data/spec/lite_spec_helper.rb +1 -2
  153. data/spec/mongo/address/unix_spec.rb +1 -0
  154. data/spec/mongo/auth/cr_spec.rb +2 -3
  155. data/spec/mongo/auth/ldap_spec.rb +2 -3
  156. data/spec/mongo/auth/scram_spec.rb +2 -3
  157. data/spec/mongo/auth/user/view_spec.rb +1 -1
  158. data/spec/mongo/auth/x509_spec.rb +2 -3
  159. data/spec/mongo/bulk_write_spec.rb +3 -3
  160. data/spec/mongo/client_construction_spec.rb +259 -28
  161. data/spec/mongo/client_spec.rb +6 -4
  162. data/spec/mongo/cluster/cursor_reaper_spec.rb +36 -21
  163. data/spec/mongo/cluster/periodic_executor_spec.rb +3 -1
  164. data/spec/mongo/cluster_spec.rb +44 -3
  165. data/spec/mongo/collection/view/aggregation_spec.rb +1 -1
  166. data/spec/mongo/collection/view/builder/find_command_spec.rb +4 -0
  167. data/spec/mongo/collection/view/builder/op_query_spec.rb +4 -0
  168. data/spec/mongo/collection/view/map_reduce_spec.rb +1 -1
  169. data/spec/mongo/collection_crud_spec.rb +7 -2
  170. data/spec/mongo/collection_ddl_spec.rb +1 -1
  171. data/spec/mongo/collection_spec.rb +1 -1
  172. data/spec/mongo/cursor/builder/get_more_command_spec.rb +4 -0
  173. data/spec/mongo/cursor/builder/op_get_more_spec.rb +4 -0
  174. data/spec/mongo/cursor_spec.rb +15 -5
  175. data/spec/mongo/database_spec.rb +15 -15
  176. data/spec/mongo/error/operation_failure_heavy_spec.rb +1 -1
  177. data/spec/mongo/grid/fs_bucket_spec.rb +18 -12
  178. data/spec/mongo/grid/stream/write_spec.rb +3 -9
  179. data/spec/mongo/grid/stream_spec.rb +1 -1
  180. data/spec/mongo/index/view_spec.rb +2 -2
  181. data/spec/mongo/operation/delete/op_msg_spec.rb +1 -1
  182. data/spec/mongo/{collection/view → operation/find}/builder/flags_spec.rb +2 -2
  183. data/spec/mongo/{collection/view → operation/find}/builder/modifiers_spec.rb +2 -2
  184. data/spec/mongo/operation/find/legacy_spec.rb +1 -0
  185. data/spec/mongo/operation/insert/bulk_spec.rb +1 -1
  186. data/spec/mongo/operation/insert/op_msg_spec.rb +1 -1
  187. data/spec/mongo/operation/kill_cursors_spec.rb +4 -1
  188. data/spec/mongo/operation/read_preference_legacy_spec.rb +4 -0
  189. data/spec/mongo/operation/read_preference_op_msg_spec.rb +2 -0
  190. data/spec/mongo/operation/update/bulk_spec.rb +1 -1
  191. data/spec/mongo/operation/update/op_msg_spec.rb +1 -1
  192. data/spec/mongo/query_cache_spec.rb +6 -2
  193. data/spec/mongo/server/connection_common_spec.rb +62 -11
  194. data/spec/mongo/server/connection_pool_spec.rb +73 -7
  195. data/spec/mongo/server/connection_spec.rb +138 -43
  196. data/spec/mongo/server/description_spec.rb +1 -1
  197. data/spec/mongo/server/monitor/connection_spec.rb +22 -0
  198. data/spec/mongo/server/monitor_spec.rb +4 -3
  199. data/spec/mongo/server/push_monitor_spec.rb +101 -0
  200. data/spec/mongo/session/session_pool_spec.rb +42 -10
  201. data/spec/mongo/session_transaction_spec.rb +15 -30
  202. data/spec/mongo/socket/unix_spec.rb +1 -0
  203. data/spec/mongo/uri_option_parsing_spec.rb +38 -5
  204. data/spec/runners/change_streams/test.rb +1 -1
  205. data/spec/runners/cmap.rb +1 -1
  206. data/spec/runners/connection_string.rb +7 -3
  207. data/spec/runners/crud/operation.rb +5 -3
  208. data/spec/runners/crud/requirement.rb +1 -0
  209. data/spec/runners/crud.rb +1 -1
  210. data/spec/runners/sdam.rb +2 -1
  211. data/spec/runners/transactions/test.rb +2 -2
  212. data/spec/runners/unified/assertions.rb +2 -3
  213. data/spec/runners/unified/event_subscriber.rb +2 -2
  214. data/spec/runners/unified/support_operations.rb +10 -2
  215. data/spec/runners/unified/test.rb +3 -0
  216. data/spec/runners/unified.rb +1 -1
  217. data/spec/shared/lib/mrss/cluster_config.rb +6 -1
  218. data/spec/shared/lib/mrss/constraints.rb +11 -5
  219. data/spec/shared/lib/mrss/event_subscriber.rb +200 -0
  220. data/spec/shared/lib/mrss/server_version_registry.rb +17 -12
  221. data/spec/shared/share/Dockerfile.erb +5 -4
  222. data/spec/shared/shlib/server.sh +70 -20
  223. data/spec/spec_tests/change_streams_spec.rb +1 -1
  224. data/spec/spec_tests/cmap_spec.rb +4 -1
  225. data/spec/spec_tests/command_monitoring_spec.rb +2 -2
  226. data/spec/spec_tests/data/command_monitoring/find.yml +9 -9
  227. data/spec/spec_tests/data/crud/read/aggregate-collation.yml +2 -1
  228. data/spec/spec_tests/data/crud/read/aggregate-out.yml +1 -0
  229. data/spec/spec_tests/data/crud/read/count-collation.yml +2 -1
  230. data/spec/spec_tests/data/crud/read/distinct-collation.yml +2 -1
  231. data/spec/spec_tests/data/crud/read/find-collation.yml +2 -1
  232. data/spec/spec_tests/data/crud/write/bulkWrite-collation.yml +2 -1
  233. data/spec/spec_tests/data/crud/write/deleteMany-collation.yml +2 -1
  234. data/spec/spec_tests/data/crud/write/deleteOne-collation.yml +2 -1
  235. data/spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml +3 -2
  236. data/spec/spec_tests/data/crud/write/findOneAndReplace-collation.yml +2 -1
  237. data/spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml +3 -2
  238. data/spec/spec_tests/data/crud/write/replaceOne-collation.yml +3 -2
  239. data/spec/spec_tests/data/crud/write/updateMany-collation.yml +2 -1
  240. data/spec/spec_tests/data/crud/write/updateOne-collation.yml +2 -1
  241. data/spec/spec_tests/data/load_balancers/event-monitoring.yml +99 -0
  242. data/spec/spec_tests/data/load_balancers/lb-connection-establishment.yml +36 -0
  243. data/spec/spec_tests/data/load_balancers/non-lb-connection-establishment.yml +56 -0
  244. data/spec/spec_tests/data/load_balancers/server-selection.yml +50 -0
  245. data/spec/spec_tests/data/retryable_reads/changeStreams-client.watch-serverErrors.yml +1 -1
  246. data/spec/spec_tests/data/retryable_reads/changeStreams-client.watch.yml +1 -1
  247. data/spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch-serverErrors.yml +1 -1
  248. data/spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch.yml +1 -1
  249. data/spec/spec_tests/data/retryable_reads/changeStreams-db.watch-serverErrors.yml +1 -1
  250. data/spec/spec_tests/data/retryable_reads/changeStreams-db.watch.yml +1 -1
  251. data/spec/spec_tests/data/retryable_reads/mapReduce.yml +3 -1
  252. data/spec/spec_tests/data/sdam/load-balanced/discover_load_balancer.yml +25 -0
  253. data/spec/spec_tests/data/sdam_integration/find-network-error.yml +2 -0
  254. data/spec/spec_tests/data/sdam_integration/find-shutdown-error.yml +2 -0
  255. data/spec/spec_tests/data/sdam_integration/hello-command-error.yml +3 -1
  256. data/spec/spec_tests/data/sdam_integration/hello-network-error.yml +3 -1
  257. data/spec/spec_tests/data/sdam_integration/hello-timeout.yml +2 -0
  258. data/spec/spec_tests/data/sdam_integration/insert-network-error.yml +2 -0
  259. data/spec/spec_tests/data/sdam_integration/insert-shutdown-error.yml +2 -0
  260. data/spec/spec_tests/data/sdam_monitoring/load_balancer.yml +65 -0
  261. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-directConnection.yml +13 -0
  262. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-replicaSet-errors.yml +6 -0
  263. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-multiple-hosts.yml +5 -0
  264. data/spec/spec_tests/data/seed_list_discovery/load-balanced/loadBalanced-true-txt.yml +10 -0
  265. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/direct-connection-false.yml +0 -0
  266. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/direct-connection-true.yml +0 -0
  267. data/spec/spec_tests/data/seed_list_discovery/replica-set/encoded-userinfo-and-db.yml +15 -0
  268. data/spec/spec_tests/data/seed_list_discovery/replica-set/loadBalanced-false-txt.yml +10 -0
  269. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/longer-parent-in-return.yml +0 -0
  270. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/misformatted-option.yml +0 -0
  271. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/no-results.yml +0 -0
  272. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/not-enough-parts.yml +0 -0
  273. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/one-result-default-port.yml +0 -0
  274. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/one-txt-record-multiple-strings.yml +0 -0
  275. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/one-txt-record.yml +0 -0
  276. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/parent-part-mismatch1.yml +0 -0
  277. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/parent-part-mismatch2.yml +0 -0
  278. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/parent-part-mismatch3.yml +0 -0
  279. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/parent-part-mismatch4.yml +0 -0
  280. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/parent-part-mismatch5.yml +0 -0
  281. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/returned-parent-too-short.yml +0 -0
  282. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/returned-parent-wrong.yml +0 -0
  283. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/two-results-default-port.yml +0 -0
  284. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/two-results-nonstandard-port.yml +0 -0
  285. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/two-txt-records.yml +0 -0
  286. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/txt-record-not-allowed-option.yml +0 -0
  287. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/txt-record-with-overridden-ssl-option.yml +0 -0
  288. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/txt-record-with-overridden-uri-option.yml +0 -0
  289. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/txt-record-with-unallowed-option.yml +0 -0
  290. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-admin-database.yml +13 -0
  291. data/spec/spec_tests/data/seed_list_discovery/replica-set/uri-with-auth.yml +12 -0
  292. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/uri-with-port.yml +0 -0
  293. data/spec/spec_tests/data/{dns_seedlist_discovery → seed_list_discovery/replica-set}/uri-with-two-hosts.yml +0 -0
  294. data/spec/spec_tests/data/transactions/retryable-abort-errorLabels.yml +2 -0
  295. data/spec/spec_tests/data/transactions/retryable-abort.yml +2 -0
  296. data/spec/spec_tests/data/transactions/retryable-commit-errorLabels.yml +2 -0
  297. data/spec/spec_tests/data/transactions/retryable-commit.yml +2 -0
  298. data/spec/spec_tests/data/transactions/retryable-writes.yml +2 -0
  299. data/spec/spec_tests/data/uri_options/connection-options.yml +60 -0
  300. data/spec/spec_tests/load_balancers_spec.rb +15 -0
  301. data/spec/spec_tests/retryable_reads_spec.rb +2 -2
  302. data/spec/spec_tests/retryable_writes_spec.rb +1 -1
  303. data/spec/spec_tests/sdam_integration_spec.rb +1 -1
  304. data/spec/spec_tests/sdam_monitoring_spec.rb +10 -5
  305. data/spec/spec_tests/sdam_spec.rb +1 -1
  306. data/spec/spec_tests/seed_list_discovery_spec.rb +118 -0
  307. data/spec/spec_tests/uri_options_spec.rb +4 -4
  308. data/spec/stress/fork_reconnect_stress_spec.rb +1 -5
  309. data/spec/stress/push_monitor_close_spec.rb +44 -0
  310. data/spec/support/certificates/atlas-ocsp-ca.crt +82 -90
  311. data/spec/support/certificates/atlas-ocsp.crt +127 -122
  312. data/spec/support/common_shortcuts.rb +2 -3
  313. data/spec/support/matchers.rb +13 -0
  314. data/spec/support/shared/auth_context.rb +16 -0
  315. data/spec/support/shared/session.rb +2 -2
  316. data/spec/support/spec_config.rb +10 -11
  317. data/spec/support/using_hash.rb +31 -0
  318. data/spec/support/utils.rb +1 -1
  319. data.tar.gz.sig +0 -0
  320. metadata +1077 -1029
  321. metadata.gz.sig +0 -0
  322. data/lib/mongo/collection/view/builder/find_command.rb +0 -173
  323. data/lib/mongo/collection/view/builder/op_query.rb +0 -94
  324. data/lib/mongo/cursor/builder/get_more_command.rb +0 -80
  325. data/lib/mongo/cursor/builder/kill_cursors_command.rb +0 -111
  326. data/lib/mongo/cursor/builder/op_get_more.rb +0 -64
  327. data/lib/mongo/cursor/builder/op_kill_cursors.rb +0 -106
  328. data/lib/mongo/server/context.rb +0 -72
  329. data/spec/mongo/cursor/builder/op_kill_cursors_spec.rb +0 -66
  330. data/spec/runners/unified/using_hash.rb +0 -34
  331. data/spec/spec_tests/dns_seedlist_discovery_spec.rb +0 -79
  332. data/spec/support/event_subscriber.rb +0 -221
@@ -2,117 +2,109 @@ Certificate:
2
2
  Data:
3
3
  Version: 3 (0x2)
4
4
  Serial Number:
5
- 91:2b:08:4a:cf:0c:18:a7:53:f6:d6:2e:25:a7:5f:5a
5
+ 0a:35:08:d5:5c:29:2b:01:7d:f8:ad:65:c0:0f:f7:e4
6
6
  Signature Algorithm: sha256WithRSAEncryption
7
- Issuer: C = US, O = Internet Security Research Group, CN = ISRG Root X1
7
+ Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
8
8
  Validity
9
- Not Before: Sep 4 00:00:00 2020 GMT
10
- Not After : Sep 15 16:00:00 2025 GMT
11
- Subject: C = US, O = Let's Encrypt, CN = R3
9
+ Not Before: Sep 24 00:00:00 2020 GMT
10
+ Not After : Sep 23 23:59:59 2030 GMT
11
+ Subject: C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
12
12
  Subject Public Key Info:
13
13
  Public Key Algorithm: rsaEncryption
14
14
  RSA Public-Key: (2048 bit)
15
15
  Modulus:
16
- 00:bb:02:15:28:cc:f6:a0:94:d3:0f:12:ec:8d:55:
17
- 92:c3:f8:82:f1:99:a6:7a:42:88:a7:5d:26:aa:b5:
18
- 2b:b9:c5:4c:b1:af:8e:6b:f9:75:c8:a3:d7:0f:47:
19
- 94:14:55:35:57:8c:9e:a8:a2:39:19:f5:82:3c:42:
20
- a9:4e:6e:f5:3b:c3:2e:db:8d:c0:b0:5c:f3:59:38:
21
- e7:ed:cf:69:f0:5a:0b:1b:be:c0:94:24:25:87:fa:
22
- 37:71:b3:13:e7:1c:ac:e1:9b:ef:db:e4:3b:45:52:
23
- 45:96:a9:c1:53:ce:34:c8:52:ee:b5:ae:ed:8f:de:
24
- 60:70:e2:a5:54:ab:b6:6d:0e:97:a5:40:34:6b:2b:
25
- d3:bc:66:eb:66:34:7c:fa:6b:8b:8f:57:29:99:f8:
26
- 30:17:5d:ba:72:6f:fb:81:c5:ad:d2:86:58:3d:17:
27
- c7:e7:09:bb:f1:2b:f7:86:dc:c1:da:71:5d:d4:46:
28
- e3:cc:ad:25:c1:88:bc:60:67:75:66:b3:f1:18:f7:
29
- a2:5c:e6:53:ff:3a:88:b6:47:a5:ff:13:18:ea:98:
30
- 09:77:3f:9d:53:f9:cf:01:e5:f5:a6:70:17:14:af:
31
- 63:a4:ff:99:b3:93:9d:dc:53:a7:06:fe:48:85:1d:
32
- a1:69:ae:25:75:bb:13:cc:52:03:f5:ed:51:a1:8b:
33
- db:15
16
+ 00:c1:4b:b3:65:47:70:bc:dd:4f:58:db:ec:9c:ed:
17
+ c3:66:e5:1f:31:13:54:ad:4a:66:46:1f:2c:0a:ec:
18
+ 64:07:e5:2e:dc:dc:b9:0a:20:ed:df:e3:c4:d0:9e:
19
+ 9a:a9:7a:1d:82:88:e5:11:56:db:1e:9f:58:c2:51:
20
+ e7:2c:34:0d:2e:d2:92:e1:56:cb:f1:79:5f:b3:bb:
21
+ 87:ca:25:03:7b:9a:52:41:66:10:60:4f:57:13:49:
22
+ f0:e8:37:67:83:df:e7:d3:4b:67:4c:22:51:a6:df:
23
+ 0e:99:10:ed:57:51:74:26:e2:7d:c7:ca:62:2e:13:
24
+ 1b:7f:23:88:25:53:6f:c1:34:58:00:8b:84:ff:f8:
25
+ be:a7:58:49:22:7b:96:ad:a2:88:9b:15:bc:a0:7c:
26
+ df:e9:51:a8:d5:b0:ed:37:e2:36:b4:82:4b:62:b5:
27
+ 49:9a:ec:c7:67:d6:e3:3e:f5:e3:d6:12:5e:44:f1:
28
+ bf:71:42:7d:58:84:03:80:b1:81:01:fa:f9:ca:32:
29
+ bb:b4:8e:27:87:27:c5:2b:74:d4:a8:d6:97:de:c3:
30
+ 64:f9:ca:ce:53:a2:56:bc:78:17:8e:49:03:29:ae:
31
+ fb:49:4f:a4:15:b9:ce:f2:5c:19:57:6d:6b:79:a7:
32
+ 2b:a2:27:20:13:b5:d0:3d:40:d3:21:30:07:93:ea:
33
+ 99:f5
34
34
  Exponent: 65537 (0x10001)
35
35
  X509v3 extensions:
36
+ X509v3 Subject Key Identifier:
37
+ B7:6B:A2:EA:A8:AA:84:8C:79:EA:B4:DA:0F:98:B2:C5:95:76:B9:F4
38
+ X509v3 Authority Key Identifier:
39
+ keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
40
+
36
41
  X509v3 Key Usage: critical
37
42
  Digital Signature, Certificate Sign, CRL Sign
38
43
  X509v3 Extended Key Usage:
39
- TLS Web Client Authentication, TLS Web Server Authentication
44
+ TLS Web Server Authentication, TLS Web Client Authentication
40
45
  X509v3 Basic Constraints: critical
41
46
  CA:TRUE, pathlen:0
42
- X509v3 Subject Key Identifier:
43
- 14:2E:B3:17:B7:58:56:CB:AE:50:09:40:E6:1F:AF:9D:8B:14:C2:C6
44
- X509v3 Authority Key Identifier:
45
- keyid:79:B4:59:E6:7B:B6:E5:E4:01:73:80:08:88:C8:1A:58:F6:E9:9B:6E
46
-
47
47
  Authority Information Access:
48
- CA Issuers - URI:http://x1.i.lencr.org/
48
+ OCSP - URI:http://ocsp.digicert.com
49
+ CA Issuers - URI:http://cacerts.digicert.com/DigiCertGlobalRootCA.crt
49
50
 
50
51
  X509v3 CRL Distribution Points:
51
52
 
52
53
  Full Name:
53
- URI:http://x1.c.lencr.org/
54
+ URI:http://crl3.digicert.com/DigiCertGlobalRootCA.crl
55
+
56
+ Full Name:
57
+ URI:http://crl4.digicert.com/DigiCertGlobalRootCA.crl
54
58
 
55
59
  X509v3 Certificate Policies:
60
+ Policy: 2.23.140.1.1
56
61
  Policy: 2.23.140.1.2.1
57
- Policy: 1.3.6.1.4.1.44947.1.1.1
62
+ Policy: 2.23.140.1.2.2
63
+ Policy: 2.23.140.1.2.3
58
64
 
59
65
  Signature Algorithm: sha256WithRSAEncryption
60
- 85:ca:4e:47:3e:a3:f7:85:44:85:bc:d5:67:78:b2:98:63:ad:
61
- 75:4d:1e:96:3d:33:65:72:54:2d:81:a0:ea:c3:ed:f8:20:bf:
62
- 5f:cc:b7:70:00:b7:6e:3b:f6:5e:94:de:e4:20:9f:a6:ef:8b:
63
- b2:03:e7:a2:b5:16:3c:91:ce:b4:ed:39:02:e7:7c:25:8a:47:
64
- e6:65:6e:3f:46:f4:d9:f0:ce:94:2b:ee:54:ce:12:bc:8c:27:
65
- 4b:b8:c1:98:2f:a2:af:cd:71:91:4a:08:b7:c8:b8:23:7b:04:
66
- 2d:08:f9:08:57:3e:83:d9:04:33:0a:47:21:78:09:82:27:c3:
67
- 2a:c8:9b:b9:ce:5c:f2:64:c8:c0:be:79:c0:4f:8e:6d:44:0c:
68
- 5e:92:bb:2e:f7:8b:10:e1:e8:1d:44:29:db:59:20:ed:63:b9:
69
- 21:f8:12:26:94:93:57:a0:1d:65:04:c1:0a:22:ae:10:0d:43:
70
- 97:a1:18:1f:7e:e0:e0:86:37:b5:5a:b1:bd:30:bf:87:6e:2b:
71
- 2a:ff:21:4e:1b:05:c3:f5:18:97:f0:5e:ac:c3:a5:b8:6a:f0:
72
- 2e:bc:3b:33:b9:ee:4b:de:cc:fc:e4:af:84:0b:86:3f:c0:55:
73
- 43:36:f6:68:e1:36:17:6a:8e:99:d1:ff:a5:40:a7:34:b7:c0:
74
- d0:63:39:35:39:75:6e:f2:ba:76:c8:93:02:e9:a9:4b:6c:17:
75
- ce:0c:02:d9:bd:81:fb:9f:b7:68:d4:06:65:b3:82:3d:77:53:
76
- f8:8e:79:03:ad:0a:31:07:75:2a:43:d8:55:97:72:c4:29:0e:
77
- f7:c4:5d:4e:c8:ae:46:84:30:d7:f2:85:5f:18:a1:79:bb:e7:
78
- 5e:70:8b:07:e1:86:93:c3:b9:8f:dc:61:71:25:2a:af:df:ed:
79
- 25:50:52:68:8b:92:dc:e5:d6:b5:e3:da:7d:d0:87:6c:84:21:
80
- 31:ae:82:f5:fb:b9:ab:c8:89:17:3d:e1:4c:e5:38:0e:f6:bd:
81
- 2b:bd:96:81:14:eb:d5:db:3d:20:a7:7e:59:d3:e2:f8:58:f9:
82
- 5b:b8:48:cd:fe:5c:4f:16:29:fe:1e:55:23:af:c8:11:b0:8d:
83
- ea:7c:93:90:17:2f:fd:ac:a2:09:47:46:3f:f0:e9:b0:b7:ff:
84
- 28:4d:68:32:d6:67:5e:1e:69:a3:93:b8:f5:9d:8b:2f:0b:d2:
85
- 52:43:a6:6f:32:57:65:4d:32:81:df:38:53:85:5d:7e:5d:66:
86
- 29:ea:b8:dd:e4:95:b5:cd:b5:56:12:42:cd:c4:4e:c6:25:38:
87
- 44:50:6d:ec:ce:00:55:18:fe:e9:49:64:d4:4e:ca:97:9c:b4:
88
- 5b:c0:73:a8:ab:b8:47:c2
66
+ 77:ab:b7:7a:27:3d:ae:bb:f6:7f:e0:5a:56:c9:84:aa:ca:5b:
67
+ 71:17:dd:22:47:fc:4e:9f:ee:d0:c1:a4:04:e1:a3:eb:c5:49:
68
+ c1:fd:d1:c9:df:8c:af:94:45:2c:46:2a:a3:63:39:20:f9:9e:
69
+ 4a:24:94:41:c8:a9:d9:e2:9c:54:05:06:cb:5c:1c:be:00:1b:
70
+ 0f:a8:5a:ff:19:bb:65:c7:16:af:21:56:dd:61:05:c9:e9:8f:
71
+ 98:76:df:6b:1b:d0:72:0c:50:b9:30:29:7a:bf:60:59:10:66:
72
+ 13:3a:2d:ac:15:11:6c:2d:23:0c:02:3e:05:3b:fe:e5:a1:9c:
73
+ e2:8a:db:87:d7:4a:e8:5e:e7:48:06:eb:ab:12:9a:f2:af:84:
74
+ c3:5b:83:4a:99:81:83:ab:00:a1:ca:0a:3c:4c:a2:25:89:2a:
75
+ 22:a7:a4:f3:33:4c:5b:8c:2e:1a:02:97:0f:9d:8f:6d:2d:95:
76
+ 08:fb:4f:da:f1:91:38:25:e1:9c:6e:61:18:87:6a:ce:b1:bb:
77
+ 00:30:6a:9b:b7:af:da:f1:c5:97:fe:8a:78:24:aa:ea:93:80:
78
+ ba:33:65:7a:bc:a1:77:e9:7f:69:14:0b:00:3f:77:92:b1:4d:
79
+ 5b:73:87:0a:13:d0:9c:c8:f2:4b:39:4f:52:84:49:a6:4c:90:
80
+ 4e:1f:f7:b4
81
+
89
82
  -----BEGIN CERTIFICATE-----
90
- MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
91
- TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
92
- cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
93
- WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
94
- RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
95
- AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
96
- R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
97
- sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
98
- NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
99
- Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
100
- /kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
101
- AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
102
- Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
103
- FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
104
- AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
105
- Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
106
- gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
107
- PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
108
- ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
109
- CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
110
- lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
111
- avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
112
- yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
113
- yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
114
- hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
115
- HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
116
- MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
117
- nLRbwHOoq7hHwg==
118
- -----END CERTIFICATE-----
83
+ MIIE6jCCA9KgAwIBAgIQCjUI1VwpKwF9+K1lwA/35DANBgkqhkiG9w0BAQsFADBh
84
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
85
+ d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
86
+ QTAeFw0yMDA5MjQwMDAwMDBaFw0zMDA5MjMyMzU5NTlaME8xCzAJBgNVBAYTAlVT
87
+ MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxKTAnBgNVBAMTIERpZ2lDZXJ0IFRMUyBS
88
+ U0EgU0hBMjU2IDIwMjAgQ0ExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
89
+ AQEAwUuzZUdwvN1PWNvsnO3DZuUfMRNUrUpmRh8sCuxkB+Uu3Ny5CiDt3+PE0J6a
90
+ qXodgojlEVbbHp9YwlHnLDQNLtKS4VbL8Xlfs7uHyiUDe5pSQWYQYE9XE0nw6Ddn
91
+ g9/n00tnTCJRpt8OmRDtV1F0JuJ9x8piLhMbfyOIJVNvwTRYAIuE//i+p1hJInuW
92
+ raKImxW8oHzf6VGo1bDtN+I2tIJLYrVJmuzHZ9bjPvXj1hJeRPG/cUJ9WIQDgLGB
93
+ Afr5yjK7tI4nhyfFK3TUqNaX3sNk+crOU6JWvHgXjkkDKa77SU+kFbnO8lwZV21r
94
+ eacroicgE7XQPUDTITAHk+qZ9QIDAQABo4IBrjCCAaowHQYDVR0OBBYEFLdrouqo
95
+ qoSMeeq02g+YssWVdrn0MB8GA1UdIwQYMBaAFAPeUDVW0Uy7ZvCj4hsbw5eyPdFV
96
+ MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
97
+ EgYDVR0TAQH/BAgwBgEB/wIBADB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGG
98
+ GGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0aHR0cDovL2Nh
99
+ Y2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNydDB7BgNV
100
+ HR8EdDByMDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRH
101
+ bG9iYWxSb290Q0EuY3JsMDegNaAzhjFodHRwOi8vY3JsNC5kaWdpY2VydC5jb20v
102
+ RGlnaUNlcnRHbG9iYWxSb290Q0EuY3JsMDAGA1UdIAQpMCcwBwYFZ4EMAQEwCAYG
103
+ Z4EMAQIBMAgGBmeBDAECAjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEBAHer
104
+ t3onPa679n/gWlbJhKrKW3EX3SJH/E6f7tDBpATho+vFScH90cnfjK+URSxGKqNj
105
+ OSD5nkoklEHIqdninFQFBstcHL4AGw+oWv8Zu2XHFq8hVt1hBcnpj5h232sb0HIM
106
+ ULkwKXq/YFkQZhM6LawVEWwtIwwCPgU7/uWhnOKK24fXSuhe50gG66sSmvKvhMNb
107
+ g0qZgYOrAKHKCjxMoiWJKiKnpPMzTFuMLhoClw+dj20tlQj7T9rxkTgl4ZxuYRiH
108
+ as6xuwAwapu3r9rxxZf+ingkquqTgLozZXq8oXfpf2kUCwA/d5KxTVtzhwoT0JzI
109
+ 8ks5T1KESaZMkE4f97Q=
110
+ -----END CERTIFICATE-----
@@ -2,151 +2,156 @@ Certificate:
2
2
  Data:
3
3
  Version: 3 (0x2)
4
4
  Serial Number:
5
- 03:b0:ae:e9:c3:eb:00:48:5d:67:c8:bf:bb:ee:4b:b6:d6:18
5
+ 08:dc:93:55:36:6d:c5:92:20:d0:a3:4c:a1:19:ab:2d
6
6
  Signature Algorithm: sha256WithRSAEncryption
7
- Issuer: C = US, O = Let's Encrypt, CN = R3
7
+ Issuer: C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
8
8
  Validity
9
- Not Before: May 5 19:36:15 2021 GMT
10
- Not After : Aug 3 19:36:15 2021 GMT
11
- Subject: CN = *.zbmx1.mongodb.net
9
+ Not Before: Apr 27 00:00:00 2021 GMT
10
+ Not After : May 25 23:59:59 2022 GMT
11
+ Subject: C = US, ST = New York, L = New York, O = "MongoDB, Inc.", CN = *.mongodb-dev.net
12
12
  Subject Public Key Info:
13
13
  Public Key Algorithm: rsaEncryption
14
- RSA Public-Key: (4096 bit)
14
+ RSA Public-Key: (2048 bit)
15
15
  Modulus:
16
- 00:a4:a9:84:57:7b:6f:4c:fe:1f:9e:89:14:90:0e:
17
- 56:92:00:51:59:1d:59:01:8a:69:0b:41:e4:73:8f:
18
- cc:21:ee:52:a0:9c:fe:47:20:be:58:e4:ce:8b:16:
19
- 38:39:48:66:86:fe:6b:2e:d7:11:b0:95:78:4f:11:
20
- c6:6b:2a:f2:9a:37:78:1f:f1:47:39:cc:6e:cb:8c:
21
- b3:7a:ec:8b:7a:af:c5:15:ab:cf:e8:96:3f:63:e9:
22
- bf:58:1f:cb:96:b6:3c:49:c5:06:c3:6e:c2:73:8b:
23
- f1:76:1e:e9:b8:52:e8:5f:fd:e2:22:84:0a:a4:9d:
24
- 09:7a:e3:ab:c5:a5:21:cc:e8:40:25:a1:df:f9:52:
25
- 44:0a:92:cf:7b:72:6d:74:df:83:62:0b:83:6b:cf:
26
- e8:ae:91:ef:22:7b:6d:f3:fa:70:de:9e:cb:83:d9:
27
- 3d:1c:54:84:14:6a:06:5b:4d:f4:95:40:fc:19:93:
28
- 5c:c0:c1:2f:86:16:b0:84:b7:e4:26:93:9b:3a:ab:
29
- 98:c3:cb:fb:ee:dd:f8:26:7f:6c:ae:7a:d2:65:dd:
30
- 68:b3:51:59:bc:c1:3b:23:13:9b:6b:50:e5:87:c5:
31
- 5c:07:7b:cb:c6:b9:17:7c:23:aa:77:49:5e:c1:93:
32
- 5a:7d:fe:af:e3:3c:53:0d:61:7c:b2:e7:c4:7e:8f:
33
- cb:6d:d2:55:23:4b:d0:43:f5:20:51:58:15:c8:0c:
34
- cc:30:48:2d:01:4b:e9:d4:c6:ca:2d:00:74:05:b4:
35
- 8c:3a:6b:3f:db:7a:33:96:17:28:87:56:0d:a1:1c:
36
- 44:60:9a:ae:34:2a:61:ee:e2:42:b3:8b:89:ff:5d:
37
- fa:19:5d:b7:1f:db:0d:44:92:80:83:df:e0:11:88:
38
- 7c:9a:96:f8:7f:5b:cb:6a:ea:44:e6:2c:33:0a:ef:
39
- 32:d7:52:00:b6:30:86:43:d7:60:8b:33:0a:6c:43:
40
- 9c:e9:7b:73:8b:fa:97:9f:23:d4:9a:90:a5:92:25:
41
- 6d:03:b6:0e:33:30:5f:ac:04:0b:4c:cf:ab:82:04:
42
- 56:21:f0:7a:19:55:b5:63:03:35:f9:a0:84:26:73:
43
- cd:4e:9a:c3:34:bc:9e:9c:61:28:6f:fb:1b:b8:a2:
44
- 8e:4a:f8:b5:f2:03:3f:cd:f6:2c:70:bf:4b:f9:0d:
45
- 6a:4c:87:be:58:4d:fa:ba:33:fc:29:e3:29:6e:b3:
46
- df:bb:4d:e7:46:93:d6:aa:40:b2:3f:cf:5d:46:5d:
47
- 8b:17:ef:05:27:23:98:b7:db:59:73:2f:d2:7d:bf:
48
- f2:ff:67:fe:55:05:f2:4f:e7:d0:e4:43:3d:56:03:
49
- 26:25:90:f2:28:4c:21:a1:28:ea:92:b0:a1:b6:9c:
50
- 73:74:9b
16
+ 00:bb:c1:de:f6:08:39:fb:f1:9a:f7:d4:68:6a:d7:
17
+ 81:57:0c:09:b9:8f:39:e5:c8:b1:53:52:d8:64:0c:
18
+ e1:92:9c:ca:3f:92:46:86:5c:e2:8f:20:cf:f9:99:
19
+ d0:95:46:51:7e:55:f7:3d:62:1b:a4:e7:79:31:0c:
20
+ 39:9d:23:bc:00:6f:2f:3d:5f:d4:88:1b:d0:9c:42:
21
+ 26:45:1b:11:b2:d7:45:f5:aa:2f:07:43:da:bc:ab:
22
+ 43:cb:0b:12:59:41:24:c3:bb:86:7f:2d:1a:c9:26:
23
+ d7:6b:25:57:48:9c:88:1a:20:fb:65:01:71:27:0c:
24
+ 24:a7:23:40:dc:b6:69:4d:55:ef:14:ba:bd:05:b6:
25
+ cf:5e:b0:c2:f6:56:bc:88:e9:81:04:94:80:9b:cf:
26
+ ee:f3:15:05:79:61:41:21:4a:a1:23:29:66:90:e9:
27
+ d7:03:1e:4f:30:bd:81:46:e4:9b:ab:1f:f8:02:5c:
28
+ 58:98:48:c5:50:16:16:80:0d:25:be:53:27:aa:8b:
29
+ ca:6c:d5:d9:89:50:2b:38:a6:55:fe:c3:0a:6a:db:
30
+ 9c:1e:23:a2:84:93:4f:d1:a1:3d:00:48:ab:c1:2a:
31
+ 3c:0a:59:a8:5b:d4:88:32:54:a9:de:88:de:1a:82:
32
+ ef:61:fa:90:fa:42:3d:1d:a8:98:d6:3b:a5:d4:eb:
33
+ c6:cf
51
34
  Exponent: 65537 (0x10001)
52
35
  X509v3 extensions:
36
+ X509v3 Authority Key Identifier:
37
+ keyid:B7:6B:A2:EA:A8:AA:84:8C:79:EA:B4:DA:0F:98:B2:C5:95:76:B9:F4
38
+
39
+ X509v3 Subject Key Identifier:
40
+ 3D:23:31:1E:EA:1C:8D:8A:09:AA:2D:2A:84:BF:06:31:DE:87:04:01
41
+ X509v3 Subject Alternative Name:
42
+ DNS:*.mongodb-dev.net, DNS:mongodb-dev.net
53
43
  X509v3 Key Usage: critical
54
44
  Digital Signature, Key Encipherment
55
45
  X509v3 Extended Key Usage:
56
46
  TLS Web Server Authentication, TLS Web Client Authentication
57
- X509v3 Basic Constraints: critical
58
- CA:FALSE
59
- X509v3 Subject Key Identifier:
60
- 51:08:03:39:2B:B7:41:3E:23:62:B9:88:A6:63:57:F8:44:FA:F2:4E
61
- X509v3 Authority Key Identifier:
62
- keyid:14:2E:B3:17:B7:58:56:CB:AE:50:09:40:E6:1F:AF:9D:8B:14:C2:C6
47
+ X509v3 CRL Distribution Points:
63
48
 
64
- Authority Information Access:
65
- OCSP - URI:http://r3.o.lencr.org
66
- CA Issuers - URI:http://r3.i.lencr.org/
49
+ Full Name:
50
+ URI:http://crl3.digicert.com/DigiCertTLSRSASHA2562020CA1.crl
51
+
52
+ Full Name:
53
+ URI:http://crl4.digicert.com/DigiCertTLSRSASHA2562020CA1.crl
67
54
 
68
- X509v3 Subject Alternative Name:
69
- DNS:*.e10cb93a9cec74689d88fe1d.zbmx1.mongodb.net, DNS:*.zbmx1.mesh.mongodb.net, DNS:*.zbmx1.mongodb.net
70
55
  X509v3 Certificate Policies:
71
- Policy: 2.23.140.1.2.1
72
- Policy: 1.3.6.1.4.1.44947.1.1.1
73
- CPS: http://cps.letsencrypt.org
56
+ Policy: 2.23.140.1.2.2
57
+ CPS: http://www.digicert.com/CPS
58
+
59
+ Authority Information Access:
60
+ OCSP - URI:http://ocsp.digicert.com
61
+ CA Issuers - URI:http://cacerts.digicert.com/DigiCertTLSRSASHA2562020CA1.crt
74
62
 
63
+ X509v3 Basic Constraints: critical
64
+ CA:FALSE
75
65
  CT Precertificate SCTs:
76
66
  Signed Certificate Timestamp:
77
67
  Version : v1 (0x0)
78
- Log ID : 94:20:BC:1E:8E:D5:8D:6C:88:73:1F:82:8B:22:2C:0D:
79
- D1:DA:4D:5E:6C:4F:94:3D:61:DB:4E:2F:58:4D:A2:C2
80
- Timestamp : May 5 20:36:15.187 2021 GMT
68
+ Log ID : 29:79:BE:F0:9E:39:39:21:F0:56:73:9F:63:A5:77:E5:
69
+ BE:57:7D:9C:60:0A:F8:F9:4D:5D:26:5C:25:5D:C7:84
70
+ Timestamp : Apr 27 23:28:05.994 2021 GMT
81
71
  Extensions: none
82
72
  Signature : ecdsa-with-SHA256
83
- 30:46:02:21:00:E9:D3:00:E2:90:87:44:5A:D7:10:53:
84
- 65:F4:E0:E3:3C:D3:C7:75:69:B3:BE:53:F3:00:24:58:
85
- C2:9D:37:D6:81:02:21:00:B9:4F:54:00:FF:76:90:EB:
86
- 69:7C:F4:D7:23:5A:29:26:F0:26:2E:3B:D2:72:1D:82:
87
- 21:EF:93:01:E3:08:BB:30
73
+ 30:45:02:20:42:20:09:2C:F8:4F:9C:4D:70:0C:1D:A6:
74
+ 39:A1:EC:20:4B:54:4B:50:5E:B5:B9:71:1F:6B:60:BC:
75
+ 65:5B:E7:0F:02:21:00:BA:DE:65:82:26:65:7C:D7:01:
76
+ 7C:36:51:71:CF:F7:2C:09:7B:C7:9A:1F:E4:6D:8E:11:
77
+ 7E:DB:60:52:BC:82:8B
88
78
  Signed Certificate Timestamp:
89
79
  Version : v1 (0x0)
90
- Log ID : 7D:3E:F2:F8:8F:FF:88:55:68:24:C2:C0:CA:9E:52:89:
91
- 79:2B:C5:0E:78:09:7F:2E:6A:97:68:99:7E:22:F0:D7
92
- Timestamp : May 5 20:36:15.245 2021 GMT
80
+ Log ID : 22:45:45:07:59:55:24:56:96:3F:A1:2F:F1:F7:6D:86:
81
+ E0:23:26:63:AD:C0:4B:7F:5D:C6:83:5C:6E:E2:0F:02
82
+ Timestamp : Apr 27 23:28:05.942 2021 GMT
93
83
  Extensions: none
94
84
  Signature : ecdsa-with-SHA256
95
- 30:45:02:20:3D:A9:45:35:70:71:18:45:B8:15:53:60:
96
- 42:1D:6E:50:F4:DC:68:A2:D0:45:03:66:3A:8E:B7:58:
97
- FC:AD:E2:45:02:21:00:FA:79:91:BF:4F:FA:45:76:90:
98
- D5:61:D8:33:97:71:AA:16:4C:0E:A2:19:14:9F:69:FE:
99
- B8:00:A1:23:22:86:01
85
+ 30:44:02:20:0C:6B:5C:7F:31:B5:24:10:73:23:AF:27:
86
+ 20:11:58:9E:40:A6:6A:BB:D8:48:0F:D1:4A:F1:F8:A9:
87
+ B0:30:1E:34:02:20:13:04:B5:82:28:59:D7:0B:86:7F:
88
+ C6:22:6E:9C:67:FF:F1:A3:9F:BF:54:AB:0D:B8:1A:8E:
89
+ 16:D2:F1:8E:37:FF
90
+ Signed Certificate Timestamp:
91
+ Version : v1 (0x0)
92
+ Log ID : 51:A3:B0:F5:FD:01:79:9C:56:6D:B8:37:78:8F:0C:A4:
93
+ 7A:CC:1B:27:CB:F7:9E:88:42:9A:0D:FE:D4:8B:05:E5
94
+ Timestamp : Apr 27 23:28:06.392 2021 GMT
95
+ Extensions: none
96
+ Signature : ecdsa-with-SHA256
97
+ 30:46:02:21:00:D0:FE:FE:CA:E2:72:85:3A:A6:13:D0:
98
+ ED:55:8B:67:AF:86:F4:D7:BE:66:67:BB:99:BF:7C:10:
99
+ 2D:28:0E:49:C3:02:21:00:BF:FF:BA:B8:4D:D1:B7:6A:
100
+ 6B:E9:B3:E5:A6:93:CA:14:37:70:C1:4F:89:89:66:58:
101
+ 3F:AA:22:B0:1E:F9:14:DF
100
102
  Signature Algorithm: sha256WithRSAEncryption
101
- 86:c9:91:34:56:55:a8:d6:f3:09:de:f1:a4:da:a7:71:19:95:
102
- a0:3f:49:47:22:f0:fb:09:27:29:30:54:98:12:ff:01:33:e3:
103
- 3d:72:e0:41:56:8c:51:70:b8:d0:26:b5:80:b4:f7:35:e1:e0:
104
- 6e:92:9b:74:ed:89:7e:fd:99:fc:0c:9d:4e:79:7b:e7:21:6e:
105
- 89:e9:f8:18:4f:c2:9a:ac:5b:04:8e:94:a3:95:2d:80:53:89:
106
- 8f:62:34:cb:e3:55:59:57:57:8f:a2:8e:7d:08:bb:17:46:15:
107
- cd:8c:03:47:5b:b5:b1:13:6e:c7:19:7e:e7:bf:9d:b8:b3:23:
108
- 03:b3:62:69:2b:f3:92:f1:ae:a7:ec:70:48:22:bb:9a:09:df:
109
- 6a:7b:1d:3f:85:51:bd:ef:ae:2b:9f:e6:4f:c8:bd:10:1e:45:
110
- ea:f0:72:7c:6b:e1:54:ff:80:d2:90:59:8a:66:ef:43:8a:ef:
111
- ea:2e:32:6b:32:01:b0:14:29:58:7f:4c:69:aa:b9:d9:14:a0:
112
- 9d:bb:7b:6a:2d:ff:2a:3d:24:b4:be:8c:c2:59:fa:1d:8f:26:
113
- ee:ff:c5:5c:db:2c:38:d1:8a:5e:c0:9d:66:8e:be:7e:60:a7:
114
- a3:3a:e5:e5:9f:83:ff:57:ca:5a:7f:f9:56:d5:a7:24:5a:56:
115
- d9:bc:54:72
103
+ 78:e3:4f:d2:0f:56:13:0d:a3:5d:1a:68:d7:64:f5:60:d2:37:
104
+ 7e:94:d7:4d:d3:5f:11:27:e8:0b:2c:74:6f:23:08:24:94:ba:
105
+ fc:b8:8a:33:3f:99:18:83:cd:4f:14:3a:82:f9:ba:f3:ff:2c:
106
+ b1:f5:c9:be:af:fd:16:79:bd:cf:39:ba:5c:47:88:b1:b1:23:
107
+ 6b:6d:1c:67:5d:98:52:58:1d:72:ee:7e:c5:4b:e4:03:ca:ba:
108
+ 47:bf:89:c5:48:c2:b1:0b:9c:3e:ed:3e:04:19:62:66:4c:c6:
109
+ 44:6f:db:33:20:14:b1:df:c1:8f:3a:21:c1:59:0e:f8:70:3c:
110
+ fe:e0:ad:77:7b:5d:8c:de:a3:cd:d0:5c:84:36:10:00:42:28:
111
+ ee:7c:32:28:4d:41:94:3c:e4:36:7e:e5:d2:b3:d9:6f:f3:f5:
112
+ 63:24:3f:9f:c6:64:cc:32:23:7e:fd:00:f4:c3:89:ac:5f:28:
113
+ f2:a3:af:a9:21:47:b1:f4:48:7c:79:6d:e7:6e:b8:35:15:ea:
114
+ 6d:f2:13:35:8f:56:ea:e6:47:fb:a9:b4:f6:64:ee:b9:e8:07:
115
+ 73:de:ef:20:c0:36:a9:10:bf:4a:df:29:90:fb:fc:05:85:f0:
116
+ 62:94:7e:74:3a:42:cb:01:3d:ef:65:82:48:b8:87:8e:0e:17:
117
+ cb:6c:a0:dc
118
+
116
119
  -----BEGIN CERTIFICATE-----
117
- MIIGdTCCBV2gAwIBAgISA7Cu6cPrAEhdZ8i/u+5LttYYMA0GCSqGSIb3DQEBCwUA
118
- MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
119
- EwJSMzAeFw0yMTA1MDUxOTM2MTVaFw0yMTA4MDMxOTM2MTVaMB4xHDAaBgNVBAMM
120
- EyouemJteDEubW9uZ29kYi5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
121
- AoICAQCkqYRXe29M/h+eiRSQDlaSAFFZHVkBimkLQeRzj8wh7lKgnP5HIL5Y5M6L
122
- Fjg5SGaG/msu1xGwlXhPEcZrKvKaN3gf8Uc5zG7LjLN67It6r8UVq8/olj9j6b9Y
123
- H8uWtjxJxQbDbsJzi/F2Hum4Uuhf/eIihAqknQl646vFpSHM6EAlod/5UkQKks97
124
- cm1034NiC4Nrz+iuke8ie23z+nDensuD2T0cVIQUagZbTfSVQPwZk1zAwS+GFrCE
125
- t+Qmk5s6q5jDy/vu3fgmf2yuetJl3WizUVm8wTsjE5trUOWHxVwHe8vGuRd8I6p3
126
- SV7Bk1p9/q/jPFMNYXyy58R+j8tt0lUjS9BD9SBRWBXIDMwwSC0BS+nUxsotAHQF
127
- tIw6az/bejOWFyiHVg2hHERgmq40KmHu4kKzi4n/XfoZXbcf2w1EkoCD3+ARiHya
128
- lvh/W8tq6kTmLDMK7zLXUgC2MIZD12CLMwpsQ5zpe3OL+pefI9SakKWSJW0Dtg4z
129
- MF+sBAtMz6uCBFYh8HoZVbVjAzX5oIQmc81OmsM0vJ6cYShv+xu4oo5K+LXyAz/N
130
- 9ixwv0v5DWpMh75YTfq6M/wp4ylus9+7TedGk9aqQLI/z11GXYsX7wUnI5i321lz
131
- L9J9v/L/Z/5VBfJP59DkQz1WAyYlkPIoTCGhKOqSsKG2nHN0mwIDAQABo4IClzCC
132
- ApMwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
133
- AjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRRCAM5K7dBPiNiuYimY1f4RPryTjAf
134
- BgNVHSMEGDAWgBQULrMXt1hWy65QCUDmH6+dixTCxjBVBggrBgEFBQcBAQRJMEcw
135
- IQYIKwYBBQUHMAGGFWh0dHA6Ly9yMy5vLmxlbmNyLm9yZzAiBggrBgEFBQcwAoYW
136
- aHR0cDovL3IzLmkubGVuY3Iub3JnLzBmBgNVHREEXzBdgiwqLmUxMGNiOTNhOWNl
137
- Yzc0Njg5ZDg4ZmUxZC56Ym14MS5tb25nb2RiLm5ldIIYKi56Ym14MS5tZXNoLm1v
138
- bmdvZGIubmV0ghMqLnpibXgxLm1vbmdvZGIubmV0MEwGA1UdIARFMEMwCAYGZ4EM
139
- AQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0
140
- c2VuY3J5cHQub3JnMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAlCC8Ho7VjWyI
141
- cx+CiyIsDdHaTV5sT5Q9YdtOL1hNosIAAAF5Pj7S0wAABAMASDBGAiEA6dMA4pCH
142
- RFrXEFNl9ODjPNPHdWmzvlPzACRYwp031oECIQC5T1QA/3aQ62l89NcjWikm8CYu
143
- O9JyHYIh75MB4wi7MAB2AH0+8viP/4hVaCTCwMqeUol5K8UOeAl/LmqXaJl+IvDX
144
- AAABeT4+0w0AAAQDAEcwRQIgPalFNXBxGEW4FVNgQh1uUPTcaKLQRQNmOo63WPyt
145
- 4kUCIQD6eZG/T/pFdpDVYdgzl3GqFkwOohkUn2n+uAChIyKGATANBgkqhkiG9w0B
146
- AQsFAAOCAQEAhsmRNFZVqNbzCd7xpNqncRmVoD9JRyLw+wknKTBUmBL/ATPjPXLg
147
- QVaMUXC40Ca1gLT3NeHgbpKbdO2Jfv2Z/AydTnl75yFuien4GE/CmqxbBI6Uo5Ut
148
- gFOJj2I0y+NVWVdXj6KOfQi7F0YVzYwDR1u1sRNuxxl+57+duLMjA7NiaSvzkvGu
149
- p+xwSCK7mgnfansdP4VRve+uK5/mT8i9EB5F6vByfGvhVP+A0pBZimbvQ4rv6i4y
150
- azIBsBQpWH9Maaq52RSgnbt7ai3/Kj0ktL6Mwln6HY8m7v/FXNssONGKXsCdZo6+
151
- fmCnozrl5Z+D/1fKWn/5VtWnJFpW2bxUcg==
152
- -----END CERTIFICATE-----
120
+ MIIGwTCCBamgAwIBAgIQCNyTVTZtxZIg0KNMoRmrLTANBgkqhkiG9w0BAQsFADBP
121
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSkwJwYDVQQDEyBE
122
+ aWdpQ2VydCBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTAeFw0yMTA0MjcwMDAwMDBa
123
+ Fw0yMjA1MjUyMzU5NTlaMGcxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhOZXcgWW9y
124
+ azERMA8GA1UEBxMITmV3IFlvcmsxFjAUBgNVBAoTDU1vbmdvREIsIEluYy4xGjAY
125
+ BgNVBAMMESoubW9uZ29kYi1kZXYubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
126
+ MIIBCgKCAQEAu8He9gg5+/Ga99RoateBVwwJuY855cixU1LYZAzhkpzKP5JGhlzi
127
+ jyDP+ZnQlUZRflX3PWIbpOd5MQw5nSO8AG8vPV/UiBvQnEImRRsRstdF9aovB0Pa
128
+ vKtDywsSWUEkw7uGfy0aySbXayVXSJyIGiD7ZQFxJwwkpyNA3LZpTVXvFLq9BbbP
129
+ XrDC9la8iOmBBJSAm8/u8xUFeWFBIUqhIylmkOnXAx5PML2BRuSbqx/4AlxYmEjF
130
+ UBYWgA0lvlMnqovKbNXZiVArOKZV/sMKatucHiOihJNP0aE9AEirwSo8ClmoW9SI
131
+ MlSp3ojeGoLvYfqQ+kI9HaiY1jul1OvGzwIDAQABo4IDfzCCA3swHwYDVR0jBBgw
132
+ FoAUt2ui6qiqhIx56rTaD5iyxZV2ufQwHQYDVR0OBBYEFD0jMR7qHI2KCaotKoS/
133
+ BjHehwQBMC0GA1UdEQQmMCSCESoubW9uZ29kYi1kZXYubmV0gg9tb25nb2RiLWRl
134
+ di5uZXQwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF
135
+ BQcDAjCBiwYDVR0fBIGDMIGAMD6gPKA6hjhodHRwOi8vY3JsMy5kaWdpY2VydC5j
136
+ b20vRGlnaUNlcnRUTFNSU0FTSEEyNTYyMDIwQ0ExLmNybDA+oDygOoY4aHR0cDov
137
+ L2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VExTUlNBU0hBMjU2MjAyMENBMS5j
138
+ cmwwPgYDVR0gBDcwNTAzBgZngQwBAgIwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3
139
+ dy5kaWdpY2VydC5jb20vQ1BTMH0GCCsGAQUFBwEBBHEwbzAkBggrBgEFBQcwAYYY
140
+ aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEcGCCsGAQUFBzAChjtodHRwOi8vY2Fj
141
+ ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUTFNSU0FTSEEyNTYyMDIwQ0ExLmNy
142
+ dDAMBgNVHRMBAf8EAjAAMIIBfgYKKwYBBAHWeQIEAgSCAW4EggFqAWgAdgApeb7w
143
+ njk5IfBWc59jpXflvld9nGAK+PlNXSZcJV3HhAAAAXkVqUdqAAAEAwBHMEUCIEIg
144
+ CSz4T5xNcAwdpjmh7CBLVEtQXrW5cR9rYLxlW+cPAiEAut5lgiZlfNcBfDZRcc/3
145
+ LAl7x5of5G2OEX7bYFK8gosAdQAiRUUHWVUkVpY/oS/x922G4CMmY63AS39dxoNc
146
+ buIPAgAAAXkVqUc2AAAEAwBGMEQCIAxrXH8xtSQQcyOvJyARWJ5Apmq72EgP0Urx
147
+ +KmwMB40AiATBLWCKFnXC4Z/xiJunGf/8aOfv1SrDbgajhbS8Y43/wB3AFGjsPX9
148
+ AXmcVm24N3iPDKR6zBsny/eeiEKaDf7UiwXlAAABeRWpSPgAAAQDAEgwRgIhAND+
149
+ /sricoU6phPQ7VWLZ6+G9Ne+Zme7mb98EC0oDknDAiEAv/+6uE3Rt2pr6bPlppPK
150
+ FDdwwU+JiWZYP6oisB75FN8wDQYJKoZIhvcNAQELBQADggEBAHjjT9IPVhMNo10a
151
+ aNdk9WDSN36U103TXxEn6AssdG8jCCSUuvy4ijM/mRiDzU8UOoL5uvP/LLH1yb6v
152
+ /RZ5vc85ulxHiLGxI2ttHGddmFJYHXLufsVL5APKuke/icVIwrELnD7tPgQZYmZM
153
+ xkRv2zMgFLHfwY86IcFZDvhwPP7grXd7XYzeo83QXIQ2EABCKO58MihNQZQ85DZ+
154
+ 5dKz2W/z9WMkP5/GZMwyI379APTDiaxfKPKjr6khR7H0SHx5beduuDUV6m3yEzWP
155
+ VurmR/uptPZk7rnoB3Pe7yDANqkQv0rfKZD7/AWF8GKUfnQ6QssBPe9lgki4h44O
156
+ F8tsoNw=
157
+ -----END CERTIFICATE-----
@@ -246,9 +246,8 @@ module CommonShortcuts
246
246
  # must be closed in the scope of the example.
247
247
  register_server(server)
248
248
  description = Mongo::Server::Description.new(
249
- address,
250
- config,
251
- average_round_trip_time,
249
+ address, config,
250
+ average_round_trip_time: average_round_trip_time,
252
251
  )
253
252
  server.tap do |s|
254
253
  allow(s).to receive(:description).and_return(description)
@@ -73,3 +73,16 @@ RSpec::Matchers.define :take_shorter_than do |min_expected_time|
73
73
  (Time.now - start_time).should < min_expected_time
74
74
  end
75
75
  end
76
+
77
+ RSpec::Matchers.define :be_explain_output do
78
+ match do |actual|
79
+ Hash === actual && (
80
+ actual.key?('queryPlanner') ||
81
+ actual.key?('allPlans')
82
+ )
83
+ end
84
+
85
+ failure_message do |actual|
86
+ "expected that #{actual} is explain output: is a hash with either allPlans or queryPlanner keys present"
87
+ end
88
+ end
@@ -0,0 +1,16 @@
1
+ shared_context 'auth unit tests' do
2
+ let(:generation_manager) do
3
+ Mongo::Server::ConnectionPool::GenerationManager.new(server: server)
4
+ end
5
+
6
+ let(:pool) do
7
+ double('pool').tap do |pool|
8
+ allow(pool).to receive(:generation_manager).and_return(generation_manager)
9
+ end
10
+ end
11
+
12
+ let(:connection) do
13
+ Mongo::Server::Connection.new(server, SpecConfig.instance.monitoring_options.merge(
14
+ connection_pool: pool))
15
+ end
16
+ end
@@ -185,7 +185,7 @@ end
185
185
 
186
186
  shared_examples 'an operation supporting causally consistent reads' do
187
187
 
188
- let(:subscriber) { EventSubscriber.new }
188
+ let(:subscriber) { Mrss::EventSubscriber.new }
189
189
 
190
190
  let(:client) do
191
191
  authorized_client.tap do |client|
@@ -622,7 +622,7 @@ shared_examples 'an operation updating cluster time' do
622
622
  client.start_session
623
623
  end
624
624
 
625
- let(:subscriber) { EventSubscriber.new }
625
+ let(:subscriber) { Mrss::EventSubscriber.new }
626
626
 
627
627
  let(:client) do
628
628
  authorized_client.tap do |client|