mongo 2.11.6 → 2.12.0.rc0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (327) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +2 -2
  3. data.tar.gz.sig +0 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/lib/mongo.rb +3 -0
  6. data/lib/mongo/address.rb +13 -2
  7. data/lib/mongo/auth.rb +1 -0
  8. data/lib/mongo/auth/credential_cache.rb +51 -0
  9. data/lib/mongo/auth/scram/conversation.rb +20 -16
  10. data/lib/mongo/auth/user.rb +0 -8
  11. data/lib/mongo/auth/user/view.rb +4 -4
  12. data/lib/mongo/background_thread.rb +1 -1
  13. data/lib/mongo/bulk_write.rb +5 -5
  14. data/lib/mongo/client.rb +126 -11
  15. data/lib/mongo/client_encryption.rb +103 -0
  16. data/lib/mongo/cluster.rb +2 -2
  17. data/lib/mongo/cluster/reapers/cursor_reaper.rb +18 -6
  18. data/lib/mongo/cluster/sdam_flow.rb +54 -58
  19. data/lib/mongo/cluster/srv_monitor.rb +1 -1
  20. data/lib/mongo/collection.rb +3 -3
  21. data/lib/mongo/collection/view.rb +1 -1
  22. data/lib/mongo/collection/view/aggregation.rb +1 -1
  23. data/lib/mongo/collection/view/change_stream.rb +12 -3
  24. data/lib/mongo/collection/view/iterable.rb +14 -5
  25. data/lib/mongo/collection/view/map_reduce.rb +2 -2
  26. data/lib/mongo/collection/view/readable.rb +7 -9
  27. data/lib/mongo/collection/view/writable.rb +7 -7
  28. data/lib/mongo/crypt.rb +33 -0
  29. data/lib/mongo/crypt/auto_decryption_context.rb +42 -0
  30. data/lib/mongo/crypt/auto_encrypter.rb +169 -0
  31. data/lib/mongo/crypt/auto_encryption_context.rb +44 -0
  32. data/lib/mongo/crypt/binary.rb +155 -0
  33. data/lib/mongo/crypt/binding.rb +1162 -0
  34. data/lib/mongo/crypt/context.rb +135 -0
  35. data/lib/mongo/crypt/data_key_context.rb +162 -0
  36. data/lib/mongo/crypt/encryption_io.rb +283 -0
  37. data/lib/mongo/crypt/explicit_decryption_context.rb +40 -0
  38. data/lib/mongo/crypt/explicit_encrypter.rb +117 -0
  39. data/lib/mongo/crypt/explicit_encryption_context.rb +89 -0
  40. data/lib/mongo/crypt/handle.rb +293 -0
  41. data/lib/mongo/crypt/hooks.rb +90 -0
  42. data/lib/mongo/crypt/kms_context.rb +67 -0
  43. data/lib/mongo/crypt/status.rb +131 -0
  44. data/lib/mongo/cursor.rb +64 -32
  45. data/lib/mongo/database.rb +13 -6
  46. data/lib/mongo/database/view.rb +13 -4
  47. data/lib/mongo/dbref.rb +9 -2
  48. data/lib/mongo/error.rb +5 -1
  49. data/lib/mongo/error/crypt_error.rb +31 -0
  50. data/lib/mongo/error/{failed_stringprep_validation.rb → failed_string_prep_validation.rb} +0 -0
  51. data/lib/mongo/error/invalid_cursor_operation.rb +27 -0
  52. data/lib/mongo/error/kms_error.rb +22 -0
  53. data/lib/mongo/error/max_bson_size.rb +14 -3
  54. data/lib/mongo/error/mongocryptd_spawn_error.rb +22 -0
  55. data/lib/mongo/error/no_server_available.rb +8 -3
  56. data/lib/mongo/error/operation_failure.rb +1 -0
  57. data/lib/mongo/grid/file.rb +0 -5
  58. data/lib/mongo/grid/file/chunk.rb +0 -2
  59. data/lib/mongo/grid/file/info.rb +2 -1
  60. data/lib/mongo/grid/fs_bucket.rb +13 -15
  61. data/lib/mongo/grid/stream/write.rb +3 -9
  62. data/lib/mongo/index/view.rb +3 -3
  63. data/lib/mongo/monitoring/event/command_started.rb +6 -1
  64. data/lib/mongo/operation/collections_info.rb +6 -3
  65. data/lib/mongo/operation/delete/op_msg.rb +1 -1
  66. data/lib/mongo/operation/find/op_msg.rb +4 -1
  67. data/lib/mongo/operation/get_more/op_msg.rb +4 -1
  68. data/lib/mongo/operation/insert/command.rb +2 -2
  69. data/lib/mongo/operation/insert/legacy.rb +2 -2
  70. data/lib/mongo/operation/insert/op_msg.rb +3 -3
  71. data/lib/mongo/operation/result.rb +36 -27
  72. data/lib/mongo/operation/shared/executable.rb +10 -8
  73. data/lib/mongo/operation/shared/executable_no_validate.rb +2 -2
  74. data/lib/mongo/operation/shared/op_msg_or_command.rb +2 -2
  75. data/lib/mongo/operation/shared/op_msg_or_find_command.rb +2 -2
  76. data/lib/mongo/operation/shared/op_msg_or_list_indexes_command.rb +2 -2
  77. data/lib/mongo/operation/shared/write.rb +17 -10
  78. data/lib/mongo/operation/update/op_msg.rb +1 -1
  79. data/lib/mongo/protocol/compressed.rb +6 -5
  80. data/lib/mongo/protocol/insert.rb +3 -1
  81. data/lib/mongo/protocol/message.rb +72 -8
  82. data/lib/mongo/protocol/msg.rb +191 -37
  83. data/lib/mongo/protocol/query.rb +7 -9
  84. data/lib/mongo/protocol/serializers.rb +6 -2
  85. data/lib/mongo/server.rb +10 -4
  86. data/lib/mongo/server/connection.rb +20 -9
  87. data/lib/mongo/server/connection_base.rb +81 -12
  88. data/lib/mongo/server/connection_common.rb +61 -0
  89. data/lib/mongo/server/connection_pool.rb +37 -1
  90. data/lib/mongo/server/description.rb +9 -11
  91. data/lib/mongo/server/monitor.rb +2 -0
  92. data/lib/mongo/server/monitor/connection.rb +3 -18
  93. data/lib/mongo/server/pending_connection.rb +2 -1
  94. data/lib/mongo/session.rb +2 -2
  95. data/lib/mongo/session/session_pool.rb +8 -3
  96. data/lib/mongo/socket.rb +29 -16
  97. data/lib/mongo/socket/ssl.rb +23 -8
  98. data/lib/mongo/socket/tcp.rb +12 -3
  99. data/lib/mongo/timeout.rb +49 -0
  100. data/lib/mongo/uri.rb +30 -1
  101. data/lib/mongo/version.rb +1 -1
  102. data/mongo.gemspec +1 -1
  103. data/spec/README.md +134 -7
  104. data/spec/integration/auth_spec.rb +53 -0
  105. data/spec/integration/{client_options_spec.rb → client_authentication_options_spec.rb} +10 -10
  106. data/spec/integration/client_construction_spec.rb +76 -1
  107. data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +351 -0
  108. data/spec/integration/client_side_encryption/auto_encryption_command_monitoring_spec.rb +301 -0
  109. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +71 -0
  110. data/spec/integration/client_side_encryption/auto_encryption_old_wire_version_spec.rb +76 -0
  111. data/spec/integration/client_side_encryption/auto_encryption_reconnect_spec.rb +216 -0
  112. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +600 -0
  113. data/spec/integration/client_side_encryption/bson_size_limit_spec.rb +183 -0
  114. data/spec/integration/client_side_encryption/bypass_mongocryptd_spawn_spec.rb +74 -0
  115. data/spec/integration/client_side_encryption/client_close_spec.rb +59 -0
  116. data/spec/integration/client_side_encryption/corpus_spec.rb +228 -0
  117. data/spec/integration/client_side_encryption/custom_endpoint_spec.rb +132 -0
  118. data/spec/integration/client_side_encryption/data_key_spec.rb +163 -0
  119. data/spec/integration/client_side_encryption/explicit_encryption_spec.rb +114 -0
  120. data/spec/integration/client_side_encryption/external_key_vault_spec.rb +137 -0
  121. data/spec/integration/client_side_encryption/views_spec.rb +42 -0
  122. data/spec/integration/client_update_spec.rb +120 -0
  123. data/spec/integration/command_monitoring_spec.rb +3 -1
  124. data/spec/integration/command_spec.rb +44 -10
  125. data/spec/integration/connection_spec.rb +57 -0
  126. data/spec/integration/reconnect_spec.rb +7 -6
  127. data/spec/integration/size_limit_spec.rb +94 -0
  128. data/spec/integration/srv_monitoring_spec.rb +14 -6
  129. data/spec/lite_spec_helper.rb +31 -22
  130. data/spec/mongo/auth/cr_spec.rb +8 -0
  131. data/spec/mongo/auth/ldap_spec.rb +5 -1
  132. data/spec/mongo/auth/scram/conversation_spec.rb +5 -6
  133. data/spec/mongo/auth/scram/negotiation_spec.rb +74 -75
  134. data/spec/mongo/auth/scram_spec.rb +45 -35
  135. data/spec/mongo/auth/x509_spec.rb +5 -1
  136. data/spec/mongo/client_construction_spec.rb +206 -3
  137. data/spec/mongo/client_encryption_spec.rb +408 -0
  138. data/spec/mongo/cluster/cursor_reaper_spec.rb +12 -8
  139. data/spec/mongo/cluster/socket_reaper_spec.rb +14 -3
  140. data/spec/mongo/collection/view/aggregation_spec.rb +0 -2
  141. data/spec/mongo/collection/view/change_stream_spec.rb +7 -7
  142. data/spec/mongo/collection/view/map_reduce_spec.rb +3 -3
  143. data/spec/mongo/collection/view_spec.rb +1 -1
  144. data/spec/mongo/collection_spec.rb +4 -33
  145. data/spec/mongo/crypt/auto_decryption_context_spec.rb +90 -0
  146. data/spec/mongo/crypt/auto_encrypter_spec.rb +182 -0
  147. data/spec/mongo/crypt/auto_encryption_context_spec.rb +107 -0
  148. data/spec/mongo/crypt/binary_spec.rb +115 -0
  149. data/spec/mongo/crypt/binding/binary_spec.rb +56 -0
  150. data/spec/mongo/crypt/binding/context_spec.rb +257 -0
  151. data/spec/mongo/crypt/binding/helpers_spec.rb +46 -0
  152. data/spec/mongo/crypt/binding/mongocrypt_spec.rb +144 -0
  153. data/spec/mongo/crypt/binding/status_spec.rb +99 -0
  154. data/spec/mongo/crypt/binding/version_spec.rb +22 -0
  155. data/spec/mongo/crypt/binding_unloaded_spec.rb +20 -0
  156. data/spec/mongo/crypt/data_key_context_spec.rb +213 -0
  157. data/spec/mongo/crypt/encryption_io_spec.rb +136 -0
  158. data/spec/mongo/crypt/explicit_decryption_context_spec.rb +72 -0
  159. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +170 -0
  160. data/spec/mongo/crypt/handle_spec.rb +198 -0
  161. data/spec/mongo/crypt/helpers/mongo_crypt_spec_helper.rb +108 -0
  162. data/spec/mongo/crypt/status_spec.rb +152 -0
  163. data/spec/mongo/cursor_spec.rb +24 -4
  164. data/spec/mongo/database_spec.rb +20 -0
  165. data/spec/mongo/error/crypt_error_spec.rb +26 -0
  166. data/spec/mongo/error/max_bson_size_spec.rb +35 -0
  167. data/spec/mongo/error/no_server_available_spec.rb +11 -1
  168. data/spec/mongo/error/operation_failure_spec.rb +6 -6
  169. data/spec/mongo/operation/aggregate_spec.rb +1 -1
  170. data/spec/mongo/operation/collections_info_spec.rb +1 -1
  171. data/spec/mongo/operation/command_spec.rb +3 -3
  172. data/spec/mongo/operation/create_index_spec.rb +3 -3
  173. data/spec/mongo/operation/create_user_spec.rb +3 -3
  174. data/spec/mongo/operation/delete/bulk_spec.rb +6 -6
  175. data/spec/mongo/operation/delete/op_msg_spec.rb +1 -6
  176. data/spec/mongo/operation/delete_spec.rb +7 -7
  177. data/spec/mongo/operation/drop_index_spec.rb +2 -2
  178. data/spec/mongo/operation/find/legacy_spec.rb +1 -1
  179. data/spec/mongo/operation/get_more_spec.rb +1 -1
  180. data/spec/mongo/operation/indexes_spec.rb +1 -1
  181. data/spec/mongo/operation/insert/bulk_spec.rb +7 -7
  182. data/spec/mongo/operation/insert/op_msg_spec.rb +3 -6
  183. data/spec/mongo/operation/insert_spec.rb +12 -12
  184. data/spec/mongo/operation/map_reduce_spec.rb +2 -2
  185. data/spec/mongo/operation/remove_user_spec.rb +3 -3
  186. data/spec/mongo/operation/update/bulk_spec.rb +6 -6
  187. data/spec/mongo/operation/update/op_msg_spec.rb +3 -6
  188. data/spec/mongo/operation/update_spec.rb +7 -7
  189. data/spec/mongo/operation/update_user_spec.rb +1 -1
  190. data/spec/mongo/protocol/compressed_spec.rb +2 -3
  191. data/spec/mongo/protocol/delete_spec.rb +9 -8
  192. data/spec/mongo/protocol/get_more_spec.rb +9 -8
  193. data/spec/mongo/protocol/insert_spec.rb +9 -8
  194. data/spec/mongo/protocol/kill_cursors_spec.rb +6 -5
  195. data/spec/mongo/protocol/msg_spec.rb +57 -53
  196. data/spec/mongo/protocol/query_spec.rb +12 -12
  197. data/spec/mongo/protocol/registry_spec.rb +1 -1
  198. data/spec/mongo/protocol/reply_spec.rb +1 -1
  199. data/spec/mongo/protocol/update_spec.rb +10 -9
  200. data/spec/mongo/server/connection_pool_spec.rb +1 -1
  201. data/spec/mongo/server/connection_spec.rb +28 -7
  202. data/spec/mongo/socket_spec.rb +1 -1
  203. data/spec/mongo/timeout_spec.rb +85 -0
  204. data/spec/mongo/uri/srv_protocol_spec.rb +2 -2
  205. data/spec/mongo/uri_spec.rb +52 -5
  206. data/spec/mongo/write_concern_spec.rb +13 -1
  207. data/spec/{support → runners}/auth.rb +14 -1
  208. data/spec/{support → runners}/change_streams.rb +1 -1
  209. data/spec/{support → runners}/change_streams/operation.rb +0 -0
  210. data/spec/{support → runners}/cmap.rb +1 -1
  211. data/spec/{support → runners}/cmap/verifier.rb +0 -0
  212. data/spec/{support → runners}/command_monitoring.rb +0 -0
  213. data/spec/runners/connection_string.rb +358 -4
  214. data/spec/{support → runners}/crud.rb +9 -9
  215. data/spec/{support → runners}/crud/context.rb +0 -0
  216. data/spec/{support → runners}/crud/operation.rb +7 -3
  217. data/spec/{support → runners}/crud/outcome.rb +0 -0
  218. data/spec/{support → runners}/crud/requirement.rb +1 -1
  219. data/spec/{support → runners}/crud/spec.rb +12 -1
  220. data/spec/{support → runners}/crud/test.rb +0 -0
  221. data/spec/{support → runners}/crud/test_base.rb +0 -0
  222. data/spec/{support → runners}/crud/verifier.rb +10 -12
  223. data/spec/{support → runners}/gridfs.rb +0 -0
  224. data/spec/{support → runners}/sdam_monitoring.rb +0 -0
  225. data/spec/{support → runners}/server_discovery_and_monitoring.rb +0 -0
  226. data/spec/{support → runners}/server_selection.rb +0 -0
  227. data/spec/{support → runners}/server_selection_rtt.rb +0 -0
  228. data/spec/{support → runners}/transactions.rb +4 -4
  229. data/spec/{support → runners}/transactions/context.rb +0 -0
  230. data/spec/{support → runners}/transactions/operation.rb +0 -0
  231. data/spec/{support → runners}/transactions/spec.rb +0 -0
  232. data/spec/{support → runners}/transactions/test.rb +37 -5
  233. data/spec/spec_helper.rb +0 -5
  234. data/spec/spec_tests/auth_spec.rb +3 -3
  235. data/spec/spec_tests/client_side_encryption_spec.rb +13 -0
  236. data/spec/spec_tests/connection_string_spec.rb +1 -1
  237. data/spec/spec_tests/data/auth/connection-string.yml +13 -0
  238. data/spec/spec_tests/data/client_side_encryption/aggregate.yml +134 -0
  239. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +526 -0
  240. data/spec/spec_tests/data/client_side_encryption/badSchema.yml +73 -0
  241. data/spec/spec_tests/data/client_side_encryption/basic.yml +116 -0
  242. data/spec/spec_tests/data/client_side_encryption/bulk.yml +85 -0
  243. data/spec/spec_tests/data/client_side_encryption/bypassAutoEncryption.yml +100 -0
  244. data/spec/spec_tests/data/client_side_encryption/bypassedCommand.yml +42 -0
  245. data/spec/spec_tests/data/client_side_encryption/count.yml +61 -0
  246. data/spec/spec_tests/data/client_side_encryption/countDocuments.yml +59 -0
  247. data/spec/spec_tests/data/client_side_encryption/delete.yml +105 -0
  248. data/spec/spec_tests/data/client_side_encryption/distinct.yml +73 -0
  249. data/spec/spec_tests/data/client_side_encryption/explain.yml +64 -0
  250. data/spec/spec_tests/data/client_side_encryption/find.yml +119 -0
  251. data/spec/spec_tests/data/client_side_encryption/findOneAndDelete.yml +57 -0
  252. data/spec/spec_tests/data/client_side_encryption/findOneAndReplace.yml +57 -0
  253. data/spec/spec_tests/data/client_side_encryption/findOneAndUpdate.yml +57 -0
  254. data/spec/spec_tests/data/client_side_encryption/getMore.yml +68 -0
  255. data/spec/spec_tests/data/client_side_encryption/insert.yml +102 -0
  256. data/spec/spec_tests/data/client_side_encryption/keyAltName.yml +71 -0
  257. data/spec/spec_tests/data/client_side_encryption/localKMS.yml +54 -0
  258. data/spec/spec_tests/data/client_side_encryption/localSchema.yml +72 -0
  259. data/spec/spec_tests/data/client_side_encryption/malformedCiphertext.yml +69 -0
  260. data/spec/spec_tests/data/client_side_encryption/maxWireVersion.yml +20 -0
  261. data/spec/spec_tests/data/client_side_encryption/missingKey.yml +49 -0
  262. data/spec/spec_tests/data/client_side_encryption/replaceOne.yml +61 -0
  263. data/spec/spec_tests/data/client_side_encryption/types.yml +527 -0
  264. data/spec/spec_tests/data/client_side_encryption/unsupportedCommand.yml +25 -0
  265. data/spec/spec_tests/data/client_side_encryption/updateMany.yml +77 -0
  266. data/spec/spec_tests/data/client_side_encryption/updateOne.yml +168 -0
  267. data/spec/spec_tests/data/read_write_concern/connection-string/write-concern.yml +1 -4
  268. data/spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml +21 -0
  269. data/spec/spec_tests/data/sdam/rs/incompatible_ghost.yml +2 -4
  270. data/spec/spec_tests/data/sdam/rs/incompatible_other.yml +1 -1
  271. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me_not_removed.yml +73 -0
  272. data/spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml +1 -2
  273. data/spec/spec_tests/data/sdam/rs/repeated.yml +101 -0
  274. data/spec/spec_tests/data/sdam/rs/{primary_address_change.yml → ruby_primary_address_change.yml} +2 -0
  275. data/spec/spec_tests/data/sdam/rs/{secondary_wrong_set_name_with_primary_second.yml → ruby_secondary_wrong_set_name_with_primary_second.yml} +0 -0
  276. data/spec/spec_tests/data/sdam/sharded/ruby_discovered_single_mongos.yml +27 -0
  277. data/spec/spec_tests/data/sdam/sharded/{primary_address_change.yml → ruby_primary_different_address.yml} +1 -1
  278. data/spec/spec_tests/data/sdam/sharded/{primary_mismatched_me.yml → ruby_primary_mismatched_me.yml} +1 -1
  279. data/spec/spec_tests/data/sdam/single/{primary_address_change.yml → ruby_primary_different_address.yml} +1 -1
  280. data/spec/spec_tests/data/sdam/single/{primary_mismatched_me.yml → ruby_primary_mismatched_me.yml} +1 -1
  281. data/spec/spec_tests/data/sdam_monitoring/{replica_set_with_primary_change.yml → replica_set_primary_address_change.yml} +27 -5
  282. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml +26 -74
  283. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml +20 -16
  284. data/spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml +73 -0
  285. data/spec/spec_tests/data/transactions/pin-mongos.yml +2 -3
  286. data/spec/spec_tests/data/uri_options/auth-options.yml +10 -0
  287. data/spec/spec_tests/data/uri_options/tls-options.yml +75 -4
  288. data/spec/spec_tests/read_write_concern_connection_string_spec.rb +1 -1
  289. data/spec/spec_tests/uri_options_spec.rb +6 -8
  290. data/spec/stress/connection_pool_timing_spec.rb +6 -3
  291. data/spec/support/certificates/README.md +4 -0
  292. data/spec/support/certificates/server-second-level-bundle.pem +77 -77
  293. data/spec/support/certificates/server-second-level.crt +52 -52
  294. data/spec/support/certificates/server-second-level.key +25 -25
  295. data/spec/support/certificates/server-second-level.pem +77 -77
  296. data/spec/support/client_registry.rb +19 -3
  297. data/spec/support/cluster_config.rb +9 -1
  298. data/spec/support/common_shortcuts.rb +12 -0
  299. data/spec/support/constraints.rb +16 -0
  300. data/spec/support/crypt.rb +140 -0
  301. data/spec/support/crypt/corpus/corpus-key-aws.json +33 -0
  302. data/spec/support/crypt/corpus/corpus-key-local.json +31 -0
  303. data/spec/support/crypt/corpus/corpus-schema.json +2057 -0
  304. data/spec/support/crypt/corpus/corpus.json +3657 -0
  305. data/spec/support/crypt/corpus/corpus_encrypted.json +4152 -0
  306. data/spec/support/crypt/data_keys/key_document_aws.json +34 -0
  307. data/spec/support/crypt/data_keys/key_document_local.json +31 -0
  308. data/spec/support/crypt/external/external-key.json +31 -0
  309. data/spec/support/crypt/external/external-schema.json +19 -0
  310. data/spec/support/crypt/limits/limits-doc.json +102 -0
  311. data/spec/support/crypt/limits/limits-key.json +31 -0
  312. data/spec/support/crypt/limits/limits-schema.json +1405 -0
  313. data/spec/support/crypt/schema_maps/schema_map_aws.json +17 -0
  314. data/spec/support/crypt/schema_maps/schema_map_aws_key_alt_names.json +12 -0
  315. data/spec/support/crypt/schema_maps/schema_map_local.json +18 -0
  316. data/spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json +12 -0
  317. data/spec/support/lite_constraints.rb +17 -1
  318. data/spec/support/matchers.rb +19 -0
  319. data/spec/support/shared/protocol.rb +2 -0
  320. data/spec/support/spec_config.rb +43 -13
  321. data/spec/support/utils.rb +132 -10
  322. metadata +277 -81
  323. metadata.gz.sig +0 -0
  324. data/spec/integration/grid_fs_bucket_spec.rb +0 -48
  325. data/spec/integration/zlib_compression_spec.rb +0 -25
  326. data/spec/spec_tests/data/sdam/sharded/single_mongos.yml +0 -33
  327. data/spec/support/connection_string.rb +0 -354
