mongo 2.1.0.beta → 2.2.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/README.md +10 -3
- data/Rakefile +1 -7
- data/lib/mongo/address/ipv4.rb +6 -1
- data/lib/mongo/address/unix.rb +2 -2
- data/lib/mongo/address.rb +32 -10
- data/lib/mongo/auth/cr/conversation.rb +1 -1
- data/lib/mongo/auth/ldap/conversation.rb +7 -3
- data/lib/mongo/auth/scram/conversation.rb +9 -3
- data/lib/mongo/auth/user/view.rb +23 -2
- data/lib/mongo/auth/x509/conversation.rb +1 -1
- data/lib/mongo/bulk_write/combineable.rb +51 -0
- data/lib/mongo/bulk_write/ordered_combiner.rb +55 -0
- data/lib/mongo/bulk_write/result.rb +61 -8
- data/lib/mongo/bulk_write/result_combiner.rb +117 -0
- data/lib/mongo/bulk_write/transformable.rb +132 -0
- data/lib/mongo/bulk_write/unordered_combiner.rb +52 -0
- data/lib/mongo/bulk_write/validatable.rb +62 -0
- data/lib/mongo/bulk_write.rb +164 -23
- data/lib/mongo/client.rb +75 -18
- data/lib/mongo/cluster/topology/replica_set.rb +8 -6
- data/lib/mongo/cluster/topology/unknown.rb +5 -2
- data/lib/mongo/cluster.rb +85 -5
- data/lib/mongo/collection/view/aggregation.rb +19 -45
- data/lib/mongo/collection/view/builder/aggregation.rb +98 -0
- data/lib/mongo/collection/view/builder/find_command.rb +111 -0
- data/lib/mongo/collection/view/builder/flags.rb +62 -0
- data/lib/mongo/collection/view/builder/map_reduce.rb +134 -0
- data/lib/mongo/collection/view/builder/modifiers.rb +80 -0
- data/lib/mongo/collection/view/builder/op_query.rb +83 -0
- data/lib/mongo/collection/view/builder.rb +20 -0
- data/lib/mongo/collection/view/explainable.rb +15 -0
- data/lib/mongo/collection/view/immutable.rb +4 -11
- data/lib/mongo/collection/view/iterable.rb +40 -5
- data/lib/mongo/collection/view/map_reduce.rb +67 -37
- data/lib/mongo/collection/view/readable.rb +114 -100
- data/lib/mongo/collection/view/writable.rb +46 -22
- data/lib/mongo/collection/view.rb +25 -22
- data/lib/mongo/collection.rb +130 -12
- data/lib/mongo/cursor/builder/get_more_command.rb +71 -0
- data/lib/mongo/cursor/builder/kill_cursors_command.rb +62 -0
- data/lib/mongo/cursor/builder/op_get_more.rb +61 -0
- data/lib/mongo/cursor/builder/op_kill_cursors.rb +56 -0
- data/lib/mongo/cursor/builder.rb +18 -0
- data/lib/mongo/cursor.rb +76 -21
- data/lib/mongo/database/view.rb +11 -6
- data/lib/mongo/database.rb +16 -6
- data/lib/mongo/dbref.rb +9 -9
- data/lib/mongo/{bulk_write/unordered_bulk_write.rb → error/closed_stream.rb} +12 -21
- data/lib/mongo/{bulk_write/ordered_bulk_write.rb → error/extra_file_chunk.rb} +13 -27
- data/lib/mongo/error/file_not_found.rb +37 -0
- data/lib/mongo/error/invalid_file.rb +2 -2
- data/lib/mongo/error/invalid_file_revision.rb +37 -0
- data/lib/mongo/error/invalid_uri.rb +5 -4
- data/lib/mongo/error/invalid_write_concern.rb +35 -0
- data/lib/mongo/error/missing_file_chunk.rb +38 -0
- data/lib/mongo/error/operation_failure.rb +33 -2
- data/lib/mongo/error/unchangeable_collection_option.rb +38 -0
- data/lib/mongo/error/unexpected_chunk_length.rb +39 -0
- data/lib/mongo/error.rb +8 -0
- data/lib/mongo/grid/file/chunk.rb +9 -9
- data/lib/mongo/grid/file/{metadata.rb → info.rb} +41 -39
- data/lib/mongo/grid/file.rb +12 -9
- data/lib/mongo/grid/fs_bucket.rb +448 -0
- data/lib/mongo/grid/stream/read.rb +208 -0
- data/lib/mongo/grid/stream/write.rb +187 -0
- data/lib/mongo/grid/stream.rb +64 -0
- data/lib/mongo/grid.rb +2 -1
- data/lib/mongo/index/view.rb +7 -4
- data/lib/mongo/index.rb +5 -0
- data/lib/mongo/loggable.rb +34 -57
- data/lib/mongo/logger.rb +16 -78
- data/lib/mongo/monitoring/command_log_subscriber.rb +38 -14
- data/lib/mongo/monitoring/event/command_started.rb +2 -1
- data/lib/mongo/monitoring/event/command_succeeded.rb +24 -2
- data/lib/mongo/monitoring/event/secure.rb +58 -0
- data/lib/mongo/monitoring/event.rb +1 -0
- data/lib/mongo/monitoring/publishable.rb +22 -12
- data/lib/mongo/monitoring.rb +1 -5
- data/lib/mongo/operation/commands/aggregate/result.rb +89 -0
- data/lib/mongo/operation/commands/aggregate.rb +64 -0
- data/lib/mongo/operation/commands/collections_info/result.rb +41 -0
- data/lib/mongo/operation/{read → commands}/collections_info.rb +5 -3
- data/lib/mongo/operation/commands/command.rb +47 -0
- data/lib/mongo/operation/commands/find/result.rb +62 -0
- data/lib/mongo/operation/commands/find.rb +27 -0
- data/lib/mongo/operation/commands/get_more/result.rb +62 -0
- data/lib/mongo/operation/commands/get_more.rb +27 -0
- data/lib/mongo/operation/{read → commands}/indexes.rb +9 -6
- data/lib/mongo/operation/{list_collections → commands/list_collections}/result.rb +1 -21
- data/lib/mongo/operation/{read → commands}/list_collections.rb +4 -32
- data/lib/mongo/operation/{list_indexes → commands/list_indexes}/result.rb +1 -21
- data/lib/mongo/operation/{read → commands}/list_indexes.rb +3 -33
- data/lib/mongo/operation/commands/map_reduce/result.rb +119 -0
- data/lib/mongo/operation/commands/map_reduce.rb +49 -0
- data/lib/mongo/operation/commands/parallel_scan/result.rb +64 -0
- data/lib/mongo/operation/commands/parallel_scan.rb +52 -0
- data/lib/mongo/operation/commands/user_query.rb +71 -0
- data/lib/mongo/operation/commands/users_info/result.rb +38 -0
- data/lib/mongo/operation/commands/users_info.rb +48 -0
- data/lib/mongo/operation/commands.rb +26 -0
- data/lib/mongo/operation/executable.rb +4 -68
- data/lib/mongo/operation/kill_cursors.rb +3 -3
- data/lib/mongo/operation/object_id_generator.rb +36 -0
- data/lib/mongo/operation/read/get_more.rb +2 -22
- data/lib/mongo/operation/read/query/result.rb +40 -0
- data/lib/mongo/operation/read/query.rb +4 -21
- data/lib/mongo/operation/read.rb +0 -4
- data/lib/mongo/operation/{read_preferrable.rb → read_preference.rb} +3 -2
- data/lib/mongo/operation/result.rb +43 -1
- data/lib/mongo/operation/specifiable.rb +59 -1
- data/lib/mongo/operation/write/bulk/bulkable.rb +83 -0
- data/lib/mongo/operation/write/bulk/delete/result.rb +67 -0
- data/lib/mongo/operation/write/bulk/delete.rb +71 -0
- data/lib/mongo/operation/write/bulk/insert/result.rb +129 -0
- data/lib/mongo/operation/write/bulk/insert.rb +96 -0
- data/lib/mongo/operation/write/bulk/legacy_mergable.rb +87 -0
- data/lib/mongo/operation/write/bulk/mergable.rb +71 -0
- data/lib/mongo/operation/write/bulk/update/result.rb +174 -0
- data/lib/mongo/operation/write/bulk/update.rb +81 -0
- data/lib/mongo/operation/write/bulk.rb +6 -3
- data/lib/mongo/operation/write/command/create_index.rb +0 -1
- data/lib/mongo/operation/write/command/create_user.rb +0 -1
- data/lib/mongo/operation/write/command/delete.rb +3 -3
- data/lib/mongo/operation/write/command/drop_index.rb +0 -1
- data/lib/mongo/operation/write/command/insert.rb +4 -3
- data/lib/mongo/operation/write/command/remove_user.rb +0 -1
- data/lib/mongo/operation/write/command/update.rb +6 -4
- data/lib/mongo/operation/write/command/update_user.rb +0 -1
- data/lib/mongo/operation/write/command/writable.rb +13 -18
- data/lib/mongo/operation/write/create_index.rb +4 -27
- data/lib/mongo/operation/write/create_user.rb +4 -30
- data/lib/mongo/operation/write/delete.rb +6 -29
- data/lib/mongo/operation/write/drop_index.rb +3 -3
- data/lib/mongo/operation/write/gle.rb +49 -0
- data/lib/mongo/operation/write/idable.rb +24 -2
- data/lib/mongo/operation/write/insert.rb +2 -24
- data/lib/mongo/operation/write/remove_user.rb +4 -27
- data/lib/mongo/operation/write/update.rb +13 -36
- data/lib/mongo/operation/write/update_user.rb +4 -30
- data/lib/mongo/operation/write/write_command_enabled.rb +53 -0
- data/lib/mongo/operation/write.rb +2 -0
- data/lib/mongo/operation.rb +33 -5
- data/lib/mongo/options/mapper.rb +26 -2
- data/lib/mongo/options/redacted.rb +156 -0
- data/lib/mongo/options.rb +1 -0
- data/lib/mongo/protocol/bit_vector.rb +11 -9
- data/lib/mongo/protocol/delete.rb +78 -3
- data/lib/mongo/protocol/get_more.rb +59 -2
- data/lib/mongo/protocol/insert.rb +73 -1
- data/lib/mongo/protocol/kill_cursors.rb +66 -4
- data/lib/mongo/protocol/message.rb +44 -20
- data/lib/mongo/protocol/query.rb +153 -65
- data/lib/mongo/protocol/reply.rb +92 -1
- data/lib/mongo/protocol/serializers.rb +49 -40
- data/lib/mongo/protocol/update.rb +93 -1
- data/lib/mongo/retryable.rb +101 -0
- data/lib/mongo/server/connectable.rb +28 -8
- data/lib/mongo/server/connection.rb +52 -10
- data/lib/mongo/server/connection_pool/queue.rb +15 -0
- data/lib/mongo/server/connection_pool.rb +12 -15
- data/lib/mongo/server/description/features.rb +4 -2
- data/lib/mongo/server/description.rb +39 -3
- data/lib/mongo/server/monitor/connection.rb +49 -28
- data/lib/mongo/server/monitor.rb +3 -14
- data/lib/mongo/server.rb +31 -4
- data/lib/mongo/server_selector/selectable.rb +58 -32
- data/lib/mongo/server_selector.rb +19 -10
- data/lib/mongo/socket/ssl.rb +4 -1
- data/lib/mongo/socket/tcp.rb +2 -2
- data/lib/mongo/socket/unix.rb +5 -8
- data/lib/mongo/socket.rb +11 -4
- data/lib/mongo/uri.rb +245 -139
- data/lib/mongo/version.rb +1 -1
- data/lib/mongo/write_concern.rb +21 -6
- data/lib/mongo.rb +4 -4
- data/mongo.gemspec +1 -2
- data/spec/mongo/address/unix_spec.rb +1 -1
- data/spec/mongo/address_spec.rb +25 -0
- data/spec/mongo/auth/ldap/conversation_spec.rb +43 -0
- data/spec/mongo/auth/user/view_spec.rb +26 -1
- data/spec/mongo/bulk_write/ordered_combiner_spec.rb +284 -0
- data/spec/mongo/bulk_write/unordered_combiner_spec.rb +239 -0
- data/spec/mongo/bulk_write_spec.rb +385 -161
- data/spec/mongo/client_spec.rb +193 -23
- data/spec/mongo/cluster/topology/replica_set_spec.rb +2 -0
- data/spec/mongo/collection/view/aggregation_spec.rb +65 -0
- data/spec/mongo/collection/view/builder/find_command_spec.rb +167 -0
- data/spec/mongo/collection/view/builder/flags_spec.rb +106 -0
- data/spec/mongo/collection/view/builder/modifiers_spec.rb +210 -0
- data/spec/mongo/collection/view/builder/op_query_spec.rb +154 -0
- data/spec/mongo/collection/view/explainable_spec.rb +1 -2
- data/spec/mongo/collection/view/immutable_spec.rb +54 -0
- data/spec/mongo/collection/view/map_reduce_spec.rb +104 -9
- data/spec/mongo/collection/view/readable_spec.rb +109 -112
- data/spec/mongo/collection/view_spec.rb +119 -487
- data/spec/mongo/collection_spec.rb +1002 -33
- data/spec/mongo/command_monitoring_spec.rb +64 -0
- data/spec/mongo/connection_string_spec.rb +115 -0
- data/spec/mongo/cursor/builder/get_more_command_spec.rb +160 -0
- data/spec/mongo/cursor/builder/op_get_more_spec.rb +52 -0
- data/spec/mongo/cursor_spec.rb +10 -60
- data/spec/mongo/database_spec.rb +81 -12
- data/spec/mongo/dbref_spec.rb +4 -4
- data/spec/mongo/grid/file/chunk_spec.rb +6 -6
- data/spec/mongo/grid/file/{metadata_spec.rb → info_spec.rb} +29 -17
- data/spec/mongo/grid/file_spec.rb +8 -8
- data/spec/mongo/grid/fs_bucket_spec.rb +1020 -0
- data/spec/mongo/grid/stream/read_spec.rb +275 -0
- data/spec/mongo/grid/stream/write_spec.rb +440 -0
- data/spec/mongo/grid/stream_spec.rb +48 -0
- data/spec/mongo/gridfs_spec.rb +50 -0
- data/spec/mongo/index/view_spec.rb +41 -0
- data/spec/mongo/logger_spec.rb +0 -40
- data/spec/mongo/monitoring/command_log_subscriber_spec.rb +76 -0
- data/spec/mongo/monitoring/event/command_started_spec.rb +26 -0
- data/spec/mongo/monitoring/event/command_succeeded_spec.rb +26 -0
- data/spec/mongo/monitoring/event/secure_spec.rb +57 -0
- data/spec/mongo/operation/{aggregate → commands/aggregate}/result_spec.rb +1 -1
- data/spec/mongo/operation/commands/aggregate_spec.rb +69 -0
- data/spec/mongo/operation/{read → commands}/collections_info_spec.rb +1 -1
- data/spec/mongo/operation/{command_spec.rb → commands/command_spec.rb} +1 -19
- data/spec/mongo/operation/{read → commands}/indexes_spec.rb +1 -1
- data/spec/mongo/operation/{map_reduce_spec.rb → commands/map_reduce_spec.rb} +1 -19
- data/spec/mongo/operation/kill_cursors_spec.rb +1 -17
- data/spec/mongo/operation/read/get_more_spec.rb +0 -16
- data/spec/mongo/operation/read/query_spec.rb +19 -16
- data/spec/mongo/operation/{read_preferrable_spec.rb → read_preference_spec.rb} +11 -11
- data/spec/mongo/operation/result_spec.rb +19 -0
- data/spec/mongo/operation/write/bulk/{bulk_delete_spec.rb → delete_spec.rb} +17 -28
- data/spec/mongo/operation/write/bulk/{bulk_insert_spec.rb → insert_spec.rb} +1 -12
- data/spec/mongo/operation/write/bulk/{bulk_update_spec.rb → update_spec.rb} +7 -18
- data/spec/mongo/operation/write/command/delete_spec.rb +18 -9
- data/spec/mongo/operation/write/command/insert_spec.rb +18 -9
- data/spec/mongo/operation/write/command/update_spec.rb +18 -9
- data/spec/mongo/operation/write/delete_spec.rb +3 -3
- data/spec/mongo/operation/write/insert_spec.rb +0 -11
- data/spec/mongo/operation/write/update_spec.rb +6 -6
- data/spec/mongo/options/redacted_spec.rb +350 -0
- data/spec/mongo/protocol/delete_spec.rb +4 -4
- data/spec/mongo/protocol/get_more_spec.rb +4 -4
- data/spec/mongo/protocol/insert_spec.rb +3 -3
- data/spec/mongo/protocol/kill_cursors_spec.rb +8 -6
- data/spec/mongo/protocol/query_spec.rb +21 -7
- data/spec/mongo/protocol/update_spec.rb +5 -5
- data/spec/mongo/retryable_spec.rb +221 -0
- data/spec/mongo/server/connection_pool/queue_spec.rb +16 -0
- data/spec/mongo/server/connection_pool_spec.rb +42 -6
- data/spec/mongo/server/connection_spec.rb +86 -1
- data/spec/mongo/server/description/features_spec.rb +25 -0
- data/spec/mongo/server/description_spec.rb +42 -0
- data/spec/mongo/server/monitor_spec.rb +44 -0
- data/spec/mongo/server_discovery_and_monitoring_spec.rb +25 -59
- data/spec/mongo/server_selection_rtt_spec.rb +37 -57
- data/spec/mongo/server_selection_spec.rb +5 -3
- data/spec/mongo/server_selector/nearest_spec.rb +35 -27
- data/spec/mongo/server_selector/primary_preferred_spec.rb +32 -30
- data/spec/mongo/server_selector/primary_spec.rb +21 -14
- data/spec/mongo/server_selector/secondary_preferred_spec.rb +28 -26
- data/spec/mongo/server_selector/secondary_spec.rb +24 -22
- data/spec/mongo/server_selector_spec.rb +87 -24
- data/spec/mongo/server_spec.rb +78 -15
- data/spec/mongo/socket/ssl_spec.rb +101 -57
- data/spec/mongo/socket/unix_spec.rb +52 -0
- data/spec/mongo/uri_spec.rb +271 -59
- data/spec/mongo/write_concern_spec.rb +126 -0
- data/spec/spec_helper.rb +29 -23
- data/spec/support/authorization.rb +4 -5
- data/spec/support/command_monitoring/bulkWrite.yml +73 -0
- data/spec/support/command_monitoring/command.yml +42 -0
- data/spec/support/command_monitoring/deleteMany.yml +55 -0
- data/spec/support/command_monitoring/deleteOne.yml +55 -0
- data/spec/support/command_monitoring/find.yml +268 -0
- data/spec/support/command_monitoring/insertMany.yml +81 -0
- data/spec/support/command_monitoring/insertOne.yml +51 -0
- data/spec/support/command_monitoring/updateMany.yml +67 -0
- data/spec/support/command_monitoring/updateOne.yml +95 -0
- data/spec/support/command_monitoring.rb +373 -0
- data/spec/support/connection_string.rb +228 -0
- data/spec/support/connection_string_tests/invalid-uris.yml +193 -0
- data/spec/support/connection_string_tests/valid-auth.yml +256 -0
- data/spec/support/connection_string_tests/valid-host_identifiers.yml +121 -0
- data/spec/support/connection_string_tests/valid-options.yml +30 -0
- data/spec/support/connection_string_tests/valid-unix_socket-absolute.yml +197 -0
- data/spec/support/connection_string_tests/valid-unix_socket-relative.yml +213 -0
- data/spec/support/connection_string_tests/valid-warnings.yml +55 -0
- data/spec/support/crud/read.rb +14 -10
- data/spec/support/crud/write.rb +36 -9
- data/spec/support/crud.rb +10 -2
- data/spec/support/gridfs.rb +637 -0
- data/spec/support/gridfs_tests/delete.yml +157 -0
- data/spec/support/gridfs_tests/download.yml +210 -0
- data/spec/support/gridfs_tests/download_by_name.yml +113 -0
- data/spec/support/gridfs_tests/upload.yml +158 -0
- data/spec/support/matchers.rb +2 -2
- data/spec/support/sdam/rs/equal_electionids.yml +1 -2
- data/spec/support/sdam/rs/new_primary_new_electionid.yml +0 -3
- data/spec/support/sdam/rs/primary_mismatched_me.yml +37 -0
- data/spec/support/sdam/rs/primary_to_no_primary_mismatched_me.yml +75 -0
- data/spec/support/sdam/rs/rsother_discovered.yml +24 -3
- data/spec/support/sdam/rs/secondary_mismatched_me.yml +37 -0
- data/spec/support/sdam/rs/stepdown_change_set_name.yml +59 -0
- data/spec/support/sdam/single/direct_connection_rsarbiter.yml +1 -1
- data/spec/support/sdam/single/direct_connection_rsprimary.yml +1 -1
- data/spec/support/sdam/single/direct_connection_rssecondary.yml +1 -1
- data/spec/support/sdam/single/direct_connection_slave.yml +1 -1
- data/spec/support/sdam/single/direct_connection_standalone.yml +1 -1
- data/spec/support/sdam/single/not_ok_response.yml +0 -1
- data/spec/support/server_discovery_and_monitoring.rb +3 -1
- data/spec/support/server_selection.rb +3 -1
- data/spec/support/shared/bulk_write.rb +192 -0
- data/spec/support/shared/protocol.rb +5 -5
- data/spec/support/shared/server_selector.rb +78 -13
- data/spec/support/travis.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +211 -72
- metadata.gz.sig +0 -0
- data/lib/mongo/bulk_write/bulk_writable.rb +0 -252
- data/lib/mongo/bulk_write/deletable.rb +0 -57
- data/lib/mongo/bulk_write/insertable.rb +0 -49
- data/lib/mongo/bulk_write/replacable.rb +0 -58
- data/lib/mongo/bulk_write/updatable.rb +0 -69
- data/lib/mongo/grid/fs.rb +0 -146
- data/lib/mongo/operation/aggregate/result.rb +0 -103
- data/lib/mongo/operation/aggregate.rb +0 -108
- data/lib/mongo/operation/command.rb +0 -61
- data/lib/mongo/operation/map_reduce/result.rb +0 -122
- data/lib/mongo/operation/map_reduce.rb +0 -95
- data/lib/mongo/operation/parallel_scan/result.rb +0 -72
- data/lib/mongo/operation/parallel_scan.rb +0 -76
- data/lib/mongo/operation/write/bulk/bulk_delete/result.rb +0 -75
- data/lib/mongo/operation/write/bulk/bulk_delete.rb +0 -145
- data/lib/mongo/operation/write/bulk/bulk_insert/result.rb +0 -130
- data/lib/mongo/operation/write/bulk/bulk_insert.rb +0 -132
- data/lib/mongo/operation/write/bulk/bulk_mergable.rb +0 -67
- data/lib/mongo/operation/write/bulk/bulk_update/result.rb +0 -174
- data/lib/mongo/operation/write/bulk/bulk_update.rb +0 -154
- data/lib/mongo/operation/write/bulk/legacy_bulk_mergable.rb +0 -83
- data/spec/mongo/grid/fs_spec.rb +0 -160
- data/spec/mongo/loggable_spec.rb +0 -63
- data/spec/mongo/operation/aggregate_spec.rb +0 -127
data/spec/mongo/uri_spec.rb
CHANGED
@@ -4,6 +4,217 @@ describe Mongo::URI do
|
|
4
4
|
let(:scheme) { 'mongodb://' }
|
5
5
|
let(:uri) { described_class.new(string) }
|
6
6
|
|
7
|
+
describe 'invalid uris' do
|
8
|
+
|
9
|
+
context 'string is not uri' do
|
10
|
+
|
11
|
+
let(:string) { 'tyler' }
|
12
|
+
|
13
|
+
it 'raises an error' do
|
14
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'empty string' do
|
19
|
+
|
20
|
+
let(:string) { '' }
|
21
|
+
|
22
|
+
it 'raises an error' do
|
23
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'mongo://localhost:27017' do
|
28
|
+
|
29
|
+
let(:string) { 'mongo://localhost:27017' }
|
30
|
+
|
31
|
+
it 'raises an error' do
|
32
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'mongodb://' do
|
37
|
+
|
38
|
+
let(:string) { 'mongodb://' }
|
39
|
+
|
40
|
+
it 'raises an error' do
|
41
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'mongodb://localhost::27017' do
|
46
|
+
|
47
|
+
let(:string) { 'mongodb://localhost::27017' }
|
48
|
+
|
49
|
+
it 'raises an error' do
|
50
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context 'mongodb://localhost::27017/' do
|
55
|
+
|
56
|
+
let(:string) { 'mongodb://localhost::27017/' }
|
57
|
+
|
58
|
+
it 'raises an error' do
|
59
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'mongodb://::' do
|
64
|
+
|
65
|
+
let(:string) { 'mongodb://::' }
|
66
|
+
|
67
|
+
it 'raises an error' do
|
68
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context 'mongodb://localhost,localhost::' do
|
73
|
+
|
74
|
+
let(:string) { 'mongodb://localhost,localhost::' }
|
75
|
+
|
76
|
+
it 'raises an error' do
|
77
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
context 'mongodb://localhost::27017,abc' do
|
82
|
+
|
83
|
+
let(:string) { 'mongodb://localhost::27017,abc' }
|
84
|
+
|
85
|
+
it 'raises an error' do
|
86
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context 'mongodb://localhost:-1' do
|
91
|
+
|
92
|
+
let(:string) { 'mongodb://localhost:-1' }
|
93
|
+
|
94
|
+
it 'raises an error' do
|
95
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
context 'mongodb://localhost:0/' do
|
100
|
+
|
101
|
+
let(:string) { 'mongodb://localhost:0/' }
|
102
|
+
|
103
|
+
it 'raises an error' do
|
104
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
context 'mongodb://localhost:65536' do
|
109
|
+
|
110
|
+
let(:string) { 'mongodb://localhost:65536' }
|
111
|
+
|
112
|
+
it 'raises an error' do
|
113
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
context 'mongodb://localhost:foo' do
|
118
|
+
|
119
|
+
let(:string) { 'mongodb://localhost:foo' }
|
120
|
+
|
121
|
+
it 'raises an error' do
|
122
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
context 'mongodb://[::1]:-1' do
|
127
|
+
|
128
|
+
let(:string) { 'mongodb://[::1]:-1' }
|
129
|
+
|
130
|
+
it 'raises an error' do
|
131
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
context 'mongodb://[::1]:0/' do
|
136
|
+
|
137
|
+
let(:string) { 'mongodb://[::1]:0/' }
|
138
|
+
|
139
|
+
it 'raises an error' do
|
140
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
context 'mongodb://[::1]:65536' do
|
145
|
+
|
146
|
+
let(:string) { 'mongodb://[::1]:65536' }
|
147
|
+
|
148
|
+
it 'raises an error' do
|
149
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
context 'mongodb://[::1]:65536/' do
|
154
|
+
|
155
|
+
let(:string) { 'mongodb://[::1]:65536/' }
|
156
|
+
|
157
|
+
it 'raises an error' do
|
158
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
context 'mongodb://[::1]:foo' do
|
163
|
+
|
164
|
+
let(:string) { 'mongodb://[::1]:foo' }
|
165
|
+
|
166
|
+
it 'raises an error' do
|
167
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
context 'mongodb://example.com?w=1' do
|
172
|
+
|
173
|
+
let(:string) { 'mongodb://example.com?w=1' }
|
174
|
+
|
175
|
+
it 'raises an error' do
|
176
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
context 'mongodb://example.com/?w' do
|
181
|
+
|
182
|
+
let(:string) { 'mongodb://example.com/?w' }
|
183
|
+
|
184
|
+
it 'raises an error' do
|
185
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
context 'mongodb://alice:foo:bar@127.0.0.1' do
|
190
|
+
|
191
|
+
let(:string) { 'mongodb://alice:foo:bar@127.0.0.1' }
|
192
|
+
|
193
|
+
it 'raises an error' do
|
194
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
context 'mongodb://alice@@127.0.0.1' do
|
199
|
+
|
200
|
+
let(:string) { 'mongodb://alice@@127.0.0.1' }
|
201
|
+
|
202
|
+
it 'raises an error' do
|
203
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
context 'mongodb://alice@foo:bar@127.0.0.1' do
|
208
|
+
|
209
|
+
let(:string) { 'mongodb://alice@foo:bar@127.0.0.1' }
|
210
|
+
|
211
|
+
it 'raises an error' do
|
212
|
+
expect { uri }.to raise_error(Mongo::Error::InvalidURI)
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
end
|
217
|
+
|
7
218
|
describe '#initialize' do
|
8
219
|
context 'string is not uri' do
|
9
220
|
let(:string) { 'tyler' }
|
@@ -49,7 +260,7 @@ describe Mongo::URI do
|
|
49
260
|
end
|
50
261
|
|
51
262
|
context 'unix socket server' do
|
52
|
-
let(:servers) { '
|
263
|
+
let(:servers) { '%2Ftmp%2Fmongodb-27017.sock' }
|
53
264
|
|
54
265
|
it 'returns an array with the parsed server' do
|
55
266
|
expect(uri.servers).to eq([servers])
|
@@ -138,7 +349,7 @@ describe Mongo::URI do
|
|
138
349
|
end
|
139
350
|
end
|
140
351
|
|
141
|
-
describe '#
|
352
|
+
describe '#uri_options' do
|
142
353
|
let(:servers) { 'localhost' }
|
143
354
|
let(:string) { "#{scheme}#{servers}/?#{options}" }
|
144
355
|
|
@@ -146,7 +357,7 @@ describe Mongo::URI do
|
|
146
357
|
let(:string) { "#{scheme}#{servers}" }
|
147
358
|
|
148
359
|
it 'returns an empty hash' do
|
149
|
-
expect(uri.
|
360
|
+
expect(uri.uri_options).to be_empty
|
150
361
|
end
|
151
362
|
end
|
152
363
|
|
@@ -154,47 +365,47 @@ describe Mongo::URI do
|
|
154
365
|
|
155
366
|
context 'numerical w value' do
|
156
367
|
let(:options) { 'w=1' }
|
157
|
-
let(:concern) {
|
368
|
+
let(:concern) { Mongo::Options::Redacted.new(:w => 1)}
|
158
369
|
|
159
370
|
it 'sets the write concern options' do
|
160
|
-
expect(uri.
|
371
|
+
expect(uri.uri_options[:write]).to eq(concern)
|
161
372
|
end
|
162
373
|
end
|
163
374
|
|
164
375
|
context 'w=majority' do
|
165
376
|
let(:options) { 'w=majority' }
|
166
|
-
let(:concern) {
|
377
|
+
let(:concern) { Mongo::Options::Redacted.new(:w => :majority) }
|
167
378
|
|
168
379
|
it 'sets the write concern options' do
|
169
|
-
expect(uri.
|
380
|
+
expect(uri.uri_options[:write]).to eq(concern)
|
170
381
|
end
|
171
382
|
end
|
172
383
|
|
173
384
|
context 'journal' do
|
174
385
|
let(:options) { 'journal=true' }
|
175
|
-
let(:concern) {
|
386
|
+
let(:concern) { Mongo::Options::Redacted.new(:j => true) }
|
176
387
|
|
177
388
|
it 'sets the write concern options' do
|
178
|
-
expect(uri.
|
389
|
+
expect(uri.uri_options[:write]).to eq(concern)
|
179
390
|
end
|
180
391
|
end
|
181
392
|
|
182
393
|
context 'fsync' do
|
183
394
|
let(:options) { 'fsync=true' }
|
184
|
-
let(:concern) {
|
395
|
+
let(:concern) { Mongo::Options::Redacted.new(:fsync => true) }
|
185
396
|
|
186
397
|
it 'sets the write concern options' do
|
187
|
-
expect(uri.
|
398
|
+
expect(uri.uri_options[:write]).to eq(concern)
|
188
399
|
end
|
189
400
|
end
|
190
401
|
|
191
402
|
context 'wtimeoutMS' do
|
192
403
|
let(:timeout) { 1234 }
|
193
404
|
let(:options) { "w=2&wtimeoutMS=#{timeout}" }
|
194
|
-
let(:concern) {
|
405
|
+
let(:concern) { Mongo::Options::Redacted.new(:w => 2, :timeout => timeout) }
|
195
406
|
|
196
407
|
it 'sets the write concern options' do
|
197
|
-
expect(uri.
|
408
|
+
expect(uri.uri_options[:write]).to eq(concern)
|
198
409
|
end
|
199
410
|
end
|
200
411
|
end
|
@@ -204,46 +415,46 @@ describe Mongo::URI do
|
|
204
415
|
|
205
416
|
context 'primary' do
|
206
417
|
let(:mode) { 'primary' }
|
207
|
-
let(:read) {
|
418
|
+
let(:read) { Mongo::Options::Redacted.new(:mode => :primary) }
|
208
419
|
|
209
420
|
it 'sets the read preference' do
|
210
|
-
expect(uri.
|
421
|
+
expect(uri.uri_options[:read]).to eq(read)
|
211
422
|
end
|
212
423
|
end
|
213
424
|
|
214
425
|
context 'primaryPreferred' do
|
215
426
|
let(:mode) { 'primaryPreferred' }
|
216
|
-
let(:read) {
|
427
|
+
let(:read) { Mongo::Options::Redacted.new(:mode => :primary_preferred) }
|
217
428
|
|
218
429
|
it 'sets the read preference' do
|
219
|
-
expect(uri.
|
430
|
+
expect(uri.uri_options[:read]).to eq(read)
|
220
431
|
end
|
221
432
|
end
|
222
433
|
|
223
434
|
context 'secondary' do
|
224
435
|
let(:mode) { 'secondary' }
|
225
|
-
let(:read) {
|
436
|
+
let(:read) { Mongo::Options::Redacted.new(:mode => :secondary) }
|
226
437
|
|
227
438
|
it 'sets the read preference' do
|
228
|
-
expect(uri.
|
439
|
+
expect(uri.uri_options[:read]).to eq(read)
|
229
440
|
end
|
230
441
|
end
|
231
442
|
|
232
443
|
context 'secondaryPreferred' do
|
233
444
|
let(:mode) { 'secondaryPreferred' }
|
234
|
-
let(:read) {
|
445
|
+
let(:read) { Mongo::Options::Redacted.new(:mode => :secondary_preferred) }
|
235
446
|
|
236
447
|
it 'sets the read preference' do
|
237
|
-
expect(uri.
|
448
|
+
expect(uri.uri_options[:read]).to eq(read)
|
238
449
|
end
|
239
450
|
end
|
240
451
|
|
241
452
|
context 'nearest' do
|
242
453
|
let(:mode) { 'nearest' }
|
243
|
-
let(:read) {
|
454
|
+
let(:read) { Mongo::Options::Redacted.new(:mode => :nearest) }
|
244
455
|
|
245
456
|
it 'sets the read preference' do
|
246
|
-
expect(uri.
|
457
|
+
expect(uri.uri_options[:read]).to eq(read)
|
247
458
|
end
|
248
459
|
end
|
249
460
|
end
|
@@ -256,11 +467,11 @@ describe Mongo::URI do
|
|
256
467
|
end
|
257
468
|
|
258
469
|
let(:read) do
|
259
|
-
|
470
|
+
Mongo::Options::Redacted.new(:tag_sets => [{ 'dc' => 'ny', 'rack' => '1' }])
|
260
471
|
end
|
261
472
|
|
262
473
|
it 'sets the read preference tag set' do
|
263
|
-
expect(uri.
|
474
|
+
expect(uri.uri_options[:read]).to eq(read)
|
264
475
|
end
|
265
476
|
end
|
266
477
|
|
@@ -270,11 +481,11 @@ describe Mongo::URI do
|
|
270
481
|
end
|
271
482
|
|
272
483
|
let(:read) do
|
273
|
-
|
484
|
+
Mongo::Options::Redacted.new(:tag_sets => [{ 'dc' => 'ny' }, { 'dc' => 'bos' }])
|
274
485
|
end
|
275
486
|
|
276
487
|
it 'sets the read preference tag sets' do
|
277
|
-
expect(uri.
|
488
|
+
expect(uri.uri_options[:read]).to eq(read)
|
278
489
|
end
|
279
490
|
end
|
280
491
|
end
|
@@ -284,7 +495,7 @@ describe Mongo::URI do
|
|
284
495
|
let(:options) { "replicaSet=#{rs_name}" }
|
285
496
|
|
286
497
|
it 'sets the replica set option' do
|
287
|
-
expect(uri.
|
498
|
+
expect(uri.uri_options[:replica_set]).to eq(rs_name)
|
288
499
|
end
|
289
500
|
end
|
290
501
|
|
@@ -293,28 +504,29 @@ describe Mongo::URI do
|
|
293
504
|
|
294
505
|
context 'plain' do
|
295
506
|
let(:mechanism) { 'PLAIN' }
|
296
|
-
let(:
|
507
|
+
let(:expected) { :plain }
|
297
508
|
|
298
509
|
it 'sets the auth mechanism to :plain' do
|
299
|
-
expect(uri.
|
510
|
+
expect(uri.uri_options[:auth_mech]).to eq(expected)
|
300
511
|
end
|
301
512
|
end
|
302
513
|
|
303
514
|
context 'mongodb-cr' do
|
304
515
|
let(:mechanism) { 'MONGODB-CR' }
|
305
|
-
let(:
|
516
|
+
let(:expected) { :mongodb_cr }
|
306
517
|
|
307
518
|
it 'sets the auth mechanism to :mongodb_cr' do
|
308
|
-
expect(uri.
|
519
|
+
expect(uri.uri_options[:auth_mech]).to eq(expected)
|
309
520
|
end
|
310
521
|
end
|
311
522
|
|
312
523
|
context 'gssapi' do
|
313
524
|
let(:mechanism) { 'GSSAPI' }
|
314
|
-
let(:
|
525
|
+
let(:expected) { :gssapi }
|
526
|
+
|
315
527
|
|
316
528
|
it 'sets the auth mechanism to :gssapi' do
|
317
|
-
expect(uri.
|
529
|
+
expect(uri.uri_options[:auth_mech]).to eq(expected)
|
318
530
|
end
|
319
531
|
end
|
320
532
|
end
|
@@ -324,19 +536,19 @@ describe Mongo::URI do
|
|
324
536
|
|
325
537
|
context 'regular db' do
|
326
538
|
let(:source) { 'foo' }
|
327
|
-
let(:auth) {
|
539
|
+
let(:auth) { Mongo::Options::Redacted.new(:source => 'foo') }
|
328
540
|
|
329
541
|
it 'sets the auth source to the database' do
|
330
|
-
expect(uri.
|
542
|
+
expect(uri.uri_options[:auth]).to eq(auth)
|
331
543
|
end
|
332
544
|
end
|
333
545
|
|
334
546
|
context '$external' do
|
335
547
|
let(:source) { '$external' }
|
336
|
-
let(:auth) {
|
548
|
+
let(:auth) { Mongo::Options::Redacted.new(:source => :external) }
|
337
549
|
|
338
550
|
it 'sets the auth source to :external' do
|
339
|
-
expect(uri.
|
551
|
+
expect(uri.uri_options[:auth]).to eq(auth)
|
340
552
|
end
|
341
553
|
end
|
342
554
|
end
|
@@ -350,11 +562,11 @@ describe Mongo::URI do
|
|
350
562
|
|
351
563
|
let(:service_name) { 'foo' }
|
352
564
|
let(:auth) do
|
353
|
-
|
565
|
+
Mongo::Options::Redacted.new(auth_mech_properties: { service_name: service_name })
|
354
566
|
end
|
355
567
|
|
356
568
|
it 'sets the auth mechanism properties' do
|
357
|
-
expect(uri.
|
569
|
+
expect(uri.uri_options[:auth]).to eq(auth)
|
358
570
|
end
|
359
571
|
end
|
360
572
|
|
@@ -365,11 +577,11 @@ describe Mongo::URI do
|
|
365
577
|
|
366
578
|
let(:canonicalize_host_name) { 'true' }
|
367
579
|
let(:auth) do
|
368
|
-
|
580
|
+
Mongo::Options::Redacted.new(auth_mech_properties: { canonicalize_host_name: true })
|
369
581
|
end
|
370
582
|
|
371
583
|
it 'sets the auth mechanism properties' do
|
372
|
-
expect(uri.
|
584
|
+
expect(uri.uri_options[:auth]).to eq(auth)
|
373
585
|
end
|
374
586
|
end
|
375
587
|
|
@@ -380,11 +592,11 @@ describe Mongo::URI do
|
|
380
592
|
|
381
593
|
let(:service_realm) { 'dumdum' }
|
382
594
|
let(:auth) do
|
383
|
-
|
595
|
+
Mongo::Options::Redacted.new(auth_mech_properties: { service_realm: service_realm })
|
384
596
|
end
|
385
597
|
|
386
598
|
it 'sets the auth mechanism properties' do
|
387
|
-
expect(uri.
|
599
|
+
expect(uri.uri_options[:auth]).to eq(auth)
|
388
600
|
end
|
389
601
|
end
|
390
602
|
|
@@ -400,13 +612,13 @@ describe Mongo::URI do
|
|
400
612
|
let(:service_realm) { 'dumdum' }
|
401
613
|
|
402
614
|
let(:auth) do
|
403
|
-
|
404
|
-
|
405
|
-
|
615
|
+
Mongo::Options::Redacted.new(auth_mech_properties: { service_name: service_name,
|
616
|
+
canonicalize_host_name: true,
|
617
|
+
service_realm: service_realm })
|
406
618
|
end
|
407
619
|
|
408
620
|
it 'sets the auth mechanism properties' do
|
409
|
-
expect(uri.
|
621
|
+
expect(uri.uri_options[:auth]).to eq(auth)
|
410
622
|
end
|
411
623
|
end
|
412
624
|
end
|
@@ -415,7 +627,7 @@ describe Mongo::URI do
|
|
415
627
|
let(:options) { "connectTimeoutMS=4567" }
|
416
628
|
|
417
629
|
it 'sets the the connect timeout' do
|
418
|
-
expect(uri.
|
630
|
+
expect(uri.uri_options[:connect_timeout]).to eq(4.567)
|
419
631
|
end
|
420
632
|
end
|
421
633
|
|
@@ -423,7 +635,7 @@ describe Mongo::URI do
|
|
423
635
|
let(:options) { "socketTimeoutMS=8910" }
|
424
636
|
|
425
637
|
it 'sets the socket timeout' do
|
426
|
-
expect(uri.
|
638
|
+
expect(uri.uri_options[:socket_timeout]).to eq(8.910)
|
427
639
|
end
|
428
640
|
end
|
429
641
|
|
@@ -432,7 +644,7 @@ describe Mongo::URI do
|
|
432
644
|
let(:options) { "serverSelectionTimeoutMS=3561" }
|
433
645
|
|
434
646
|
it 'sets the the connect timeout' do
|
435
|
-
expect(uri.
|
647
|
+
expect(uri.uri_options[:server_selection_timeout]).to eq(3.561)
|
436
648
|
end
|
437
649
|
end
|
438
650
|
|
@@ -441,7 +653,7 @@ describe Mongo::URI do
|
|
441
653
|
let(:options) { "localThresholdMS=3561" }
|
442
654
|
|
443
655
|
it 'sets the the connect timeout' do
|
444
|
-
expect(uri.
|
656
|
+
expect(uri.uri_options[:local_threshold]).to eq(3.561)
|
445
657
|
end
|
446
658
|
end
|
447
659
|
|
@@ -451,7 +663,7 @@ describe Mongo::URI do
|
|
451
663
|
let(:options) { "maxPoolSize=#{max_pool_size}" }
|
452
664
|
|
453
665
|
it 'sets the max pool size option' do
|
454
|
-
expect(uri.
|
666
|
+
expect(uri.uri_options[:max_pool_size]).to eq(max_pool_size)
|
455
667
|
end
|
456
668
|
end
|
457
669
|
|
@@ -461,7 +673,7 @@ describe Mongo::URI do
|
|
461
673
|
let(:options) { "minPoolSize=#{min_pool_size}" }
|
462
674
|
|
463
675
|
it 'sets the min pool size option' do
|
464
|
-
expect(uri.
|
676
|
+
expect(uri.uri_options[:min_pool_size]).to eq(min_pool_size)
|
465
677
|
end
|
466
678
|
end
|
467
679
|
|
@@ -471,7 +683,7 @@ describe Mongo::URI do
|
|
471
683
|
let(:options) { "waitQueueTimeoutMS=#{wait_queue_timeout}" }
|
472
684
|
|
473
685
|
it 'sets the wait queue timeout option' do
|
474
|
-
expect(uri.
|
686
|
+
expect(uri.uri_options[:wait_queue_timeout]).to eq(0.5)
|
475
687
|
end
|
476
688
|
end
|
477
689
|
|
@@ -482,7 +694,7 @@ describe Mongo::URI do
|
|
482
694
|
let(:ssl) { true }
|
483
695
|
|
484
696
|
it 'sets the ssl option to true' do
|
485
|
-
expect(uri.
|
697
|
+
expect(uri.uri_options[:ssl]).to be true
|
486
698
|
end
|
487
699
|
end
|
488
700
|
|
@@ -490,7 +702,7 @@ describe Mongo::URI do
|
|
490
702
|
let(:ssl) { false }
|
491
703
|
|
492
704
|
it 'sets the ssl option to false' do
|
493
|
-
expect(uri.
|
705
|
+
expect(uri.uri_options[:ssl]).to be false
|
494
706
|
end
|
495
707
|
end
|
496
708
|
end
|
@@ -499,7 +711,7 @@ describe Mongo::URI do
|
|
499
711
|
let(:options) { 'w=1&ssl=true' }
|
500
712
|
|
501
713
|
it 'do not overshadow top level options' do
|
502
|
-
expect(uri.
|
714
|
+
expect(uri.uri_options).not_to be_empty
|
503
715
|
end
|
504
716
|
end
|
505
717
|
|
@@ -508,7 +720,7 @@ describe Mongo::URI do
|
|
508
720
|
let(:options) { 'invalidOption=10' }
|
509
721
|
|
510
722
|
let(:uri_options) do
|
511
|
-
uri.
|
723
|
+
uri.uri_options
|
512
724
|
end
|
513
725
|
|
514
726
|
it 'does not raise an exception' do
|