mongo 2.9.2 → 2.10.0.rc0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/mongo.rb +1 -0
- data/lib/mongo/auth/user/view.rb +4 -4
- data/lib/mongo/bulk_write.rb +14 -8
- data/lib/mongo/bulk_write/result.rb +1 -1
- data/lib/mongo/bulk_write/result_combiner.rb +2 -2
- data/lib/mongo/bulk_write/transformable.rb +17 -9
- data/lib/mongo/client.rb +107 -16
- data/lib/mongo/cluster.rb +47 -25
- data/lib/mongo/cluster/topology/replica_set_no_primary.rb +1 -1
- data/lib/mongo/cluster_time.rb +139 -0
- data/lib/mongo/collection.rb +84 -25
- data/lib/mongo/collection/view.rb +7 -3
- data/lib/mongo/collection/view/aggregation.rb +4 -4
- data/lib/mongo/collection/view/builder/aggregation.rb +31 -6
- data/lib/mongo/collection/view/builder/find_command.rb +4 -1
- data/lib/mongo/collection/view/builder/map_reduce.rb +4 -1
- data/lib/mongo/collection/view/change_stream.rb +54 -66
- data/lib/mongo/collection/view/iterable.rb +2 -2
- data/lib/mongo/collection/view/map_reduce.rb +6 -4
- data/lib/mongo/collection/view/readable.rb +36 -16
- data/lib/mongo/collection/view/writable.rb +68 -22
- data/lib/mongo/cursor.rb +87 -20
- data/lib/mongo/database.rb +47 -43
- data/lib/mongo/database/view.rb +54 -11
- data/lib/mongo/error.rb +13 -4
- data/lib/mongo/error/invalid_write_concern.rb +2 -2
- data/lib/mongo/error/operation_failure.rb +65 -11
- data/lib/mongo/error/parser.rb +41 -8
- data/lib/mongo/grid/fs_bucket.rb +26 -6
- data/lib/mongo/grid/stream/read.rb +9 -2
- data/lib/mongo/grid/stream/write.rb +21 -5
- data/lib/mongo/index/view.rb +3 -3
- data/lib/mongo/lint.rb +10 -3
- data/lib/mongo/operation.rb +2 -0
- data/lib/mongo/operation/aggregate/result.rb +19 -6
- data/lib/mongo/operation/collections_info.rb +1 -1
- data/lib/mongo/operation/get_more/result.rb +9 -0
- data/lib/mongo/operation/list_collections/command.rb +1 -3
- data/lib/mongo/operation/list_collections/op_msg.rb +1 -2
- data/lib/mongo/operation/parallel_scan/command.rb +4 -1
- data/lib/mongo/operation/parallel_scan/op_msg.rb +4 -1
- data/lib/mongo/operation/result.rb +27 -4
- data/lib/mongo/operation/shared/executable.rb +19 -5
- data/lib/mongo/operation/shared/executable_no_validate.rb +1 -2
- data/lib/mongo/operation/shared/executable_transaction_label.rb +0 -9
- data/lib/mongo/operation/shared/polymorphic_result.rb +9 -1
- data/lib/mongo/operation/shared/result/aggregatable.rb +2 -2
- data/lib/mongo/operation/shared/sessions_supported.rb +42 -32
- data/lib/mongo/operation/shared/specifiable.rb +40 -0
- data/lib/mongo/operation/shared/unpinnable.rb +39 -0
- data/lib/mongo/operation/shared/write.rb +1 -1
- data/lib/mongo/protocol/update.rb +6 -2
- data/lib/mongo/retryable.rb +79 -39
- data/lib/mongo/server/connection.rb +10 -3
- data/lib/mongo/server/description.rb +25 -1
- data/lib/mongo/server/monitor/connection.rb +1 -1
- data/lib/mongo/server_selector.rb +10 -0
- data/lib/mongo/server_selector/selectable.rb +172 -32
- data/lib/mongo/session.rb +654 -581
- data/lib/mongo/session/session_pool.rb +1 -1
- data/lib/mongo/socket.rb +7 -28
- data/lib/mongo/socket/ssl.rb +26 -1
- data/lib/mongo/socket/tcp.rb +3 -0
- data/lib/mongo/socket/unix.rb +3 -0
- data/lib/mongo/uri.rb +112 -265
- data/lib/mongo/uri/srv_protocol.rb +4 -1
- data/lib/mongo/version.rb +1 -1
- data/lib/mongo/write_concern.rb +10 -29
- data/lib/mongo/write_concern/acknowledged.rb +12 -0
- data/lib/mongo/write_concern/base.rb +17 -13
- data/lib/mongo/write_concern/unacknowledged.rb +12 -0
- data/spec/atlas/atlas_connectivity_spec.rb +7 -37
- data/spec/atlas/operations_spec.rb +25 -0
- data/spec/integration/change_stream_examples_spec.rb +45 -31
- data/spec/integration/change_stream_spec.rb +305 -5
- data/spec/integration/client_spec.rb +44 -0
- data/spec/integration/command_monitoring_spec.rb +1 -0
- data/spec/integration/command_spec.rb +7 -1
- data/spec/integration/mmapv1_spec.rb +28 -0
- data/spec/integration/mongos_pinning_spec.rb +34 -0
- data/spec/integration/operation_failure_code_spec.rb +2 -2
- data/spec/integration/{read_concern.rb → read_concern_spec.rb} +7 -1
- data/spec/integration/read_preference_spec.rb +485 -0
- data/spec/integration/retryable_writes_spec.rb +8 -19
- data/spec/integration/sdam_error_handling_spec.rb +1 -1
- data/spec/integration/sdam_events_spec.rb +2 -2
- data/spec/integration/server_description_spec.rb +14 -17
- data/spec/integration/server_selector_spec.rb +7 -3
- data/spec/integration/server_spec.rb +48 -0
- data/spec/integration/ssl_uri_options_spec.rb +1 -1
- data/spec/integration/step_down_spec.rb +10 -4
- data/spec/integration/transactions_examples_spec.rb +11 -10
- data/spec/lite_spec_helper.rb +19 -16
- data/spec/mongo/auth/scram/negotiation_spec.rb +11 -8
- data/spec/mongo/bulk_write/ordered_combiner_spec.rb +6 -6
- data/spec/mongo/bulk_write/unordered_combiner_spec.rb +4 -4
- data/spec/mongo/bulk_write_spec.rb +12 -2
- data/spec/mongo/client_construction_spec.rb +160 -8
- data/spec/mongo/client_spec.rb +5 -4
- data/spec/mongo/cluster_spec.rb +6 -6
- data/spec/mongo/cluster_time_spec.rb +148 -0
- data/spec/mongo/collection/view/aggregation_spec.rb +34 -15
- data/spec/mongo/collection/view/change_stream_spec.rb +62 -3
- data/spec/mongo/collection/view/map_reduce_spec.rb +7 -5
- data/spec/mongo/collection/view/readable_spec.rb +4 -4
- data/spec/mongo/collection_spec.rb +331 -14
- data/spec/mongo/cursor_spec.rb +117 -5
- data/spec/mongo/database_spec.rb +240 -8
- data/spec/mongo/error/operation_failure_spec.rb +47 -1
- data/spec/mongo/error/parser_spec.rb +160 -23
- data/spec/mongo/operation/insert/bulk_spec.rb +2 -1
- data/spec/mongo/operation/result_spec.rb +27 -0
- data/spec/mongo/operation/update/bulk_spec.rb +1 -0
- data/spec/mongo/retryable_spec.rb +2 -0
- data/spec/mongo/server/app_metadata_spec.rb +2 -2
- data/spec/mongo/server/connection_spec.rb +13 -17
- data/spec/mongo/server/monitor/connection_spec.rb +13 -10
- data/spec/mongo/server_selector_spec.rb +34 -2
- data/spec/mongo/session/session_pool_spec.rb +14 -3
- data/spec/mongo/session_spec.rb +3 -3
- data/spec/mongo/session_transaction_spec.rb +4 -3
- data/spec/mongo/socket/ssl_spec.rb +19 -5
- data/spec/mongo/socket_spec.rb +1 -62
- data/spec/mongo/uri/srv_protocol_spec.rb +14 -20
- data/spec/mongo/uri_option_parsing_spec.rb +94 -8
- data/spec/mongo/uri_spec.rb +23 -10
- data/spec/mongo/write_concern_spec.rb +56 -3
- data/spec/spec_tests/change_streams_spec.rb +2 -1
- data/spec/spec_tests/cmap_spec.rb +1 -1
- data/spec/spec_tests/crud_spec.rb +12 -2
- data/spec/spec_tests/data/change_streams/change-streams-errors.yml +24 -1
- data/spec/spec_tests/data/change_streams/change-streams.yml +172 -3
- data/spec/spec_tests/data/command_monitoring/bulkWrite.yml +1 -1
- data/spec/spec_tests/data/command_monitoring/updateMany.yml +0 -2
- data/spec/spec_tests/data/command_monitoring/updateOne.yml +0 -5
- data/spec/spec_tests/data/crud/read/aggregate-out.yml +0 -6
- data/spec/spec_tests/data/crud/read/count-empty.yml +29 -0
- data/spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml +1 -0
- data/spec/spec_tests/data/crud/write/bulkWrite-collation.yml +101 -0
- data/spec/spec_tests/data/crud/write/bulkWrite.yml +401 -0
- data/spec/spec_tests/data/crud/write/insertMany.yml +58 -2
- data/spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml +3 -0
- data/spec/spec_tests/data/crud/write/updateOne-arrayFilters.yml +6 -1
- data/spec/spec_tests/data/crud_v2/aggregate-merge.yml +103 -0
- data/spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml +110 -0
- data/spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml +81 -0
- data/spec/spec_tests/data/crud_v2/db-aggregate.yml +38 -0
- data/spec/spec_tests/data/crud_v2/updateWithPipelines.yml +92 -0
- data/spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml +2 -2
- data/spec/spec_tests/data/transactions/abort.yml +3 -0
- data/spec/spec_tests/data/transactions/bulk.yml +3 -8
- data/spec/spec_tests/data/transactions/causal-consistency.yml +3 -8
- data/spec/spec_tests/data/transactions/commit.yml +3 -1
- data/spec/spec_tests/data/transactions/count.yml +3 -0
- data/spec/spec_tests/data/transactions/delete.yml +3 -0
- data/spec/spec_tests/data/transactions/error-labels.yml +4 -1
- data/spec/spec_tests/data/transactions/errors-client.yml +56 -0
- data/spec/spec_tests/data/transactions/errors.yml +3 -0
- data/spec/spec_tests/data/transactions/findOneAndDelete.yml +3 -0
- data/spec/spec_tests/data/transactions/findOneAndReplace.yml +3 -0
- data/spec/spec_tests/data/transactions/findOneAndUpdate.yml +3 -0
- data/spec/spec_tests/data/transactions/insert.yml +3 -0
- data/spec/spec_tests/data/transactions/isolation.yml +3 -0
- data/spec/spec_tests/data/transactions/mongos-pin-auto.yml +1671 -0
- data/spec/spec_tests/data/transactions/mongos-recovery-token.yml +347 -0
- data/spec/spec_tests/data/transactions/pin-mongos.yml +557 -0
- data/spec/spec_tests/data/transactions/read-concern.yml +3 -0
- data/spec/spec_tests/data/transactions/read-pref.yml +3 -0
- data/spec/spec_tests/data/transactions/reads.yml +3 -0
- data/spec/spec_tests/data/transactions/retryable-abort.yml +5 -2
- data/spec/spec_tests/data/transactions/retryable-commit.yml +4 -1
- data/spec/spec_tests/data/transactions/retryable-writes.yml +3 -0
- data/spec/spec_tests/data/transactions/run-command.yml +3 -0
- data/spec/spec_tests/data/transactions/transaction-options.yml +6 -0
- data/spec/spec_tests/data/transactions/update.yml +3 -8
- data/spec/spec_tests/data/transactions/write-concern.yml +348 -38
- data/spec/spec_tests/data/transactions_api/callback-aborts.yml +6 -0
- data/spec/spec_tests/data/transactions_api/callback-commits.yml +5 -0
- data/spec/spec_tests/data/transactions_api/callback-retry.yml +7 -2
- data/spec/spec_tests/data/transactions_api/commit-retry.yml +70 -15
- data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml +3 -0
- data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml +3 -0
- data/spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml +59 -109
- data/spec/spec_tests/data/transactions_api/commit.yml +5 -0
- data/spec/spec_tests/data/transactions_api/transaction-options.yml +10 -0
- data/spec/spec_tests/retryable_reads_spec.rb +5 -2
- data/spec/spec_tests/retryable_writes_spec.rb +5 -2
- data/spec/spec_tests/sdam_monitoring_spec.rb +3 -3
- data/spec/spec_tests/sdam_spec.rb +2 -2
- data/spec/spec_tests/transactions_api_spec.rb +1 -67
- data/spec/spec_tests/transactions_spec.rb +2 -66
- data/spec/support/authorization.rb +4 -0
- data/spec/support/change_streams.rb +30 -10
- data/spec/support/change_streams/operation.rb +27 -0
- data/spec/support/client_registry.rb +44 -25
- data/spec/support/cluster_config.rb +25 -14
- data/spec/support/cluster_tools.rb +32 -10
- data/spec/support/command_monitoring.rb +1 -1
- data/spec/support/common_shortcuts.rb +30 -0
- data/spec/support/connection_string.rb +8 -3
- data/spec/support/constraints.rb +34 -0
- data/spec/support/crud.rb +31 -16
- data/spec/support/crud/context.rb +23 -0
- data/spec/support/crud/operation.rb +311 -14
- data/spec/support/crud/spec.rb +2 -1
- data/spec/support/crud/test.rb +24 -27
- data/spec/support/crud/test_base.rb +22 -0
- data/spec/support/crud/verifier.rb +15 -1
- data/spec/support/event_subscriber.rb +12 -0
- data/spec/support/sdam_formatter_integration.rb +12 -6
- data/spec/support/shared/server_selector.rb +10 -0
- data/spec/support/shared/session.rb +13 -12
- data/spec/support/spec_config.rb +32 -22
- data/spec/support/spec_setup.rb +2 -2
- data/spec/support/transactions.rb +87 -0
- data/spec/support/transactions/context.rb +33 -0
- data/spec/support/transactions/operation.rb +99 -349
- data/spec/support/transactions/spec.rb +1 -3
- data/spec/support/transactions/test.rb +110 -49
- data/spec/support/utils.rb +74 -1
- metadata +52 -10
- metadata.gz.sig +0 -0
- data/spec/support/crud/read.rb +0 -265
- data/spec/support/crud/write.rb +0 -284
@@ -18,7 +18,7 @@ module Mongo
|
|
18
18
|
# Represents a single transaction test.
|
19
19
|
#
|
20
20
|
# @since 2.6.0
|
21
|
-
class TransactionsTest
|
21
|
+
class TransactionsTest < CRUD::CRUDTestBase
|
22
22
|
|
23
23
|
# The test description.
|
24
24
|
#
|
@@ -42,35 +42,57 @@ module Mongo
|
|
42
42
|
# @example Create the test.
|
43
43
|
# TransactionTest.new(data, test)
|
44
44
|
#
|
45
|
+
# @param [ Crud::Spec ] crud_spec The top level YAML specification object.
|
45
46
|
# @param [ Array<Hash> ] data The documents the collection
|
46
47
|
# must have before the test runs.
|
47
48
|
# @param [ Hash ] test The test specification.
|
48
|
-
# @param [ Hash ] spec The top level YAML specification.
|
49
49
|
#
|
50
50
|
# @since 2.6.0
|
51
|
-
def initialize(data, test
|
51
|
+
def initialize(crud_spec, data, test)
|
52
52
|
test = IceNine.deep_freeze(test)
|
53
|
-
@spec =
|
53
|
+
@spec = crud_spec
|
54
54
|
@data = data
|
55
55
|
@description = test['description']
|
56
56
|
@client_options = Utils.convert_client_options(test['clientOptions'] || {})
|
57
|
-
@session_options =
|
57
|
+
@session_options = if opts = test['sessionOptions']
|
58
|
+
Hash[opts.map do |session_name, options|
|
59
|
+
[session_name.to_sym, Utils.convert_operation_options(options)]
|
60
|
+
end]
|
61
|
+
else
|
62
|
+
{}
|
63
|
+
end
|
58
64
|
@fail_point = test['failPoint']
|
65
|
+
@skip_reason = test['skipReason']
|
66
|
+
@multiple_mongoses = test['useMultipleMongoses']
|
67
|
+
|
59
68
|
@operations = test['operations']
|
69
|
+
@ops = @operations.map do |op|
|
70
|
+
Operation.new(self, op)
|
71
|
+
end
|
72
|
+
|
60
73
|
@expectations = test['expectations']
|
61
|
-
@skip_reason = test['skipReason']
|
62
74
|
if test['outcome']
|
63
75
|
@outcome = Mongo::CRUD::Outcome.new(test['outcome'])
|
64
76
|
end
|
65
77
|
@expected_results = @operations.map do |o|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
78
|
+
# We check both o.key('error') and o['error'] to provide a better
|
79
|
+
# error message in case error: false is ever needed in the tests
|
80
|
+
if o.key?('error')
|
81
|
+
if o['error']
|
82
|
+
{'error' => true}
|
83
|
+
else
|
84
|
+
raise "Unsupported error value #{o['error']}"
|
85
|
+
end
|
86
|
+
else
|
87
|
+
result = o['result']
|
88
|
+
next result unless result.class == Hash
|
89
|
+
|
90
|
+
# Change maps of result ids to arrays of ids
|
91
|
+
result.dup.tap do |r|
|
92
|
+
r.each do |k, v|
|
93
|
+
next unless ['insertedIds', 'upsertedIds'].include?(k)
|
94
|
+
r[k] = v.to_a.sort_by(&:first).map(&:last)
|
95
|
+
end
|
74
96
|
end
|
75
97
|
end
|
76
98
|
end
|
@@ -78,6 +100,10 @@ module Mongo
|
|
78
100
|
|
79
101
|
attr_reader :outcome
|
80
102
|
|
103
|
+
def multiple_mongoses?
|
104
|
+
@multiple_mongoses
|
105
|
+
end
|
106
|
+
|
81
107
|
def support_client
|
82
108
|
@support_client ||= ClientRegistry.instance.global_client('root_authorized').use(@spec.database_name)
|
83
109
|
end
|
@@ -87,16 +113,32 @@ module Mongo
|
|
87
113
|
end
|
88
114
|
|
89
115
|
def test_client
|
90
|
-
@test_client ||= ClientRegistry.instance.global_client(
|
91
|
-
|
92
|
-
|
93
|
-
|
116
|
+
@test_client ||= ClientRegistry.instance.global_client(
|
117
|
+
'authorized_without_retry_writes'
|
118
|
+
).with(@client_options.merge(
|
119
|
+
database: @spec.database_name,
|
120
|
+
))
|
94
121
|
end
|
95
122
|
|
96
123
|
def event_subscriber
|
97
124
|
@event_subscriber ||= EventSubscriber.new
|
98
125
|
end
|
99
126
|
|
127
|
+
def mongos_each_direct_client
|
128
|
+
if ClusterConfig.instance.mongos?
|
129
|
+
client = ClientRegistry.instance.global_client('basic')
|
130
|
+
client.cluster.next_primary
|
131
|
+
client.cluster.servers.each do |server|
|
132
|
+
direct_client = ClientRegistry.instance.new_local_client(
|
133
|
+
[server.address.to_s],
|
134
|
+
SpecConfig.instance.test_options.merge(
|
135
|
+
connect: :sharded
|
136
|
+
).merge(SpecConfig.instance.auth_options))
|
137
|
+
yield direct_client
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
100
142
|
# Run the test.
|
101
143
|
#
|
102
144
|
# @example Run the test.
|
@@ -108,23 +150,9 @@ module Mongo
|
|
108
150
|
def run
|
109
151
|
test_client.subscribe(Mongo::Monitoring::COMMAND, event_subscriber)
|
110
152
|
|
111
|
-
$distinct_ran ||= if @ops.any? { |op| op.name == 'distinct' }
|
112
|
-
if ClusterConfig.instance.mongos?
|
113
|
-
client = ClientRegistry.instance.global_client('basic')
|
114
|
-
client.cluster.next_primary
|
115
|
-
client.cluster.servers.each do |server|
|
116
|
-
direct_client = ClientRegistry.instance.new_local_client(
|
117
|
-
[server.address.to_s],
|
118
|
-
SpecConfig.instance.test_options.merge(
|
119
|
-
connect: :sharded
|
120
|
-
).merge(SpecConfig.instance.auth_options))
|
121
|
-
direct_client['test'].distinct('foo').to_a
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
153
|
results = @ops.map do |op|
|
127
|
-
op
|
154
|
+
target = resolve_target(test_client, op)
|
155
|
+
op.execute(target, @session0, @session1)
|
128
156
|
end
|
129
157
|
|
130
158
|
session0_id = @session0.session_id
|
@@ -134,6 +162,9 @@ module Mongo
|
|
134
162
|
@session1.end_session
|
135
163
|
|
136
164
|
actual_events = Utils.yamlify_command_events(event_subscriber.started_events)
|
165
|
+
actual_events = actual_events.reject do |event|
|
166
|
+
event['command_started_event']['command']['endSessions']
|
167
|
+
end
|
137
168
|
actual_events.each do |e|
|
138
169
|
|
139
170
|
# Replace the session id placeholders with the actual session ids.
|
@@ -143,13 +174,12 @@ module Mongo
|
|
143
174
|
|
144
175
|
end
|
145
176
|
|
146
|
-
if @fail_point
|
147
|
-
admin_support_client.command(configureFailPoint: 'failCommand', mode: 'off')
|
148
|
-
end
|
149
|
-
|
150
177
|
@results = {
|
151
178
|
results: results,
|
152
|
-
contents: @collection.with(
|
179
|
+
contents: @collection.with(
|
180
|
+
read: {mode: 'primary'},
|
181
|
+
read_concern: { level: 'local' },
|
182
|
+
).find.to_a,
|
153
183
|
events: actual_events,
|
154
184
|
}
|
155
185
|
end
|
@@ -160,30 +190,61 @@ module Mongo
|
|
160
190
|
rescue Mongo::Error
|
161
191
|
end
|
162
192
|
|
163
|
-
|
193
|
+
mongos_each_direct_client do |direct_client|
|
194
|
+
direct_client.command(configureFailPoint: 'failCommand', mode: 'off')
|
195
|
+
end
|
196
|
+
|
197
|
+
coll = support_client[@spec.collection_name].with(write: { w: :majority })
|
164
198
|
coll.drop
|
165
|
-
coll.with(write: { w: :majority }).drop
|
166
199
|
support_client.command(create: @spec.collection_name, writeConcern: { w: :majority })
|
167
200
|
|
168
|
-
coll.
|
201
|
+
coll.insert_many(@data) unless @data.empty?
|
202
|
+
|
203
|
+
$distinct_ran ||= if description =~ /distinct/ || @ops.any? { |op| op.name == 'distinct' }
|
204
|
+
mongos_each_direct_client do |direct_client|
|
205
|
+
direct_client['test'].distinct('foo').to_a
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
169
209
|
admin_support_client.command(@fail_point) if @fail_point
|
170
210
|
|
171
211
|
@collection = test_client[@spec.collection_name]
|
172
212
|
|
173
213
|
@session0 = test_client.start_session(@session_options[:session0] || {})
|
174
214
|
@session1 = test_client.start_session(@session_options[:session1] || {})
|
175
|
-
|
176
|
-
@ops = @operations.map do |op|
|
177
|
-
Operation.new(op, @session0, @session1)
|
178
|
-
end
|
179
215
|
end
|
180
216
|
|
181
217
|
def teardown_test
|
182
|
-
|
183
|
-
|
218
|
+
|
219
|
+
if @fail_point
|
220
|
+
admin_support_client.command(configureFailPoint: 'failCommand', mode: 'off')
|
221
|
+
end
|
222
|
+
|
223
|
+
if $disable_fail_points
|
224
|
+
$disable_fail_points.each do |(fail_point, address)|
|
225
|
+
client = ClusterTools.instance.direct_client(address,
|
226
|
+
database: 'admin')
|
227
|
+
client.command(configureFailPoint: fail_point['configureFailPoint'],
|
228
|
+
mode: 'off')
|
229
|
+
end
|
184
230
|
end
|
231
|
+
|
185
232
|
if @test_client
|
186
|
-
@test_client.
|
233
|
+
@test_client.cluster.session_pool.end_sessions
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
def resolve_target(client, operation)
|
238
|
+
case operation.object
|
239
|
+
when 'session0'
|
240
|
+
@session0
|
241
|
+
when 'session1'
|
242
|
+
@session1
|
243
|
+
when 'testRunner'
|
244
|
+
# We don't actually use this target in any way.
|
245
|
+
nil
|
246
|
+
else
|
247
|
+
super
|
187
248
|
end
|
188
249
|
end
|
189
250
|
end
|
data/spec/support/utils.rb
CHANGED
@@ -3,7 +3,7 @@ module Utils
|
|
3
3
|
# Converts a 'camelCase' string or symbol to a :under_score symbol.
|
4
4
|
def underscore(str)
|
5
5
|
str = str.to_s
|
6
|
-
str = str[0].downcase + str[1...str.length].gsub(/([A-Z])/) { |m| "_#{m.downcase}" }
|
6
|
+
str = str[0].downcase + str[1...str.length].gsub(/([A-Z]+)/) { |m| "_#{m.downcase}" }
|
7
7
|
str.to_sym
|
8
8
|
end
|
9
9
|
module_function :underscore
|
@@ -23,6 +23,28 @@ module Utils
|
|
23
23
|
end
|
24
24
|
module_function :snakeize_hash
|
25
25
|
|
26
|
+
# Like snakeize_hash but does not recurse.
|
27
|
+
def shallow_snakeize_hash(value)
|
28
|
+
return underscore(value) if value.is_a?(String)
|
29
|
+
return value unless value.is_a?(Hash)
|
30
|
+
|
31
|
+
value.reduce({}) do |hash, (k, v)|
|
32
|
+
hash.tap do |h|
|
33
|
+
h[underscore(k)] = v
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
module_function :shallow_snakeize_hash
|
38
|
+
|
39
|
+
def camelize(str, upcase_first = true)
|
40
|
+
str = str.gsub(%r,_(\w),) { |m| m[1].upcase }
|
41
|
+
if upcase_first
|
42
|
+
str = str[0].upcase + str[1...str.length]
|
43
|
+
end
|
44
|
+
str
|
45
|
+
end
|
46
|
+
module_function :camelize
|
47
|
+
|
26
48
|
# Converts camel case clientOptions, as used in spec tests,
|
27
49
|
# to Ruby driver underscore options.
|
28
50
|
def convert_client_options(spec_test_options)
|
@@ -78,6 +100,10 @@ module Utils
|
|
78
100
|
end
|
79
101
|
end
|
80
102
|
|
103
|
+
if command['recoveryToken']
|
104
|
+
command['recoveryToken'] = 42
|
105
|
+
end
|
106
|
+
|
81
107
|
# The spec tests use 42 as a placeholder value for any getMore cursorId.
|
82
108
|
command['getMore'] = { '$numberLong' => '42' } if command['getMore']
|
83
109
|
|
@@ -111,4 +137,51 @@ module Utils
|
|
111
137
|
events
|
112
138
|
end
|
113
139
|
module_function :yamlify_command_events
|
140
|
+
|
141
|
+
def convert_operation_options(options)
|
142
|
+
if options
|
143
|
+
Hash[options.map do |k, v|
|
144
|
+
out_v = case k
|
145
|
+
when 'readPreference'
|
146
|
+
out_k = :read
|
147
|
+
out_v = {}
|
148
|
+
v.each do |sub_k, sub_v|
|
149
|
+
if sub_k == 'mode'
|
150
|
+
out_v[:mode] = Utils.underscore(v['mode'])
|
151
|
+
else
|
152
|
+
out_v[sub_k.to_sym] = sub_v
|
153
|
+
end
|
154
|
+
end
|
155
|
+
out_v
|
156
|
+
when 'defaultTransactionOptions'
|
157
|
+
out_k = Utils.underscore(k).to_sym
|
158
|
+
convert_operation_options(v)
|
159
|
+
when 'readConcern'
|
160
|
+
out_k = Utils.underscore(k).to_sym
|
161
|
+
Mongo::Options::Mapper.transform_keys_to_symbols(v).tap do |out|
|
162
|
+
if out[:level]
|
163
|
+
out[:level] = out[:level].to_sym
|
164
|
+
end
|
165
|
+
end
|
166
|
+
when 'causalConsistency'
|
167
|
+
out_k = Utils.underscore(k).to_sym
|
168
|
+
v
|
169
|
+
when 'writeConcern'
|
170
|
+
# Write concern option is called :write on the client, but
|
171
|
+
# :write_concern on all levels below the client.
|
172
|
+
out_k = :write_concern
|
173
|
+
# The client expects write concern value to only have symbol keys.
|
174
|
+
Hash[v.map do |sub_k, sub_v|
|
175
|
+
[sub_k.to_sym, sub_v]
|
176
|
+
end]
|
177
|
+
else
|
178
|
+
raise "Unhandled operation option #{k}"
|
179
|
+
end
|
180
|
+
[out_k, out_v]
|
181
|
+
end]
|
182
|
+
else
|
183
|
+
{}
|
184
|
+
end
|
185
|
+
end
|
186
|
+
module_function :convert_operation_options
|
114
187
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.10.0.rc0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyler Brock
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
bMYVwXXhV8czdzgkQB/ZPWHSbEWXnmkze1mzvqWBCPOVXYrcnL9cnEl/RoxtS1hr
|
32
32
|
Db6Ac6mCUSYfYHBWpWqxjc45n70i5Xi1
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2019-
|
34
|
+
date: 2019-08-06 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bson
|
@@ -111,6 +111,7 @@ files:
|
|
111
111
|
- lib/mongo/cluster/topology/sharded.rb
|
112
112
|
- lib/mongo/cluster/topology/single.rb
|
113
113
|
- lib/mongo/cluster/topology/unknown.rb
|
114
|
+
- lib/mongo/cluster_time.rb
|
114
115
|
- lib/mongo/collection.rb
|
115
116
|
- lib/mongo/collection/view.rb
|
116
117
|
- lib/mongo/collection/view/aggregation.rb
|
@@ -358,6 +359,7 @@ files:
|
|
358
359
|
- lib/mongo/operation/shared/result/use_legacy_error_parser.rb
|
359
360
|
- lib/mongo/operation/shared/sessions_supported.rb
|
360
361
|
- lib/mongo/operation/shared/specifiable.rb
|
362
|
+
- lib/mongo/operation/shared/unpinnable.rb
|
361
363
|
- lib/mongo/operation/shared/write.rb
|
362
364
|
- lib/mongo/operation/shared/write_concern_supported.rb
|
363
365
|
- lib/mongo/operation/update.rb
|
@@ -431,6 +433,7 @@ files:
|
|
431
433
|
- mongo.gemspec
|
432
434
|
- spec/README.md
|
433
435
|
- spec/atlas/atlas_connectivity_spec.rb
|
436
|
+
- spec/atlas/operations_spec.rb
|
434
437
|
- spec/enterprise_auth/kerberos_spec.rb
|
435
438
|
- spec/integration/auth_spec.rb
|
436
439
|
- spec/integration/bulk_insert_spec.rb
|
@@ -438,6 +441,7 @@ files:
|
|
438
441
|
- spec/integration/change_stream_spec.rb
|
439
442
|
- spec/integration/client_connectivity_spec.rb
|
440
443
|
- spec/integration/client_construction_spec.rb
|
444
|
+
- spec/integration/client_spec.rb
|
441
445
|
- spec/integration/command_monitoring_spec.rb
|
442
446
|
- spec/integration/command_spec.rb
|
443
447
|
- spec/integration/connect_single_rs_name_spec.rb
|
@@ -446,14 +450,18 @@ files:
|
|
446
450
|
- spec/integration/docs_examples_spec.rb
|
447
451
|
- spec/integration/error_detection_spec.rb
|
448
452
|
- spec/integration/heartbeat_events_spec.rb
|
453
|
+
- spec/integration/mmapv1_spec.rb
|
454
|
+
- spec/integration/mongos_pinning_spec.rb
|
449
455
|
- spec/integration/operation_failure_code_spec.rb
|
450
|
-
- spec/integration/
|
456
|
+
- spec/integration/read_concern_spec.rb
|
457
|
+
- spec/integration/read_preference_spec.rb
|
451
458
|
- spec/integration/reconnect_spec.rb
|
452
459
|
- spec/integration/retryable_writes_spec.rb
|
453
460
|
- spec/integration/sdam_error_handling_spec.rb
|
454
461
|
- spec/integration/sdam_events_spec.rb
|
455
462
|
- spec/integration/server_description_spec.rb
|
456
463
|
- spec/integration/server_selector_spec.rb
|
464
|
+
- spec/integration/server_spec.rb
|
457
465
|
- spec/integration/shell_examples_spec.rb
|
458
466
|
- spec/integration/ssl_uri_options_spec.rb
|
459
467
|
- spec/integration/step_down_spec.rb
|
@@ -493,6 +501,7 @@ files:
|
|
493
501
|
- spec/mongo/cluster/topology/unknown_spec.rb
|
494
502
|
- spec/mongo/cluster/topology_spec.rb
|
495
503
|
- spec/mongo/cluster_spec.rb
|
504
|
+
- spec/mongo/cluster_time_spec.rb
|
496
505
|
- spec/mongo/collection/view/aggregation_spec.rb
|
497
506
|
- spec/mongo/collection/view/builder/find_command_spec.rb
|
498
507
|
- spec/mongo/collection/view/builder/flags_spec.rb
|
@@ -675,12 +684,15 @@ files:
|
|
675
684
|
- spec/spec_tests/data/crud/read/aggregate-out.yml
|
676
685
|
- spec/spec_tests/data/crud/read/aggregate.yml
|
677
686
|
- spec/spec_tests/data/crud/read/count-collation.yml
|
687
|
+
- spec/spec_tests/data/crud/read/count-empty.yml
|
678
688
|
- spec/spec_tests/data/crud/read/count.yml
|
679
689
|
- spec/spec_tests/data/crud/read/distinct-collation.yml
|
680
690
|
- spec/spec_tests/data/crud/read/distinct.yml
|
681
691
|
- spec/spec_tests/data/crud/read/find-collation.yml
|
682
692
|
- spec/spec_tests/data/crud/read/find.yml
|
683
693
|
- spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml
|
694
|
+
- spec/spec_tests/data/crud/write/bulkWrite-collation.yml
|
695
|
+
- spec/spec_tests/data/crud/write/bulkWrite.yml
|
684
696
|
- spec/spec_tests/data/crud/write/deleteMany-collation.yml
|
685
697
|
- spec/spec_tests/data/crud/write/deleteMany.yml
|
686
698
|
- spec/spec_tests/data/crud/write/deleteOne-collation.yml
|
@@ -708,6 +720,11 @@ files:
|
|
708
720
|
- spec/spec_tests/data/crud/write/updateOne-collation.yml
|
709
721
|
- spec/spec_tests/data/crud/write/updateOne-pre_2.6.yml
|
710
722
|
- spec/spec_tests/data/crud/write/updateOne.yml
|
723
|
+
- spec/spec_tests/data/crud_v2/aggregate-merge.yml
|
724
|
+
- spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml
|
725
|
+
- spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml
|
726
|
+
- spec/spec_tests/data/crud_v2/db-aggregate.yml
|
727
|
+
- spec/spec_tests/data/crud_v2/updateWithPipelines.yml
|
711
728
|
- spec/spec_tests/data/dns_seedlist_discovery/longer-parent-in-return.yml
|
712
729
|
- spec/spec_tests/data/dns_seedlist_discovery/misformatted-option.yml
|
713
730
|
- spec/spec_tests/data/dns_seedlist_discovery/no-results.yml
|
@@ -964,12 +981,16 @@ files:
|
|
964
981
|
- spec/spec_tests/data/transactions/count.yml
|
965
982
|
- spec/spec_tests/data/transactions/delete.yml
|
966
983
|
- spec/spec_tests/data/transactions/error-labels.yml
|
984
|
+
- spec/spec_tests/data/transactions/errors-client.yml
|
967
985
|
- spec/spec_tests/data/transactions/errors.yml
|
968
986
|
- spec/spec_tests/data/transactions/findOneAndDelete.yml
|
969
987
|
- spec/spec_tests/data/transactions/findOneAndReplace.yml
|
970
988
|
- spec/spec_tests/data/transactions/findOneAndUpdate.yml
|
971
989
|
- spec/spec_tests/data/transactions/insert.yml
|
972
990
|
- spec/spec_tests/data/transactions/isolation.yml
|
991
|
+
- spec/spec_tests/data/transactions/mongos-pin-auto.yml
|
992
|
+
- spec/spec_tests/data/transactions/mongos-recovery-token.yml
|
993
|
+
- spec/spec_tests/data/transactions/pin-mongos.yml
|
973
994
|
- spec/spec_tests/data/transactions/read-concern.yml
|
974
995
|
- spec/spec_tests/data/transactions/read-pref.yml
|
975
996
|
- spec/spec_tests/data/transactions/reads.yml
|
@@ -1043,14 +1064,14 @@ files:
|
|
1043
1064
|
- spec/support/connection_string.rb
|
1044
1065
|
- spec/support/constraints.rb
|
1045
1066
|
- spec/support/crud.rb
|
1067
|
+
- spec/support/crud/context.rb
|
1046
1068
|
- spec/support/crud/operation.rb
|
1047
1069
|
- spec/support/crud/outcome.rb
|
1048
|
-
- spec/support/crud/read.rb
|
1049
1070
|
- spec/support/crud/requirement.rb
|
1050
1071
|
- spec/support/crud/spec.rb
|
1051
1072
|
- spec/support/crud/test.rb
|
1073
|
+
- spec/support/crud/test_base.rb
|
1052
1074
|
- spec/support/crud/verifier.rb
|
1053
|
-
- spec/support/crud/write.rb
|
1054
1075
|
- spec/support/event_subscriber.rb
|
1055
1076
|
- spec/support/gridfs.rb
|
1056
1077
|
- spec/support/json_ext_formatter.rb
|
@@ -1069,6 +1090,7 @@ files:
|
|
1069
1090
|
- spec/support/spec_config.rb
|
1070
1091
|
- spec/support/spec_setup.rb
|
1071
1092
|
- spec/support/transactions.rb
|
1093
|
+
- spec/support/transactions/context.rb
|
1072
1094
|
- spec/support/transactions/operation.rb
|
1073
1095
|
- spec/support/transactions/spec.rb
|
1074
1096
|
- spec/support/transactions/test.rb
|
@@ -1088,9 +1110,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1088
1110
|
version: '0'
|
1089
1111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1090
1112
|
requirements:
|
1091
|
-
- - "
|
1113
|
+
- - ">"
|
1092
1114
|
- !ruby/object:Gem::Version
|
1093
|
-
version:
|
1115
|
+
version: 1.3.1
|
1094
1116
|
requirements: []
|
1095
1117
|
rubygems_version: 3.0.3
|
1096
1118
|
signing_key:
|
@@ -1136,14 +1158,14 @@ test_files:
|
|
1136
1158
|
- spec/support/shared/session.rb
|
1137
1159
|
- spec/support/cmap.rb
|
1138
1160
|
- spec/support/authorization.rb
|
1139
|
-
- spec/support/crud/read.rb
|
1140
1161
|
- spec/support/crud/spec.rb
|
1162
|
+
- spec/support/crud/test_base.rb
|
1163
|
+
- spec/support/crud/context.rb
|
1141
1164
|
- spec/support/crud/operation.rb
|
1142
1165
|
- spec/support/crud/test.rb
|
1143
1166
|
- spec/support/crud/verifier.rb
|
1144
1167
|
- spec/support/crud/requirement.rb
|
1145
1168
|
- spec/support/crud/outcome.rb
|
1146
|
-
- spec/support/crud/write.rb
|
1147
1169
|
- spec/support/common_shortcuts.rb
|
1148
1170
|
- spec/support/monitoring_ext.rb
|
1149
1171
|
- spec/support/client_registry_macros.rb
|
@@ -1158,6 +1180,7 @@ test_files:
|
|
1158
1180
|
- spec/support/transactions.rb
|
1159
1181
|
- spec/support/cluster_tools.rb
|
1160
1182
|
- spec/support/transactions/spec.rb
|
1183
|
+
- spec/support/transactions/context.rb
|
1161
1184
|
- spec/support/transactions/operation.rb
|
1162
1185
|
- spec/support/transactions/test.rb
|
1163
1186
|
- spec/support/spec_setup.rb
|
@@ -1165,21 +1188,25 @@ test_files:
|
|
1165
1188
|
- spec/README.md
|
1166
1189
|
- spec/integration/ssl_uri_options_spec.rb
|
1167
1190
|
- spec/integration/step_down_spec.rb
|
1168
|
-
- spec/integration/
|
1191
|
+
- spec/integration/read_concern_spec.rb
|
1169
1192
|
- spec/integration/server_description_spec.rb
|
1170
1193
|
- spec/integration/connection_spec.rb
|
1171
1194
|
- spec/integration/operation_failure_code_spec.rb
|
1172
1195
|
- spec/integration/error_detection_spec.rb
|
1173
1196
|
- spec/integration/connect_single_rs_name_spec.rb
|
1197
|
+
- spec/integration/mmapv1_spec.rb
|
1174
1198
|
- spec/integration/sdam_events_spec.rb
|
1175
1199
|
- spec/integration/shell_examples_spec.rb
|
1176
1200
|
- spec/integration/cursor_reaping_spec.rb
|
1201
|
+
- spec/integration/client_spec.rb
|
1202
|
+
- spec/integration/server_spec.rb
|
1177
1203
|
- spec/integration/client_construction_spec.rb
|
1178
1204
|
- spec/integration/server_selector_spec.rb
|
1179
1205
|
- spec/integration/retryable_writes_spec.rb
|
1180
1206
|
- spec/integration/change_stream_examples_spec.rb
|
1181
1207
|
- spec/integration/transactions_examples_spec.rb
|
1182
1208
|
- spec/integration/command_monitoring_spec.rb
|
1209
|
+
- spec/integration/read_preference_spec.rb
|
1183
1210
|
- spec/integration/reconnect_spec.rb
|
1184
1211
|
- spec/integration/client_connectivity_spec.rb
|
1185
1212
|
- spec/integration/bulk_insert_spec.rb
|
@@ -1187,6 +1214,7 @@ test_files:
|
|
1187
1214
|
- spec/integration/command_spec.rb
|
1188
1215
|
- spec/integration/change_stream_spec.rb
|
1189
1216
|
- spec/integration/time_zone_querying_spec.rb
|
1217
|
+
- spec/integration/mongos_pinning_spec.rb
|
1190
1218
|
- spec/integration/heartbeat_events_spec.rb
|
1191
1219
|
- spec/integration/docs_examples_spec.rb
|
1192
1220
|
- spec/integration/sdam_error_handling_spec.rb
|
@@ -1227,6 +1255,7 @@ test_files:
|
|
1227
1255
|
- spec/mongo/uri_option_parsing_spec.rb
|
1228
1256
|
- spec/mongo/lint_spec.rb
|
1229
1257
|
- spec/mongo/dbref_spec.rb
|
1258
|
+
- spec/mongo/cluster_time_spec.rb
|
1230
1259
|
- spec/mongo/options/redacted_spec.rb
|
1231
1260
|
- spec/mongo/client_spec.rb
|
1232
1261
|
- spec/mongo/server_spec.rb
|
@@ -1356,6 +1385,7 @@ test_files:
|
|
1356
1385
|
- spec/mongo/event/publisher_spec.rb
|
1357
1386
|
- spec/mongo/event/subscriber_spec.rb
|
1358
1387
|
- spec/mongo/uri/srv_protocol_spec.rb
|
1388
|
+
- spec/atlas/operations_spec.rb
|
1359
1389
|
- spec/atlas/atlas_connectivity_spec.rb
|
1360
1390
|
- spec/enterprise_auth/kerberos_spec.rb
|
1361
1391
|
- spec/lite_spec_helper.rb
|
@@ -1519,14 +1549,21 @@ test_files:
|
|
1519
1549
|
- spec/spec_tests/data/uri_options/connection-pool-options.yml
|
1520
1550
|
- spec/spec_tests/data/uri_options/read-preference-options.yml
|
1521
1551
|
- spec/spec_tests/data/uri_options/concern-options.yml
|
1552
|
+
- spec/spec_tests/data/crud_v2/bulkWrite-arrayFilters.yml
|
1553
|
+
- spec/spec_tests/data/crud_v2/updateWithPipelines.yml
|
1554
|
+
- spec/spec_tests/data/crud_v2/aggregate-merge.yml
|
1555
|
+
- spec/spec_tests/data/crud_v2/db-aggregate.yml
|
1556
|
+
- spec/spec_tests/data/crud_v2/aggregate-out-readConcern.yml
|
1522
1557
|
- spec/spec_tests/data/crud/write/findOneAndUpdate-collation.yml
|
1523
1558
|
- spec/spec_tests/data/crud/write/findOneAndReplace-upsert.yml
|
1524
1559
|
- spec/spec_tests/data/crud/write/findOneAndDelete.yml
|
1560
|
+
- spec/spec_tests/data/crud/write/bulkWrite-collation.yml
|
1525
1561
|
- spec/spec_tests/data/crud/write/deleteMany.yml
|
1526
1562
|
- spec/spec_tests/data/crud/write/deleteOne-collation.yml
|
1527
1563
|
- spec/spec_tests/data/crud/write/replaceOne-pre_2.6.yml
|
1528
1564
|
- spec/spec_tests/data/crud/write/deleteMany-collation.yml
|
1529
1565
|
- spec/spec_tests/data/crud/write/findOneAndDelete-collation.yml
|
1566
|
+
- spec/spec_tests/data/crud/write/bulkWrite.yml
|
1530
1567
|
- spec/spec_tests/data/crud/write/updateOne.yml
|
1531
1568
|
- spec/spec_tests/data/crud/write/bulkWrite-arrayFilters.yml
|
1532
1569
|
- spec/spec_tests/data/crud/write/updateMany-arrayFilters.yml
|
@@ -1551,6 +1588,7 @@ test_files:
|
|
1551
1588
|
- spec/spec_tests/data/crud/read/distinct-collation.yml
|
1552
1589
|
- spec/spec_tests/data/crud/read/find.yml
|
1553
1590
|
- spec/spec_tests/data/crud/read/count.yml
|
1591
|
+
- spec/spec_tests/data/crud/read/count-empty.yml
|
1554
1592
|
- spec/spec_tests/data/crud/read/aggregate-out.yml
|
1555
1593
|
- spec/spec_tests/data/crud/read/find-collation.yml
|
1556
1594
|
- spec/spec_tests/data/crud/read/aggregate.yml
|
@@ -1706,12 +1744,15 @@ test_files:
|
|
1706
1744
|
- spec/spec_tests/data/transactions/isolation.yml
|
1707
1745
|
- spec/spec_tests/data/transactions/transaction-options.yml
|
1708
1746
|
- spec/spec_tests/data/transactions/write-concern.yml
|
1747
|
+
- spec/spec_tests/data/transactions/errors-client.yml
|
1709
1748
|
- spec/spec_tests/data/transactions/read-pref.yml
|
1710
1749
|
- spec/spec_tests/data/transactions/findOneAndDelete.yml
|
1750
|
+
- spec/spec_tests/data/transactions/mongos-pin-auto.yml
|
1711
1751
|
- spec/spec_tests/data/transactions/error-labels.yml
|
1712
1752
|
- spec/spec_tests/data/transactions/retryable-commit.yml
|
1713
1753
|
- spec/spec_tests/data/transactions/read-concern.yml
|
1714
1754
|
- spec/spec_tests/data/transactions/bulk.yml
|
1755
|
+
- spec/spec_tests/data/transactions/pin-mongos.yml
|
1715
1756
|
- spec/spec_tests/data/transactions/reads.yml
|
1716
1757
|
- spec/spec_tests/data/transactions/count.yml
|
1717
1758
|
- spec/spec_tests/data/transactions/findOneAndReplace.yml
|
@@ -1723,6 +1764,7 @@ test_files:
|
|
1723
1764
|
- spec/spec_tests/data/transactions/causal-consistency.yml
|
1724
1765
|
- spec/spec_tests/data/transactions/run-command.yml
|
1725
1766
|
- spec/spec_tests/data/transactions/delete.yml
|
1767
|
+
- spec/spec_tests/data/transactions/mongos-recovery-token.yml
|
1726
1768
|
- spec/spec_tests/data/transactions/commit.yml
|
1727
1769
|
- spec/spec_tests/crud_spec.rb
|
1728
1770
|
- spec/spec_tests/max_staleness_spec.rb
|