@@ -64,7 +64,7 @@ describe Mongo::Operation::Aggregate do
64
64
 
65
65
  it 'raises an exception' do
66
66
  expect {
67
- op.execute(authorized_primary)
67
+ op.execute(authorized_primary, client: nil)
68
68
  }.to raise_error(Mongo::Error::OperationFailure)
69
69
  end
70
70
  end
@@ -31,7 +31,7 @@ describe Mongo::Operation::CollectionsInfo do
31
31
  end
32
32
 
33
33
  let(:info) do
34
- docs = op.execute(authorized_primary).documents
34
+ docs = op.execute(authorized_primary, client: nil).documents
35
35
  docs.collect { |info| info['name'].sub("#{SpecConfig.instance.test_db}.", '') }
36
36
  end
37
37
 
@@ -43,7 +43,7 @@ describe Mongo::Operation::Command do
43
43
  context 'when the command succeeds' do
44
44
 
45
45
  let(:response) do
46
- op.execute(authorized_primary)
46
+ op.execute(authorized_primary, client: nil)
47
47
  end
48
48
 
49
49
  it 'returns the reponse' do
@@ -59,7 +59,7 @@ describe Mongo::Operation::Command do
59
59
 
60
60
  it 'raises an exception' do
61
61
  expect {
62
- op.execute(authorized_primary)
62
+ op.execute(authorized_primary, client: nil)
63
63
  }.to raise_error(Mongo::Error::OperationFailure)
