mongo 2.13.0.beta1 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +1 -5
- data/Rakefile +50 -9
- data/lib/mongo.rb +13 -2
- data/lib/mongo/address.rb +1 -1
- data/lib/mongo/address/ipv4.rb +1 -1
- data/lib/mongo/address/ipv6.rb +1 -1
- data/lib/mongo/auth/aws/request.rb +31 -5
- data/lib/mongo/bulk_write.rb +18 -0
- data/lib/mongo/caching_cursor.rb +74 -0
- data/lib/mongo/client.rb +238 -31
- data/lib/mongo/cluster.rb +56 -20
- data/lib/mongo/cluster/sdam_flow.rb +13 -10
- data/lib/mongo/cluster/topology/replica_set_no_primary.rb +3 -2
- data/lib/mongo/cluster/topology/sharded.rb +1 -1
- data/lib/mongo/cluster/topology/single.rb +2 -2
- data/lib/mongo/collection.rb +66 -24
- data/lib/mongo/collection/view.rb +24 -20
- data/lib/mongo/collection/view/aggregation.rb +25 -4
- data/lib/mongo/collection/view/builder/find_command.rb +38 -18
- data/lib/mongo/collection/view/explainable.rb +27 -8
- data/lib/mongo/collection/view/iterable.rb +72 -12
- data/lib/mongo/collection/view/readable.rb +19 -3
- data/lib/mongo/collection/view/writable.rb +55 -5
- data/lib/mongo/crypt/encryption_io.rb +6 -6
- data/lib/mongo/cursor.rb +16 -3
- data/lib/mongo/database.rb +37 -4
- data/lib/mongo/database/view.rb +18 -3
- data/lib/mongo/distinguishing_semaphore.rb +55 -0
- data/lib/mongo/error.rb +5 -0
- data/lib/mongo/error/invalid_read_concern.rb +28 -0
- data/lib/mongo/error/invalid_server_auth_host.rb +22 -0
- data/lib/mongo/error/invalid_session.rb +2 -1
- data/lib/mongo/error/operation_failure.rb +11 -5
- data/lib/mongo/error/server_certificate_revoked.rb +22 -0
- data/lib/mongo/error/sessions_not_supported.rb +35 -0
- data/lib/mongo/error/unsupported_option.rb +14 -12
- data/lib/mongo/event/base.rb +6 -0
- data/lib/mongo/grid/file.rb +5 -0
- data/lib/mongo/grid/file/chunk.rb +2 -0
- data/lib/mongo/grid/fs_bucket.rb +15 -13
- data/lib/mongo/grid/stream/write.rb +9 -3
- data/lib/mongo/index/view.rb +3 -0
- data/lib/mongo/lint.rb +2 -1
- data/lib/mongo/logger.rb +3 -3
- data/lib/mongo/monitoring.rb +38 -0
- data/lib/mongo/monitoring/command_log_subscriber.rb +10 -2
- data/lib/mongo/monitoring/event/command_failed.rb +11 -0
- data/lib/mongo/monitoring/event/command_started.rb +37 -2
- data/lib/mongo/monitoring/event/command_succeeded.rb +11 -0
- data/lib/mongo/monitoring/event/server_closed.rb +1 -1
- data/lib/mongo/monitoring/event/server_description_changed.rb +27 -4
- data/lib/mongo/monitoring/event/server_heartbeat_failed.rb +9 -2
- data/lib/mongo/monitoring/event/server_heartbeat_started.rb +9 -2
- data/lib/mongo/monitoring/event/server_heartbeat_succeeded.rb +9 -2
- data/lib/mongo/monitoring/event/server_opening.rb +1 -1
- data/lib/mongo/monitoring/event/topology_changed.rb +1 -1
- data/lib/mongo/monitoring/event/topology_closed.rb +1 -1
- data/lib/mongo/monitoring/event/topology_opening.rb +1 -1
- data/lib/mongo/monitoring/publishable.rb +6 -3
- data/lib/mongo/monitoring/server_description_changed_log_subscriber.rb +9 -1
- data/lib/mongo/monitoring/topology_changed_log_subscriber.rb +1 -1
- data/lib/mongo/operation.rb +2 -0
- data/lib/mongo/operation/aggregate/result.rb +9 -8
- data/lib/mongo/operation/collections_info/command.rb +5 -0
- data/lib/mongo/operation/collections_info/result.rb +18 -1
- data/lib/mongo/operation/delete/bulk_result.rb +2 -0
- data/lib/mongo/operation/delete/result.rb +3 -0
- data/lib/mongo/operation/explain/command.rb +4 -0
- data/lib/mongo/operation/explain/legacy.rb +4 -0
- data/lib/mongo/operation/explain/op_msg.rb +6 -0
- data/lib/mongo/operation/explain/result.rb +3 -0
- data/lib/mongo/operation/find/legacy/result.rb +2 -0
- data/lib/mongo/operation/find/result.rb +13 -0
- data/lib/mongo/operation/get_more/result.rb +3 -0
- data/lib/mongo/operation/indexes/result.rb +5 -0
- data/lib/mongo/operation/insert/bulk_result.rb +5 -0
- data/lib/mongo/operation/insert/result.rb +5 -0
- data/lib/mongo/operation/list_collections/result.rb +5 -0
- data/lib/mongo/operation/map_reduce/result.rb +10 -0
- data/lib/mongo/operation/parallel_scan/result.rb +4 -0
- data/lib/mongo/operation/result.rb +35 -6
- data/lib/mongo/operation/shared/bypass_document_validation.rb +1 -0
- data/lib/mongo/operation/shared/causal_consistency_supported.rb +1 -0
- data/lib/mongo/operation/shared/collections_info_or_list_collections.rb +2 -0
- data/lib/mongo/operation/shared/executable.rb +1 -0
- data/lib/mongo/operation/shared/idable.rb +2 -1
- data/lib/mongo/operation/shared/limited.rb +1 -0
- data/lib/mongo/operation/shared/object_id_generator.rb +1 -0
- data/lib/mongo/operation/shared/result/aggregatable.rb +1 -0
- data/lib/mongo/operation/shared/sessions_supported.rb +1 -0
- data/lib/mongo/operation/shared/specifiable.rb +1 -0
- data/lib/mongo/operation/shared/write.rb +1 -0
- data/lib/mongo/operation/shared/write_concern_supported.rb +1 -0
- data/lib/mongo/operation/update/legacy/result.rb +7 -0
- data/lib/mongo/operation/update/result.rb +8 -0
- data/lib/mongo/operation/users_info/result.rb +3 -0
- data/lib/mongo/protocol/message.rb +47 -10
- data/lib/mongo/protocol/msg.rb +34 -1
- data/lib/mongo/protocol/query.rb +36 -0
- data/lib/mongo/protocol/serializers.rb +5 -2
- data/lib/mongo/query_cache.rb +242 -0
- data/lib/mongo/retryable.rb +8 -1
- data/lib/mongo/server.rb +15 -4
- data/lib/mongo/server/app_metadata.rb +27 -3
- data/lib/mongo/server/connection.rb +4 -4
- data/lib/mongo/server/connection_base.rb +38 -12
- data/lib/mongo/server/connection_common.rb +2 -2
- data/lib/mongo/server/connection_pool.rb +3 -0
- data/lib/mongo/server/description.rb +13 -1
- data/lib/mongo/server/monitor.rb +76 -44
- data/lib/mongo/server/monitor/connection.rb +57 -9
- data/lib/mongo/server/pending_connection.rb +14 -4
- data/lib/mongo/server/push_monitor.rb +173 -0
- data/{spec/runners/transactions/context.rb → lib/mongo/server/push_monitor/connection.rb} +9 -14
- data/lib/mongo/server_selector.rb +0 -1
- data/lib/mongo/server_selector/base.rb +583 -1
- data/lib/mongo/server_selector/nearest.rb +1 -6
- data/lib/mongo/server_selector/primary.rb +1 -6
- data/lib/mongo/server_selector/primary_preferred.rb +7 -10
- data/lib/mongo/server_selector/secondary.rb +1 -6
- data/lib/mongo/server_selector/secondary_preferred.rb +1 -7
- data/lib/mongo/session.rb +7 -1
- data/lib/mongo/socket.rb +26 -12
- data/lib/mongo/socket/ocsp_cache.rb +97 -0
- data/lib/mongo/socket/ocsp_verifier.rb +368 -0
- data/lib/mongo/socket/ssl.rb +46 -25
- data/lib/mongo/socket/tcp.rb +1 -1
- data/lib/mongo/srv/monitor.rb +7 -13
- data/lib/mongo/srv/resolver.rb +14 -10
- data/lib/mongo/timeout.rb +2 -0
- data/lib/mongo/topology_version.rb +9 -0
- data/lib/mongo/uri.rb +21 -390
- data/lib/mongo/uri/options_mapper.rb +582 -0
- data/lib/mongo/uri/srv_protocol.rb +3 -2
- data/lib/mongo/utils.rb +73 -0
- data/lib/mongo/version.rb +1 -1
- data/spec/NOTES.aws-auth.md +12 -7
- data/spec/README.aws-auth.md +2 -2
- data/spec/README.md +63 -1
- data/spec/integration/awaited_ismaster_spec.rb +28 -0
- data/spec/integration/bson_symbol_spec.rb +4 -2
- data/spec/integration/bulk_write_spec.rb +67 -0
- data/spec/integration/change_stream_examples_spec.rb +6 -2
- data/spec/integration/change_stream_spec.rb +1 -1
- data/spec/integration/check_clean_slate_spec.rb +16 -0
- data/spec/integration/client_authentication_options_spec.rb +92 -28
- data/spec/integration/client_construction_spec.rb +1 -0
- data/spec/integration/client_side_encryption/auto_encryption_bulk_writes_spec.rb +9 -5
- data/spec/integration/connect_single_rs_name_spec.rb +5 -2
- data/spec/integration/connection_pool_populator_spec.rb +4 -2
- data/spec/integration/connection_spec.rb +7 -4
- data/spec/integration/crud_spec.rb +4 -4
- data/spec/integration/cursor_reaping_spec.rb +54 -18
- data/spec/integration/docs_examples_spec.rb +6 -0
- data/spec/integration/fork_reconnect_spec.rb +56 -1
- data/spec/integration/grid_fs_bucket_spec.rb +48 -0
- data/spec/integration/heartbeat_events_spec.rb +4 -23
- data/spec/integration/ocsp_connectivity_spec.rb +26 -0
- data/spec/integration/ocsp_verifier_cache_spec.rb +188 -0
- data/spec/integration/ocsp_verifier_spec.rb +334 -0
- data/spec/integration/query_cache_spec.rb +1045 -0
- data/spec/integration/query_cache_transactions_spec.rb +190 -0
- data/spec/integration/read_concern_spec.rb +1 -1
- data/spec/integration/retryable_errors_spec.rb +1 -1
- data/spec/integration/retryable_writes/retryable_writes_40_and_newer_spec.rb +1 -0
- data/spec/integration/retryable_writes/shared/performs_legacy_retries.rb +4 -2
- data/spec/integration/retryable_writes/shared/performs_modern_retries.rb +3 -3
- data/spec/integration/retryable_writes/shared/performs_no_retries.rb +2 -2
- data/spec/integration/sdam_error_handling_spec.rb +122 -15
- data/spec/integration/sdam_events_spec.rb +80 -6
- data/spec/integration/sdam_prose_spec.rb +64 -0
- data/spec/integration/server_monitor_spec.rb +25 -1
- data/spec/integration/server_selection_spec.rb +36 -0
- data/spec/integration/size_limit_spec.rb +23 -5
- data/spec/integration/srv_monitoring_spec.rb +38 -3
- data/spec/integration/srv_spec.rb +56 -0
- data/spec/integration/ssl_uri_options_spec.rb +2 -2
- data/spec/integration/transactions_examples_spec.rb +17 -7
- data/spec/integration/zlib_compression_spec.rb +25 -0
- data/spec/lite_spec_helper.rb +20 -9
- data/spec/mongo/address_spec.rb +1 -1
- data/spec/mongo/auth/aws/request_region_spec.rb +42 -0
- data/spec/mongo/auth/aws/request_spec.rb +76 -0
- data/spec/mongo/auth/scram_spec.rb +1 -1
- data/spec/mongo/auth/user_spec.rb +1 -1
- data/spec/mongo/bulk_write_spec.rb +2 -2
- data/spec/mongo/caching_cursor_spec.rb +70 -0
- data/spec/mongo/client_construction_spec.rb +386 -3
- data/spec/mongo/client_encryption_spec.rb +16 -10
- data/spec/mongo/client_spec.rb +85 -3
- data/spec/mongo/cluster/topology/replica_set_spec.rb +53 -10
- data/spec/mongo/cluster/topology/sharded_spec.rb +1 -1
- data/spec/mongo/cluster/topology/single_spec.rb +19 -8
- data/spec/mongo/cluster/topology/unknown_spec.rb +1 -1
- data/spec/mongo/cluster/topology_spec.rb +1 -1
- data/spec/mongo/cluster_spec.rb +37 -35
- data/spec/mongo/collection/view/change_stream_resume_spec.rb +7 -7
- data/spec/mongo/collection/view/explainable_spec.rb +87 -4
- data/spec/mongo/collection/view/map_reduce_spec.rb +2 -0
- data/spec/mongo/collection/view/readable_spec.rb +36 -0
- data/spec/mongo/collection_spec.rb +572 -0
- data/spec/mongo/crypt/auto_decryption_context_spec.rb +1 -1
- data/spec/mongo/crypt/auto_encryption_context_spec.rb +1 -1
- data/spec/mongo/crypt/binary_spec.rb +1 -6
- data/spec/mongo/crypt/binding/binary_spec.rb +1 -6
- data/spec/mongo/crypt/binding/context_spec.rb +2 -7
- data/spec/mongo/crypt/binding/helpers_spec.rb +1 -6
- data/spec/mongo/crypt/binding/mongocrypt_spec.rb +2 -7
- data/spec/mongo/crypt/binding/status_spec.rb +1 -6
- data/spec/mongo/crypt/binding/version_spec.rb +1 -6
- data/spec/mongo/crypt/data_key_context_spec.rb +1 -1
- data/spec/mongo/crypt/explicit_decryption_context_spec.rb +1 -1
- data/spec/mongo/crypt/explicit_encryption_context_spec.rb +1 -1
- data/spec/mongo/crypt/status_spec.rb +1 -6
- data/spec/mongo/database_spec.rb +353 -8
- data/spec/mongo/distinguishing_semaphore_spec.rb +63 -0
- data/spec/mongo/error/no_server_available_spec.rb +1 -1
- data/spec/mongo/error/operation_failure_spec.rb +40 -0
- data/spec/mongo/index/view_spec.rb +148 -2
- data/spec/mongo/logger_spec.rb +13 -11
- data/spec/mongo/monitoring/event/server_closed_spec.rb +1 -1
- data/spec/mongo/monitoring/event/server_description_changed_spec.rb +1 -4
- data/spec/mongo/monitoring/event/server_opening_spec.rb +1 -1
- data/spec/mongo/monitoring/event/topology_changed_spec.rb +1 -1
- data/spec/mongo/monitoring/event/topology_closed_spec.rb +1 -1
- data/spec/mongo/monitoring/event/topology_opening_spec.rb +1 -1
- data/spec/mongo/operation/delete/op_msg_spec.rb +3 -3
- data/spec/mongo/operation/insert/command_spec.rb +2 -2
- data/spec/mongo/operation/insert/op_msg_spec.rb +3 -3
- data/spec/mongo/operation/read_preference_op_msg_spec.rb +1 -1
- data/spec/mongo/operation/update/command_spec.rb +2 -2
- data/spec/mongo/operation/update/op_msg_spec.rb +3 -3
- data/spec/mongo/protocol/msg_spec.rb +10 -0
- data/spec/mongo/query_cache_spec.rb +280 -0
- data/spec/mongo/semaphore_spec.rb +51 -0
- data/spec/mongo/server/app_metadata_shared.rb +82 -2
- data/spec/mongo/server/connection_auth_spec.rb +2 -2
- data/spec/mongo/server/connection_pool_spec.rb +7 -3
- data/spec/mongo/server/connection_spec.rb +15 -8
- data/spec/mongo/server/description_spec.rb +18 -0
- data/spec/mongo/server_selector/nearest_spec.rb +23 -23
- data/spec/mongo/server_selector/primary_preferred_spec.rb +26 -26
- data/spec/mongo/server_selector/primary_spec.rb +9 -9
- data/spec/mongo/server_selector/secondary_preferred_spec.rb +22 -22
- data/spec/mongo/server_selector/secondary_spec.rb +18 -18
- data/spec/mongo/server_selector_spec.rb +6 -6
- data/spec/mongo/session_spec.rb +35 -0
- data/spec/mongo/socket/ssl_spec.rb +4 -4
- data/spec/mongo/socket_spec.rb +1 -1
- data/spec/mongo/uri/srv_protocol_spec.rb +64 -33
- data/spec/mongo/uri_option_parsing_spec.rb +11 -11
- data/spec/mongo/uri_spec.rb +68 -41
- data/spec/mongo/utils_spec.rb +39 -0
- data/spec/runners/auth.rb +3 -0
- data/spec/runners/change_streams/test.rb +3 -3
- data/spec/runners/cmap.rb +1 -1
- data/spec/runners/command_monitoring.rb +3 -34
- data/spec/runners/connection_string.rb +35 -124
- data/spec/runners/crud/context.rb +9 -5
- data/spec/runners/crud/operation.rb +59 -27
- data/spec/runners/crud/spec.rb +0 -8
- data/spec/runners/crud/test.rb +1 -1
- data/spec/runners/crud/test_base.rb +0 -19
- data/spec/runners/sdam.rb +2 -2
- data/spec/runners/server_selection.rb +242 -28
- data/spec/runners/transactions.rb +12 -12
- data/spec/runners/transactions/operation.rb +151 -25
- data/spec/runners/transactions/test.rb +62 -18
- data/spec/shared/LICENSE +20 -0
- data/spec/shared/lib/mrss/child_process_helper.rb +80 -0
- data/spec/shared/lib/mrss/constraints.rb +303 -0
- data/spec/shared/lib/mrss/lite_constraints.rb +175 -0
- data/spec/shared/lib/mrss/spec_organizer.rb +149 -0
- data/spec/spec_helper.rb +3 -1
- data/spec/spec_tests/cmap_spec.rb +7 -3
- data/spec/spec_tests/command_monitoring_spec.rb +22 -12
- data/spec/spec_tests/crud_spec.rb +1 -1
- data/spec/spec_tests/data/change_streams/change-streams-errors.yml +4 -9
- data/spec/spec_tests/data/change_streams/change-streams-resume-whitelist.yml +66 -0
- data/spec/spec_tests/data/change_streams/change-streams.yml +0 -1
- data/spec/spec_tests/data/cmap/pool-checkout-connection.yml +6 -2
- data/spec/spec_tests/data/cmap/pool-create-min-size.yml +3 -0
- data/spec/spec_tests/data/connection_string/valid-warnings.yml +24 -0
- data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/MaxStalenessTooSmall.yml +15 -0
- data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/NoKnownServers.yml +4 -3
- data/spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml +1 -0
- data/spec/spec_tests/data/sdam_integration/cancel-server-check.yml +96 -0
- data/spec/spec_tests/data/sdam_integration/connectTimeoutMS.yml +88 -0
- data/spec/spec_tests/data/sdam_integration/find-network-error.yml +83 -0
- data/spec/spec_tests/data/sdam_integration/find-shutdown-error.yml +116 -0
- data/spec/spec_tests/data/sdam_integration/insert-network-error.yml +86 -0
- data/spec/spec_tests/data/sdam_integration/insert-shutdown-error.yml +115 -0
- data/spec/spec_tests/data/sdam_integration/isMaster-command-error.yml +168 -0
- data/spec/spec_tests/data/sdam_integration/isMaster-network-error.yml +162 -0
- data/spec/spec_tests/data/sdam_integration/isMaster-timeout.yml +229 -0
- data/spec/spec_tests/data/sdam_integration/rediscover-quickly-after-step-down.yml +87 -0
- data/spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml +1 -3
- data/spec/spec_tests/data/sdam_monitoring/standalone.yml +2 -2
- data/spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml +2 -2
- data/spec/spec_tests/data/sdam_monitoring/standalone_suppress_equal_description_changes.yml +2 -2
- data/spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml +2 -2
- data/spec/spec_tests/data/uri_options/auth-options.yml +25 -0
- data/spec/spec_tests/data/uri_options/compression-options.yml +6 -3
- data/spec/spec_tests/data/uri_options/read-preference-options.yml +24 -0
- data/spec/spec_tests/data/uri_options/ruby-connection-options.yml +1 -0
- data/spec/spec_tests/data/uri_options/tls-options.yml +160 -4
- data/spec/spec_tests/dns_seedlist_discovery_spec.rb +9 -1
- data/spec/spec_tests/max_staleness_spec.rb +4 -142
- data/spec/spec_tests/retryable_reads_spec.rb +2 -2
- data/spec/spec_tests/sdam_integration_spec.rb +13 -0
- data/spec/spec_tests/sdam_monitoring_spec.rb +1 -2
- data/spec/spec_tests/server_selection_spec.rb +4 -116
- data/spec/spec_tests/uri_options_spec.rb +31 -33
- data/spec/stress/cleanup_spec.rb +17 -2
- data/spec/stress/connection_pool_stress_spec.rb +10 -8
- data/spec/stress/fork_reconnect_stress_spec.rb +1 -1
- data/spec/support/certificates/atlas-ocsp-ca.crt +28 -0
- data/spec/support/certificates/atlas-ocsp.crt +41 -0
- data/spec/support/client_registry.rb +1 -0
- data/spec/support/client_registry_macros.rb +11 -2
- data/spec/support/cluster_config.rb +4 -0
- data/spec/support/common_shortcuts.rb +45 -0
- data/spec/support/constraints.rb +6 -253
- data/spec/support/event_subscriber.rb +123 -33
- data/spec/support/keyword_struct.rb +26 -0
- data/spec/support/matchers.rb +16 -0
- data/spec/support/ocsp +1 -0
- data/spec/support/session_registry.rb +52 -0
- data/spec/support/shared/server_selector.rb +13 -1
- data/spec/support/spec_config.rb +60 -13
- data/spec/support/spec_setup.rb +1 -1
- data/spec/support/utils.rb +84 -1
- metadata +1027 -937
- metadata.gz.sig +0 -0
- data/lib/mongo/server_selector/selectable.rb +0 -560
- data/spec/runners/sdam_monitoring.rb +0 -89
- data/spec/support/lite_constraints.rb +0 -141
@@ -65,7 +65,7 @@ describe Mongo::Server::Connection, retry: 3 do
|
|
65
65
|
SpecConfig.instance.test_options.merge(
|
66
66
|
user: SpecConfig.instance.test_user.name,
|
67
67
|
password: SpecConfig.instance.test_user.password,
|
68
|
-
auth_source:
|
68
|
+
auth_source: 'admin',
|
69
69
|
)
|
70
70
|
end
|
71
71
|
|
@@ -74,7 +74,7 @@ describe Mongo::Server::Connection, retry: 3 do
|
|
74
74
|
end
|
75
75
|
|
76
76
|
before do
|
77
|
-
client = authorized_client.with(database:
|
77
|
+
client = authorized_client.with(database: 'admin')
|
78
78
|
info = client.database.users.info(SpecConfig.instance.test_user.name)
|
79
79
|
expect(info.length).to eq(1)
|
80
80
|
# this before block may have made 2 or 3 clients
|
@@ -5,9 +5,13 @@ describe Mongo::Server::ConnectionPool do
|
|
5
5
|
let(:options) { {} }
|
6
6
|
|
7
7
|
let(:server_options) do
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
Mongo::Utils.shallow_symbolize_keys(Mongo::Client.canonicalize_ruby_options(
|
9
|
+
SpecConfig.instance.all_test_options,
|
10
|
+
)).tap do |opts|
|
11
|
+
opts.delete(:min_pool_size)
|
12
|
+
opts.delete(:max_pool_size)
|
13
|
+
opts.delete(:wait_queue_timeout)
|
14
|
+
end.update(options)
|
11
15
|
end
|
12
16
|
|
13
17
|
let(:address) do
|
@@ -158,6 +158,8 @@ describe Mongo::Server::Connection do
|
|
158
158
|
end
|
159
159
|
|
160
160
|
shared_examples_for 'logs a warning' do
|
161
|
+
require_warning_clean
|
162
|
+
|
161
163
|
it 'logs a warning' do
|
162
164
|
messages = []
|
163
165
|
expect(Mongo::Logger.logger).to receive(:warn) do |msg|
|
@@ -172,6 +174,8 @@ describe Mongo::Server::Connection do
|
|
172
174
|
end
|
173
175
|
|
174
176
|
shared_examples_for 'adds server diagnostics' do
|
177
|
+
require_warning_clean
|
178
|
+
|
175
179
|
it 'adds server diagnostics' do
|
176
180
|
messages = []
|
177
181
|
expect(Mongo::Logger.logger).to receive(:warn) do |msg|
|
@@ -248,8 +252,9 @@ describe Mongo::Server::Connection do
|
|
248
252
|
require_auth
|
249
253
|
|
250
254
|
let(:server_options) do
|
251
|
-
|
252
|
-
|
255
|
+
Mongo::Client.canonicalize_ruby_options(
|
256
|
+
SpecConfig.instance.all_test_options,
|
257
|
+
).update(monitoring_io: false)
|
253
258
|
end
|
254
259
|
|
255
260
|
let(:exception) do
|
@@ -589,10 +594,12 @@ describe Mongo::Server::Connection do
|
|
589
594
|
server,
|
590
595
|
SpecConfig.instance.test_options.merge(
|
591
596
|
:database => SpecConfig.instance.test_user.database,
|
592
|
-
).merge(
|
593
|
-
|
594
|
-
|
595
|
-
|
597
|
+
).merge(Mongo::Utils.shallow_symbolize_keys(Mongo::Client.canonicalize_ruby_options(
|
598
|
+
SpecConfig.instance.credentials_or_external_user(
|
599
|
+
user: SpecConfig.instance.test_user.name,
|
600
|
+
password: SpecConfig.instance.test_user.password,
|
601
|
+
),
|
602
|
+
)))
|
596
603
|
).tap do |connection|
|
597
604
|
connection.connect!
|
598
605
|
end
|
@@ -767,7 +774,7 @@ describe Mongo::Server::Connection do
|
|
767
774
|
context 'when the message is a command' do
|
768
775
|
# Server description is frozen when linting is enabled, which is
|
769
776
|
# incompatible with expectations set on it in this test
|
770
|
-
|
777
|
+
require_no_linting
|
771
778
|
|
772
779
|
let(:selector) do
|
773
780
|
# The driver allows up to 16KiB for command overhead on top of
|
@@ -1099,7 +1106,7 @@ describe Mongo::Server::Connection do
|
|
1099
1106
|
:user => SpecConfig.instance.test_user.name,
|
1100
1107
|
:password => SpecConfig.instance.test_user.password,
|
1101
1108
|
:database => SpecConfig.instance.test_db,
|
1102
|
-
:auth_mech => :mongodb_cr
|
1109
|
+
:auth_mech => :mongodb_cr,
|
1103
1110
|
)
|
1104
1111
|
end
|
1105
1112
|
|
@@ -27,6 +27,7 @@ describe Mongo::Server::Description do
|
|
27
27
|
'logicalSessionTimeoutMinutes' => 7,
|
28
28
|
'operationTime' => 1,
|
29
29
|
'$clusterTime' => 1,
|
30
|
+
'connectionId' => 11,
|
30
31
|
'ok' => 1
|
31
32
|
}
|
32
33
|
end
|
@@ -757,6 +758,23 @@ describe Mongo::Server::Description do
|
|
757
758
|
end
|
758
759
|
end
|
759
760
|
|
761
|
+
context 'when the configs match, but have different connectionId values' do
|
762
|
+
|
763
|
+
let(:description) do
|
764
|
+
described_class.new(address, replica)
|
765
|
+
end
|
766
|
+
|
767
|
+
let(:other) do
|
768
|
+
described_class.new(address, replica.merge(
|
769
|
+
'connectionId' => 12
|
770
|
+
))
|
771
|
+
end
|
772
|
+
|
773
|
+
it 'returns true' do
|
774
|
+
expect(description == other).to be(true)
|
775
|
+
end
|
776
|
+
end
|
777
|
+
|
760
778
|
context 'when the configs do not match' do
|
761
779
|
|
762
780
|
let(:description) do
|
@@ -114,13 +114,13 @@ describe Mongo::ServerSelector::Nearest do
|
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
|
-
describe '#
|
117
|
+
describe '#select_in_replica_set' do
|
118
118
|
|
119
119
|
context 'no candidates' do
|
120
120
|
let(:candidates) { [] }
|
121
121
|
|
122
122
|
it 'returns an empty array' do
|
123
|
-
expect(selector.send(:
|
123
|
+
expect(selector.send(:select_in_replica_set, candidates)).to be_empty
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
@@ -128,7 +128,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
128
128
|
let(:candidates) { [primary] }
|
129
129
|
|
130
130
|
it 'returns an array with the primary' do
|
131
|
-
expect(selector.send(:
|
131
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([primary])
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
@@ -136,7 +136,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
136
136
|
let(:candidates) { [secondary] }
|
137
137
|
|
138
138
|
it 'returns an array with the secondary' do
|
139
|
-
expect(selector.send(:
|
139
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([secondary])
|
140
140
|
end
|
141
141
|
end
|
142
142
|
|
@@ -144,7 +144,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
144
144
|
let(:candidates) { [primary, secondary] }
|
145
145
|
|
146
146
|
it 'returns an array with the primary and secondary' do
|
147
|
-
expect(selector.send(:
|
147
|
+
expect(selector.send(:select_in_replica_set, candidates)).to match_array([primary, secondary])
|
148
148
|
end
|
149
149
|
end
|
150
150
|
|
@@ -152,7 +152,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
152
152
|
let(:candidates) { [secondary, secondary] }
|
153
153
|
|
154
154
|
it 'returns an array with the secondaries' do
|
155
|
-
expect(selector.send(:
|
155
|
+
expect(selector.send(:select_in_replica_set, candidates)).to match_array([secondary, secondary])
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
@@ -171,7 +171,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
171
171
|
let(:candidates) { [primary] }
|
172
172
|
|
173
173
|
it 'returns an empty array' do
|
174
|
-
expect(selector.send(:
|
174
|
+
expect(selector.send(:select_in_replica_set, candidates)).to be_empty
|
175
175
|
end
|
176
176
|
end
|
177
177
|
|
@@ -179,7 +179,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
179
179
|
let(:candidates) { [matching_primary] }
|
180
180
|
|
181
181
|
it 'returns an array with the primary' do
|
182
|
-
expect(selector.send(:
|
182
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([matching_primary])
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
@@ -187,7 +187,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
187
187
|
let(:candidates) { [secondary] }
|
188
188
|
|
189
189
|
it 'returns an empty array' do
|
190
|
-
expect(selector.send(:
|
190
|
+
expect(selector.send(:select_in_replica_set, candidates)).to be_empty
|
191
191
|
end
|
192
192
|
end
|
193
193
|
|
@@ -195,7 +195,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
195
195
|
let(:candidates) { [matching_secondary] }
|
196
196
|
|
197
197
|
it 'returns an array with the matching secondary' do
|
198
|
-
expect(selector.send(:
|
198
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([matching_secondary])
|
199
199
|
end
|
200
200
|
end
|
201
201
|
end
|
@@ -206,7 +206,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
206
206
|
let(:candidates) { [primary, secondary, secondary] }
|
207
207
|
|
208
208
|
it 'returns an empty array' do
|
209
|
-
expect(selector.send(:
|
209
|
+
expect(selector.send(:select_in_replica_set, candidates)).to be_empty
|
210
210
|
end
|
211
211
|
end
|
212
212
|
|
@@ -214,7 +214,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
214
214
|
let(:candidates) { [matching_primary, secondary, secondary] }
|
215
215
|
|
216
216
|
it 'returns an array with the matching primary' do
|
217
|
-
expect(selector.send(:
|
217
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([matching_primary])
|
218
218
|
end
|
219
219
|
end
|
220
220
|
|
@@ -222,7 +222,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
222
222
|
let(:candidates) { [primary, matching_secondary, secondary] }
|
223
223
|
|
224
224
|
it 'returns an array with the matching secondary' do
|
225
|
-
expect(selector.send(:
|
225
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([matching_secondary])
|
226
226
|
end
|
227
227
|
end
|
228
228
|
|
@@ -231,7 +231,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
231
231
|
let(:expected) { [matching_secondary, matching_secondary] }
|
232
232
|
|
233
233
|
it 'returns an array with the matching secondaries' do
|
234
|
-
expect(selector.send(:
|
234
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
235
235
|
end
|
236
236
|
end
|
237
237
|
|
@@ -240,7 +240,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
240
240
|
let(:expected) { [matching_primary, matching_secondary] }
|
241
241
|
|
242
242
|
it 'returns an array with the matching primary and secondary' do
|
243
|
-
expect(selector.send(:
|
243
|
+
expect(selector.send(:select_in_replica_set, candidates)).to match_array(expected)
|
244
244
|
end
|
245
245
|
end
|
246
246
|
end
|
@@ -256,7 +256,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
256
256
|
let(:candidates) { [far_primary] }
|
257
257
|
|
258
258
|
it 'returns array with far primary' do
|
259
|
-
expect(selector.send(:
|
259
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([far_primary])
|
260
260
|
end
|
261
261
|
end
|
262
262
|
|
@@ -264,7 +264,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
264
264
|
let(:candidates) { [far_secondary] }
|
265
265
|
|
266
266
|
it 'returns array with far primary' do
|
267
|
-
expect(selector.send(:
|
267
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([far_secondary])
|
268
268
|
end
|
269
269
|
end
|
270
270
|
end
|
@@ -275,7 +275,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
275
275
|
let(:candidates) { [primary, secondary] }
|
276
276
|
|
277
277
|
it 'returns array with primary and secondary' do
|
278
|
-
expect(selector.send(:
|
278
|
+
expect(selector.send(:select_in_replica_set, candidates)).to match_array(
|
279
279
|
[primary, secondary]
|
280
280
|
)
|
281
281
|
end
|
@@ -285,7 +285,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
285
285
|
let(:candidates) { [primary, far_secondary] }
|
286
286
|
|
287
287
|
it 'returns array with local primary' do
|
288
|
-
expect(selector.send(:
|
288
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([primary])
|
289
289
|
end
|
290
290
|
end
|
291
291
|
|
@@ -293,7 +293,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
293
293
|
let(:candidates) { [far_primary, secondary] }
|
294
294
|
|
295
295
|
it 'returns array with local secondary' do
|
296
|
-
expect(selector.send(:
|
296
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([secondary])
|
297
297
|
end
|
298
298
|
end
|
299
299
|
|
@@ -302,7 +302,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
302
302
|
let(:expected) { [far_primary, far_secondary] }
|
303
303
|
|
304
304
|
it 'returns array with both servers' do
|
305
|
-
expect(selector.send(:
|
305
|
+
expect(selector.send(:select_in_replica_set, candidates)).to match_array(expected)
|
306
306
|
end
|
307
307
|
end
|
308
308
|
|
@@ -313,7 +313,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
313
313
|
let(:expected) { [primary, secondary] }
|
314
314
|
|
315
315
|
it 'returns array with local primary and local secondary' do
|
316
|
-
expect(selector.send(:
|
316
|
+
expect(selector.send(:select_in_replica_set, candidates)).to match_array(expected)
|
317
317
|
end
|
318
318
|
end
|
319
319
|
|
@@ -322,7 +322,7 @@ describe Mongo::ServerSelector::Nearest do
|
|
322
322
|
let(:expected) { [secondary, secondary] }
|
323
323
|
|
324
324
|
it 'returns array with the two local secondaries' do
|
325
|
-
expect(selector.send(:
|
325
|
+
expect(selector.send(:select_in_replica_set, candidates)).to match_array(expected)
|
326
326
|
end
|
327
327
|
end
|
328
328
|
end
|
@@ -107,13 +107,13 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
|
-
describe '#
|
110
|
+
describe '#select_in_replica_set' do
|
111
111
|
|
112
112
|
context 'no candidates' do
|
113
113
|
let(:candidates) { [] }
|
114
114
|
|
115
115
|
it 'returns an empty array' do
|
116
|
-
expect(selector.send(:
|
116
|
+
expect(selector.send(:select_in_replica_set, candidates)).to be_empty
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
@@ -121,7 +121,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
121
121
|
let(:candidates) { [primary] }
|
122
122
|
|
123
123
|
it 'returns an array with the primary' do
|
124
|
-
expect(selector.send(:
|
124
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq( [primary] )
|
125
125
|
end
|
126
126
|
end
|
127
127
|
|
@@ -129,7 +129,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
129
129
|
let(:candidates) { [secondary] }
|
130
130
|
|
131
131
|
it 'returns an array with the secondary' do
|
132
|
-
expect(selector.send(:
|
132
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq( [secondary] )
|
133
133
|
end
|
134
134
|
end
|
135
135
|
|
@@ -138,7 +138,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
138
138
|
let(:expected) { [primary] }
|
139
139
|
|
140
140
|
it 'returns an array with the primary' do
|
141
|
-
expect(selector.send(:
|
141
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
142
142
|
end
|
143
143
|
end
|
144
144
|
|
@@ -147,7 +147,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
147
147
|
let(:expected) { [primary] }
|
148
148
|
|
149
149
|
it 'returns an array with the primary' do
|
150
|
-
expect(selector.send(:
|
150
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
151
151
|
end
|
152
152
|
end
|
153
153
|
|
@@ -168,7 +168,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
168
168
|
let(:candidates) { [primary] }
|
169
169
|
|
170
170
|
it 'returns array with primary' do
|
171
|
-
expect(selector.send(:
|
171
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([primary])
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
@@ -176,7 +176,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
176
176
|
let(:candidates) { [matching_primary] }
|
177
177
|
|
178
178
|
it 'returns array with matching primary' do
|
179
|
-
expect(selector.send(:
|
179
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([matching_primary])
|
180
180
|
end
|
181
181
|
end
|
182
182
|
|
@@ -184,7 +184,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
184
184
|
let(:candidates) { [matching_secondary] }
|
185
185
|
|
186
186
|
it 'returns array with matching secondary' do
|
187
|
-
expect(selector.send(:
|
187
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([matching_secondary])
|
188
188
|
end
|
189
189
|
end
|
190
190
|
|
@@ -192,7 +192,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
192
192
|
let(:candidates) { [secondary] }
|
193
193
|
|
194
194
|
it 'returns an empty array' do
|
195
|
-
expect(selector.send(:
|
195
|
+
expect(selector.send(:select_in_replica_set, candidates)).to be_empty
|
196
196
|
end
|
197
197
|
end
|
198
198
|
end
|
@@ -203,7 +203,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
203
203
|
let(:candidates) { [primary, secondary, secondary] }
|
204
204
|
|
205
205
|
it 'returns an array with the primary' do
|
206
|
-
expect(selector.send(:
|
206
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([primary])
|
207
207
|
end
|
208
208
|
end
|
209
209
|
|
@@ -211,7 +211,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
211
211
|
let(:candidates) { [matching_primary, secondary, secondary] }
|
212
212
|
|
213
213
|
it 'returns an array of the primary' do
|
214
|
-
expect(selector.send(:
|
214
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([matching_primary])
|
215
215
|
end
|
216
216
|
end
|
217
217
|
|
@@ -220,7 +220,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
220
220
|
let(:expected) { [primary] }
|
221
221
|
|
222
222
|
it 'returns an array of the primary' do
|
223
|
-
expect(selector.send(:
|
223
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
224
224
|
end
|
225
225
|
end
|
226
226
|
|
@@ -229,7 +229,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
229
229
|
let(:expected) { [primary] }
|
230
230
|
|
231
231
|
it 'returns an array of the primary ' do
|
232
|
-
expect(selector.send(:
|
232
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
233
233
|
end
|
234
234
|
end
|
235
235
|
|
@@ -238,7 +238,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
238
238
|
let(:expected) { [primary] }
|
239
239
|
|
240
240
|
it 'returns an array of the primary' do
|
241
|
-
expect(selector.send(:
|
241
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
242
242
|
end
|
243
243
|
end
|
244
244
|
end
|
@@ -254,7 +254,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
254
254
|
let(:candidates) { [far_primary] }
|
255
255
|
|
256
256
|
it 'returns array with far primary' do
|
257
|
-
expect(selector.send(:
|
257
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([far_primary])
|
258
258
|
end
|
259
259
|
end
|
260
260
|
|
@@ -262,7 +262,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
262
262
|
let(:candidates) { [far_secondary] }
|
263
263
|
|
264
264
|
it 'returns array with far primary' do
|
265
|
-
expect(selector.send(:
|
265
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq([far_secondary])
|
266
266
|
end
|
267
267
|
|
268
268
|
end
|
@@ -277,7 +277,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
277
277
|
let(:expected) { [primary] }
|
278
278
|
|
279
279
|
it 'returns an array of the primary' do
|
280
|
-
expect(selector.send(:
|
280
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
281
281
|
end
|
282
282
|
end
|
283
283
|
|
@@ -286,7 +286,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
286
286
|
let(:expected) { [primary] }
|
287
287
|
|
288
288
|
it 'returns an array of the primary' do
|
289
|
-
expect(selector.send(:
|
289
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
290
290
|
end
|
291
291
|
end
|
292
292
|
|
@@ -295,7 +295,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
295
295
|
let(:expected) { [far_primary] }
|
296
296
|
|
297
297
|
it 'returns an array of the far primary' do
|
298
|
-
expect(selector.send(:
|
298
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
299
299
|
end
|
300
300
|
end
|
301
301
|
|
@@ -304,7 +304,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
304
304
|
let(:expected) { [far_primary] }
|
305
305
|
|
306
306
|
it 'returns an array of the far primary' do
|
307
|
-
expect(selector.send(:
|
307
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
308
308
|
end
|
309
309
|
end
|
310
310
|
|
@@ -315,7 +315,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
315
315
|
let(:expected) { [primary] }
|
316
316
|
|
317
317
|
it 'returns an array of the primary' do
|
318
|
-
expect(selector.send(:
|
318
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
319
319
|
end
|
320
320
|
end
|
321
321
|
|
@@ -324,7 +324,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
324
324
|
let(:expected) { [far_primary] }
|
325
325
|
|
326
326
|
it 'returns an array with primary' do
|
327
|
-
expect(selector.send(:
|
327
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
328
328
|
end
|
329
329
|
end
|
330
330
|
end
|
@@ -337,7 +337,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
337
337
|
let(:expected) { [secondary] }
|
338
338
|
|
339
339
|
it 'returns an array with the secondary' do
|
340
|
-
expect(selector.send(:
|
340
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
341
341
|
end
|
342
342
|
end
|
343
343
|
|
@@ -346,7 +346,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
346
346
|
let(:expected) { [secondary] }
|
347
347
|
|
348
348
|
it 'returns an array of the secondary' do
|
349
|
-
expect(selector.send(:
|
349
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
350
350
|
end
|
351
351
|
end
|
352
352
|
|
@@ -355,7 +355,7 @@ describe Mongo::ServerSelector::PrimaryPreferred do
|
|
355
355
|
let(:expected) { [secondary, secondary] }
|
356
356
|
|
357
357
|
it 'returns an array of the secondary' do
|
358
|
-
expect(selector.send(:
|
358
|
+
expect(selector.send(:select_in_replica_set, candidates)).to eq(expected)
|
359
359
|
end
|
360
360
|
end
|
361
361
|
end
|