64
64
  end
65
65
  end
@@ -72,7 +72,7 @@ describe Mongo::Operation::Command do
72
72
 
73
73
  it 'raises an error' do
74
74
  expect {
75
- op.execute(authorized_primary)
75
+ op.execute(authorized_primary, client: nil)
76
76
  }.to raise_error(Mongo::Error::MaxBSONSize)
77
77
  end
78
78
  end
@@ -20,7 +20,7 @@ describe Mongo::Operation::CreateIndex do
20
20
  end
21
21
 
22
22
  let(:response) do
23
- operation.execute(authorized_primary)
23
+ operation.execute(authorized_primary, client: nil)
24
24
  end
25
25
 
26
26
  it 'returns ok' do
@@ -43,12 +43,12 @@ describe Mongo::Operation::CreateIndex do
43
43
  end
44
44
 
45
45
  before do
46
- operation.execute(authorized_primary)
46
+ operation.execute(authorized_primary, client: nil)
47
47
  end
48
48
 
49
49
  it 'raises an exception' do
50
50
  expect {
51
- second_operation.execute(authorized_primary)
51
+ second_operation.execute(authorized_primary, client: nil)
52
52
  }.to raise_error(Mongo::Error::OperationFailure)
53
53
  end
54
54
  end
@@ -26,7 +26,7 @@ describe Mongo::Operation::CreateUser do
26
26
  context 'when user creation was successful' do
27
27
 
28
28
  let!(:response) do
29
- operation.execute(root_authorized_primary)
29
+ operation.execute(root_authorized_primary, client: nil)
30
30
  end
31
31
 
32
32
  it 'saves the user in the database' do
@@ -38,8 +38,8 @@ describe Mongo::Operation::CreateUser do
38
38
 
39
39
  it 'raises an exception' do
40
40
  expect {
41
- operation.execute(root_authorized_primary)
42
- operation.execute(root_authorized_primary)
41
+ operation.execute(root_authorized_primary, client: nil)
42
+ operation.execute(root_authorized_primary, client: nil)
43
43
  }.to raise_error(Mongo::Error::OperationFailure)
44
44
  end
45
45
  end
@@ -99,7 +99,7 @@ describe Mongo::Operation::Delete do
99
99
  end
100
100
 
101
101
  it 'deletes the document from the database' do
102
- op.bulk_execute(authorized_primary)
102
+ op.bulk_execute(authorized_primary, client: nil)
103
103
  expect(authorized_collection.find.count).to eq(1)
104
104
  end
105
105
  end
@@ -122,7 +122,7 @@ describe Mongo::Operation::Delete do
122
122
  end
123
123
 
124
124
  it 'deletes the documents from the database' do
125
- op.bulk_execute(authorized_primary)
125
+ op.bulk_execute(authorized_primary, client: nil)
126
126
  expect(authorized_collection.find.count).to eq(0)
127
127
  end
128
128
  end
@@ -157,7 +157,7 @@ describe Mongo::Operation::Delete do
157
157
  end
158
158
 
159
159
  it 'aborts after first error' do
160
- failing_delete.bulk_execute(authorized_primary)
160
+ failing_delete.bulk_execute(authorized_primary, client: nil)
161
161
  expect(authorized_collection.find.count).to eq(2)
162
162
  end
163
163
  end
@@ -169,7 +169,7 @@ describe Mongo::Operation::Delete do
169
169
  end
170
170
 
171
171
  it 'aborts after first error' do
172
- failing_delete.bulk_execute(authorized_primary)
172
+ failing_delete.bulk_execute(authorized_primary, client: nil)
173
173
  expect(authorized_collection.find.count).to eq(2)
174
174
  end
175
175
  end
@@ -205,7 +205,7 @@ describe Mongo::Operation::Delete do
205
205
  end
206
206
 
207
207
  it 'does not abort after first error' do
208
- failing_delete.bulk_execute(authorized_primary)
208
+ failing_delete.bulk_execute(authorized_primary, client: nil)
209
209
  expect(authorized_collection.find.count).to eq(1)
210
210
  end
211
211
  end
@@ -217,7 +217,7 @@ describe Mongo::Operation::Delete do
217
217
  end
218
218
 
219
219
  it 'does not abort after first error' do
220
- failing_delete.bulk_execute(authorized_primary)
220
+ failing_delete.bulk_execute(authorized_primary, client: nil)
221
221
  expect(authorized_collection.find.count).to eq(1)
222
222
  end
223
223
  end
@@ -101,12 +101,7 @@ describe Mongo::Operation::Delete::OpMsg do
101
101
  end
102
102
 
103
103
  let(:expected_payload_1) do
104
- {
105
- type: 1,
106
- payload: { identifier: 'deletes',
107
- sequence: deletes
108
- }
109
- }
104
+ Mongo::Protocol::Msg::Section1.new('deletes', deletes)
110
105
  end
111
106
 
112
107
  let(:session) do
@@ -103,7 +103,7 @@ describe Mongo::Operation::Delete do
103
103
  end
104
104
 
105
105
  let(:result) do
106
- delete.execute(authorized_primary)
106
+ delete.execute(authorized_primary, client: nil)
107
107
  end
108
108
 
109
109
  it 'deletes the documents from the database' do
@@ -123,7 +123,7 @@ describe Mongo::Operation::Delete do
123
123
 
124
124
  it 'raises an exception' do
125
125
  expect {
126
- delete.execute(authorized_primary)
126
+ delete.execute(authorized_primary, client: nil)
127
127
  }.to raise_error(Mongo::Error::OperationFailure)
128
128
  end
129
129
  end
@@ -147,7 +147,7 @@ describe Mongo::Operation::Delete do
147
147
  end
148
148
 
149
149
  let(:result) do
150
- delete.execute(authorized_primary)
150
+ delete.execute(authorized_primary, client: nil)
151
151
  end
152
152
 
153
153
  it 'deletes the documents from the database' do
@@ -166,13 +166,13 @@ describe Mongo::Operation::Delete do
166
166
  end
167
167
 
168
168
  let(:result) do
169
- delete.execute(authorized_primary)
169
+ delete.execute(authorized_primary, client: nil)
170
170
  end
171
171
 
172
172
  it 'does not delete any documents' do
173
173
 
174
174
  expect {
175
- op.execute(authorized_primary)
175
+ op.execute(authorized_primary, client: nil)
176
176
  }.to raise_error(Mongo::Error::OperationFailure)
177
177
 
178
178
  expect(authorized_collection.find.count).to eq(2)
@@ -187,7 +187,7 @@ describe Mongo::Operation::Delete do
187
187
 
188
188
  it 'raises an error' do
189
189
  expect {
190
- op.execute(authorized_primary)
190
+ op.execute(authorized_primary, client: nil)
191
191
  }.to raise_error(Mongo::Error::MaxBSONSize)
192
192
  end
193
193
  end
@@ -211,7 +211,7 @@ describe Mongo::Operation::Delete do
211
211
  end
212
212
 
213
213
  let(:result) do
214
- delete.execute(authorized_primary)
214
+ delete.execute(authorized_primary, client: nil)
215
215
  end
216
216
 
217
217
  before do
@@ -26,7 +26,7 @@ describe Mongo::Operation::DropIndex do
26
26
  end
27
27
 
28
28
  let(:response) do
29
- operation.execute(authorized_primary)
29
+ operation.execute(authorized_primary, client: nil)
30
30
  end
31
31
 
32
32
  it 'removes the index' do
@@ -46,7 +46,7 @@ describe Mongo::Operation::DropIndex do
46
46
 
47
47
  it 'raises an exception' do
48
48
  expect {
49
- operation.execute(authorized_primary)
49
+ operation.execute(authorized_primary, client: nil)
50
50
  }.to raise_error(Mongo::Error::OperationFailure)
51
51
  end
52
52
  end
@@ -96,7 +96,7 @@ describe Mongo::Operation::Find::Legacy do
96
96
  end
97
97
 
98
98
  it 'does not raise an exception' do
99
- expect(op.execute(authorized_primary)).to be_a(Mongo::Operation::Find::Legacy::Result)
99
+ expect(op.execute(authorized_primary, client: nil)).to be_a(Mongo::Operation::Find::Legacy::Result)
100
100
  end
101
101
  end
102
102
  end
@@ -47,7 +47,7 @@ describe Mongo::Operation::GetMore::Legacy do
47
47
 
48
48
  it 'creates a get more wire protocol message with correct specs' do
49
49
  expect(Mongo::Protocol::GetMore).to receive(:new).with(SpecConfig.instance.test_db, TEST_COLL, to_return, cursor_id).and_call_original
50
- begin; op.execute(authorized_primary); rescue; end
50
+ begin; op.execute(authorized_primary, client: nil); rescue; end
51
51
  end
52
52
  end
53
53
  end
@@ -24,7 +24,7 @@ describe Mongo::Operation::Indexes do
24
24
  end
25
25
 
26
26
  let(:indexes) do
27
- operation.execute(authorized_primary)
27
+ operation.execute(authorized_primary, client: nil)
28
28
  end
29
29
 
30
30
  it 'returns the indexes for the collection' do
@@ -99,7 +99,7 @@ describe Mongo::Operation::Insert do
99
99
  end
100
100
 
101
101
  let(:inserted_ids) do
102
- op.bulk_execute(authorized_primary).inserted_ids
102
+ op.bulk_execute(authorized_primary, client: nil).inserted_ids
103
103
  end
104
104
 
105
105
  let(:collection_ids) do
@@ -128,7 +128,7 @@ describe Mongo::Operation::Insert do
128
128
  context 'when the insert succeeds' do
129
129
 
130
130
  let(:response) do
131
- op.bulk_execute(authorized_primary)
131
+ op.bulk_execute(authorized_primary, client: nil)
132
132
  end
133
133
 
134
134
  it 'inserts the documents into the database' do
@@ -146,7 +146,7 @@ describe Mongo::Operation::Insert do
146
146
  end
147
147
 
148
148
  let(:response) do
149
- op.bulk_execute(authorized_primary)
149
+ op.bulk_execute(authorized_primary, client: nil)
150
150
  end
151
151
 
152
152
  it 'inserts the documents into the database' do
@@ -183,7 +183,7 @@ describe Mongo::Operation::Insert do
183
183
  context 'when the insert fails' do
184
184
 
185
185
  it 'aborts after first error' do
186
- failing_insert.bulk_execute(authorized_primary)
186
+ failing_insert.bulk_execute(authorized_primary, client: nil)
187
187
  expect(authorized_collection.find.count).to eq(1)
188
188
  end
189
189
  end
@@ -197,7 +197,7 @@ describe Mongo::Operation::Insert do
197
197
  context 'when the insert fails' do
198
198
 
199
199
  it 'aborts after first error' do
200
- failing_insert.bulk_execute(authorized_primary)
200
+ failing_insert.bulk_execute(authorized_primary, client: nil)
201
201
  expect(authorized_collection.find.count).to eq(1)
202
202
  end
203
203
  end
@@ -228,7 +228,7 @@ describe Mongo::Operation::Insert do
228
228
  context 'when the insert fails' do
229
229
 
230
230
  it 'does not abort after first error' do
231
- failing_insert.bulk_execute(authorized_primary)
231
+ failing_insert.bulk_execute(authorized_primary, client: nil)
232
232
  expect(authorized_collection.find.count).to eq(2)
233
233
  end
234
234
  end
@@ -243,7 +243,7 @@ describe Mongo::Operation::Insert do
243
243
  context 'when the insert fails' do
244
244
 
245
245
  it 'does not after first error' do
246
- failing_insert.bulk_execute(authorized_primary)
246
+ failing_insert.bulk_execute(authorized_primary, client: nil)
247
247
  expect(authorized_collection.find.count).to eq(2)
248
248
  end
249
249
  end
@@ -106,12 +106,7 @@ describe Mongo::Operation::Insert::OpMsg do
106
106
  end
107
107
 
108
108
  let!(:expected_payload_1) do
109
- {
110
- type: 1,
111
- payload: { identifier: 'documents',
112
- sequence: op.documents
113
- }
114
- }
109
+ Mongo::Protocol::Msg::Section1.new('documents', op.documents)
115
110
  end
116
111
 
117
112
  let(:session) do
@@ -158,6 +153,8 @@ describe Mongo::Operation::Insert::OpMsg do
158
153
  end
159
154
 
160
155
  context 'when an implicit session is created and the topology is then updated and the server does not support sessions' do
156
+ # Mocks on features are incompatible with linting
157
+ skip_if_linting
161
158
 
162
159
  let(:expected_global_args) do
163
160
  global_args.dup.tap do |args|
@@ -83,7 +83,7 @@ describe Mongo::Operation::Insert do
83
83
  end
84
84
 
85
85
  let(:inserted_ids) do
86
- insert.execute(authorized_primary).inserted_ids
86
+ insert.execute(authorized_primary, client: nil).inserted_ids
87
87
  end
88
88
 
89
89
  let(:collection_ids) do
@@ -112,7 +112,7 @@ describe Mongo::Operation::Insert do
112
112
  context 'when the insert succeeds' do
113
113
 
114
114
  let!(:response) do
115
- insert.execute(authorized_primary)
115
+ insert.execute(authorized_primary, client: nil)
116
116
  end
117
117
 
118
118
  it 'reports the correct written count' do
@@ -144,8 +144,8 @@ describe Mongo::Operation::Insert do
144
144
 
145
145
  it 'raises an error' do
146
146
  expect {
147
- failing_insert.execute(authorized_primary)
148
- failing_insert.execute(authorized_primary)
147
+ failing_insert.execute(authorized_primary, client: nil)
148
+ failing_insert.execute(authorized_primary, client: nil)
149
149
  }.to raise_error(Mongo::Error::OperationFailure)
150
150
  end
151
151
  end
@@ -163,7 +163,7 @@ describe Mongo::Operation::Insert do
163
163
  end
164
164
 
165
165
  let!(:response) do
166
- insert.execute(authorized_primary)
166
+ insert.execute(authorized_primary, client: nil)
167
167
  end
168
168
 
169
169
  it 'reports the correct written count' do
@@ -195,8 +195,8 @@ describe Mongo::Operation::Insert do
195
195
 
196
196
  it 'raises an error' do
197
197
  expect {
198
- failing_insert.execute(authorized_primary)
199
- failing_insert.execute(authorized_primary)
198
+ failing_insert.execute(authorized_primary, client: nil)
199
+ failing_insert.execute(authorized_primary, client: nil)
200
200
  }.to raise_error(Mongo::Error::OperationFailure)
201
201
  end
202
202
  end
@@ -221,8 +221,8 @@ describe Mongo::Operation::Insert do
221
221
 
222
222
  it 'raises an error' do
223
223
  expect {
224
- failing_insert.execute(authorized_primary)
225
- failing_insert.execute(authorized_primary)
224
+ failing_insert.execute(authorized_primary, client: nil)
225
+ failing_insert.execute(authorized_primary, client: nil)
226
226
  }.to raise_error(Mongo::Error::OperationFailure)
227
227
  end
228
228
 
@@ -236,13 +236,13 @@ describe Mongo::Operation::Insert do
236
236
 
237
237
  it 'raises an error' do
238
238
  expect {
239
- insert.execute(authorized_primary)
239
+ insert.execute(authorized_primary, client: nil)
240
240
  }.to raise_error(Mongo::Error::MaxBSONSize)
241
241
  end
242
242
 
243
243
  it 'does not insert the document' do
244
244
  expect {
245
- insert.execute(authorized_primary)
245
+ insert.execute(authorized_primary, client: nil)
246
246
  }.to raise_error(Mongo::Error::MaxBSONSize)
247
247
  expect(authorized_collection.find.count).to eq(0)
248
248
  end
@@ -273,7 +273,7 @@ describe Mongo::Operation::Insert do
273
273
  end
274
274
 
275
275
  let(:response) do
276
- op.execute(authorized_primary)
276
+ op.execute(authorized_primary, client: nil)
277
277
  end
278
278
 
279
279
  it 'uses op codes instead of write commands' do
@@ -97,7 +97,7 @@ describe Mongo::Operation::MapReduce do
97
97
  context 'when the map/reduce succeeds' do
98
98
 
99
99
  let(:response) do
100
- op.execute(authorized_primary)
100
+ op.execute(authorized_primary, client: nil)
101
101
  end
102
102
 
103
103
  it 'returns the response' do
@@ -117,7 +117,7 @@ describe Mongo::Operation::MapReduce do
117
117
 
118
118
  it 'raises an exception' do
119
119
  expect {
120
- op.execute(authorized_primary)
120
+ op.execute(authorized_primary, client: nil)
121
121
  }.to raise_error(Mongo::Error::OperationFailure)
122
122
  end
123
123
  end