mongo 2.16.4 → 2.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +1 -1
  4. data/lib/mongo/auth/aws/request.rb +0 -1
  5. data/lib/mongo/client.rb +4 -0
  6. data/lib/mongo/collection/view/aggregation.rb +62 -17
  7. data/lib/mongo/collection/view/builder/aggregation.rb +11 -13
  8. data/lib/mongo/collection/view/builder/map_reduce.rb +5 -8
  9. data/lib/mongo/collection/view/change_stream.rb +7 -3
  10. data/lib/mongo/collection/view/iterable.rb +3 -20
  11. data/lib/mongo/collection/view/map_reduce.rb +3 -14
  12. data/lib/mongo/collection/view/readable.rb +24 -1
  13. data/lib/mongo/collection/view/writable.rb +23 -0
  14. data/lib/mongo/collection/view.rb +0 -1
  15. data/lib/mongo/collection.rb +21 -1
  16. data/lib/mongo/database/view.rb +4 -2
  17. data/lib/mongo/database.rb +6 -6
  18. data/lib/mongo/error/snapshot_session_invalid_server_version.rb +31 -0
  19. data/lib/mongo/error/snapshot_session_transaction_prohibited.rb +30 -0
  20. data/lib/mongo/error.rb +2 -0
  21. data/lib/mongo/operation/delete/op_msg.rb +2 -1
  22. data/lib/mongo/operation/find/builder/command.rb +1 -0
  23. data/lib/mongo/operation/result.rb +6 -0
  24. data/lib/mongo/operation/shared/executable.rb +4 -0
  25. data/lib/mongo/operation/shared/sessions_supported.rb +18 -2
  26. data/lib/mongo/operation/update/op_msg.rb +2 -1
  27. data/lib/mongo/query_cache.rb +2 -12
  28. data/lib/mongo/server/description/features.rb +3 -1
  29. data/lib/mongo/server/monitor/connection.rb +4 -10
  30. data/lib/mongo/server_selector/base.rb +26 -4
  31. data/lib/mongo/session.rb +19 -0
  32. data/lib/mongo/socket/ocsp_cache.rb +2 -3
  33. data/lib/mongo/socket.rb +1 -5
  34. data/lib/mongo/utils.rb +0 -6
  35. data/lib/mongo/version.rb +1 -1
  36. data/mongo.gemspec +1 -1
  37. data/spec/integration/query_cache_spec.rb +0 -159
  38. data/spec/integration/read_preference_spec.rb +16 -12
  39. data/spec/integration/sdam_events_spec.rb +0 -40
  40. data/spec/lite_spec_helper.rb +0 -7
  41. data/spec/mongo/collection/view/aggregation_spec.rb +71 -95
  42. data/spec/mongo/collection/view/change_stream_spec.rb +1 -1
  43. data/spec/mongo/collection/view/map_reduce_spec.rb +14 -17
  44. data/spec/mongo/collection/view/readable_spec.rb +0 -56
  45. data/spec/mongo/operation/read_preference_op_msg_spec.rb +24 -1
  46. data/spec/mongo/query_cache_spec.rb +0 -165
  47. data/spec/mongo/server_selector_spec.rb +136 -15
  48. data/spec/mongo/socket/ssl_spec.rb +26 -58
  49. data/spec/mongo/utils_spec.rb +0 -14
  50. data/spec/runners/auth.rb +1 -1
  51. data/spec/runners/change_streams/spec.rb +1 -1
  52. data/spec/runners/cmap.rb +1 -1
  53. data/spec/runners/command_monitoring.rb +1 -1
  54. data/spec/runners/connection_string.rb +1 -1
  55. data/spec/runners/crud/spec.rb +3 -1
  56. data/spec/runners/crud/verifier.rb +1 -2
  57. data/spec/runners/gridfs.rb +1 -1
  58. data/spec/runners/read_write_concern_document.rb +1 -1
  59. data/spec/runners/sdam.rb +1 -1
  60. data/spec/runners/server_selection.rb +1 -1
  61. data/spec/runners/server_selection_rtt.rb +1 -1
  62. data/spec/runners/unified/assertions.rb +3 -1
  63. data/spec/runners/unified/crud_operations.rb +77 -23
  64. data/spec/runners/unified/ddl_operations.rb +29 -1
  65. data/spec/runners/unified/entity_map.rb +3 -3
  66. data/spec/runners/unified/support_operations.rb +6 -1
  67. data/spec/runners/unified/test.rb +15 -3
  68. data/spec/runners/unified/test_group.rb +1 -1
  69. data/spec/shared/share/Dockerfile.erb +3 -3
  70. data/spec/shared/shlib/server.sh +1 -1
  71. data/spec/spec_tests/data/crud_unified/aggregate-let.yml +138 -0
  72. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +155 -0
  73. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +151 -0
  74. data/spec/spec_tests/data/crud_unified/deleteMany-let.yml +91 -0
  75. data/spec/spec_tests/data/crud_unified/deleteOne-let.yml +89 -0
  76. data/spec/spec_tests/data/crud_unified/find-let.yml +71 -0
  77. data/spec/spec_tests/data/crud_unified/findOneAndDelete-let.yml +88 -0
  78. data/spec/spec_tests/data/crud_unified/findOneAndReplace-let.yml +94 -0
  79. data/spec/spec_tests/data/crud_unified/findOneAndUpdate-let.yml +96 -0
  80. data/spec/spec_tests/data/crud_unified/updateMany-let.yml +103 -0
  81. data/spec/spec_tests/data/crud_unified/updateOne-let.yml +98 -0
  82. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/DefaultNoMaxStaleness.yml +2 -2
  83. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/LastUpdateTime.yml +3 -3
  84. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest.yml +3 -3
  85. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Nearest2.yml +3 -3
  86. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred.yml +2 -2
  87. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/PrimaryPreferred_tags.yml +2 -2
  88. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/Secondary.yml +4 -4
  89. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred.yml +2 -2
  90. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/SecondaryPreferred_tags.yml +4 -4
  91. data/spec/spec_tests/data/max_staleness/ReplicaSetNoPrimary/ZeroMaxStaleness.yml +2 -2
  92. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/DefaultNoMaxStaleness.yml +2 -2
  93. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LastUpdateTime.yml +3 -3
  94. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat.yml +2 -2
  95. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/LongHeartbeat2.yml +2 -2
  96. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessTooSmall.yml +2 -2
  97. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/MaxStalenessWithModePrimary.yml +2 -2
  98. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest.yml +3 -3
  99. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest2.yml +3 -3
  100. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Nearest_tags.yml +2 -2
  101. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/PrimaryPreferred.yml +2 -2
  102. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred.yml +2 -2
  103. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags.yml +5 -5
  104. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/SecondaryPreferred_tags2.yml +3 -3
  105. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags.yml +5 -5
  106. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/Secondary_tags2.yml +3 -3
  107. data/spec/spec_tests/data/max_staleness/ReplicaSetWithPrimary/ZeroMaxStaleness.yml +2 -2
  108. data/spec/spec_tests/data/max_staleness/Sharded/SmallMaxStaleness.yml +2 -2
  109. data/spec/spec_tests/data/max_staleness/Single/SmallMaxStaleness.yml +1 -1
  110. data/spec/spec_tests/data/max_staleness/Unknown/SmallMaxStaleness.yml +1 -1
  111. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-client-error.yml +69 -0
  112. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-not-supported-server-error.yml +102 -0
  113. data/spec/spec_tests/data/sessions_unified/snapshot-sessions-unsupported-ops.yml +258 -0
  114. data/spec/spec_tests/data/sessions_unified/snapshot-sessions.yml +482 -0
  115. data/spec/spec_tests/seed_list_discovery_spec.rb +1 -1
  116. data/spec/spec_tests/sessions_unified_spec.rb +13 -0
  117. data/spec/support/certificates/atlas-ocsp-ca.crt +47 -40
  118. data/spec/support/certificates/atlas-ocsp.crt +106 -101
  119. data/spec/support/utils.rb +0 -31
  120. data.tar.gz.sig +0 -0
  121. metadata +1084 -1058
  122. metadata.gz.sig +0 -0
  123. data/spec/integration/find_options_spec.rb +0 -227
@@ -0,0 +1,482 @@
1
+ description: snapshot-sessions
2
+
3
+ schemaVersion: "1.0"
4
+
5
+ runOnRequirements:
6
+ - minServerVersion: "5.0"
7
+ topologies: [replicaset, sharded-replicaset]
8
+
9
+ createEntities:
10
+ - client:
11
+ id: &client0 client0
12
+ observeEvents: [ commandStartedEvent]
13
+ ignoreCommandMonitoringEvents: [ findAndModify, insert, update ]
14
+ - database:
15
+ id: &database0 database0
16
+ client: *client0
17
+ databaseName: &database0Name database0
18
+ - collection:
19
+ id: &collection0 collection0
20
+ database: *database0
21
+ collectionName: &collection0Name collection0
22
+ collectionOptions:
23
+ writeConcern: { w: majority }
24
+ - session:
25
+ id: session0
26
+ client: client0
27
+ sessionOptions:
28
+ snapshot: true
29
+ - session:
30
+ id: session1
31
+ client: client0
32
+ sessionOptions:
33
+ snapshot: true
34
+
35
+ initialData:
36
+ - collectionName: *collection0Name
37
+ databaseName: *database0Name
38
+ documents:
39
+ - { _id: 1, x: 11 }
40
+ - { _id: 2, x: 11 }
41
+
42
+ tests:
43
+ - description: Find operation with snapshot
44
+ operations:
45
+ - name: find
46
+ object: collection0
47
+ arguments:
48
+ session: session0
49
+ filter: { _id: 1 }
50
+ expectResult:
51
+ - {_id: 1, x: 11}
52
+ - name: findOneAndUpdate
53
+ object: collection0
54
+ arguments:
55
+ filter: { _id: 1 }
56
+ update: { $inc: { x: 1 } }
57
+ returnDocument: After
58
+ expectResult: { _id: 1, x: 12 }
59
+ - name: find
60
+ object: collection0
61
+ arguments:
62
+ session: session1
63
+ filter: { _id: 1 }
64
+ expectResult:
65
+ - { _id: 1, x: 12 }
66
+ - name: findOneAndUpdate
67
+ object: collection0
68
+ arguments:
69
+ filter: { _id: 1 }
70
+ update: { $inc: { x: 1 } }
71
+ returnDocument: After
72
+ expectResult: { _id: 1, x: 13 }
73
+ - name: find
74
+ object: collection0
75
+ arguments:
76
+ filter: { _id: 1 }
77
+ expectResult:
78
+ - { _id: 1, x: 13 }
79
+ - name: find
80
+ object: collection0
81
+ arguments:
82
+ session: session0
83
+ filter: { _id: 1 }
84
+ expectResult:
85
+ - {_id: 1, x: 11}
86
+ - name: find
87
+ object: collection0
88
+ arguments:
89
+ session: session1
90
+ filter: { _id: 1 }
91
+ expectResult:
92
+ - {_id: 1, x: 12}
93
+ expectEvents:
94
+ - client: client0
95
+ events:
96
+ - commandStartedEvent:
97
+ command:
98
+ find: collection0
99
+ readConcern:
100
+ level: snapshot
101
+ atClusterTime:
102
+ "$$exists": false
103
+ - commandStartedEvent:
104
+ command:
105
+ find: collection0
106
+ readConcern:
107
+ level: snapshot
108
+ atClusterTime:
109
+ "$$exists": false
110
+ - commandStartedEvent:
111
+ command:
112
+ find: collection0
113
+ readConcern:
114
+ "$$exists": false
115
+ - commandStartedEvent:
116
+ command:
117
+ find: collection0
118
+ readConcern:
119
+ level: snapshot
120
+ atClusterTime:
121
+ "$$exists": true
122
+ - commandStartedEvent:
123
+ command:
124
+ find: collection0
125
+ readConcern:
126
+ level: snapshot
127
+ atClusterTime:
128
+ "$$exists": true
129
+
130
+ - description: Distinct operation with snapshot
131
+ operations:
132
+ - name: distinct
133
+ object: collection0
134
+ arguments:
135
+ fieldName: x
136
+ filter: {}
137
+ session: session0
138
+ expectResult:
139
+ - 11
140
+ - name: findOneAndUpdate
141
+ object: collection0
142
+ arguments:
143
+ filter: { _id: 2 }
144
+ update: { $inc: { x: 1 } }
145
+ returnDocument: After
146
+ expectResult: { _id: 2, x: 12 }
147
+ - name: distinct
148
+ object: collection0
149
+ arguments:
150
+ fieldName: x
151
+ filter: {}
152
+ session: session1
153
+ expectResult: [11, 12]
154
+ - name: findOneAndUpdate
155
+ object: collection0
156
+ arguments:
157
+ filter: { _id: 2 }
158
+ update: { $inc: { x: 1 } }
159
+ returnDocument: After
160
+ expectResult: { _id: 2, x: 13 }
161
+ - name: distinct
162
+ object: collection0
163
+ arguments:
164
+ fieldName: x
165
+ filter: {}
166
+ expectResult: [ 11, 13 ]
167
+ - name: distinct
168
+ object: collection0
169
+ arguments:
170
+ fieldName: x
171
+ filter: {}
172
+ session: session0
173
+ expectResult: [ 11 ]
174
+ - name: distinct
175
+ object: collection0
176
+ arguments:
177
+ fieldName: x
178
+ filter: {}
179
+ session: session1
180
+ expectResult: [ 11, 12 ]
181
+ expectEvents:
182
+ - client: client0
183
+ events:
184
+ - commandStartedEvent:
185
+ command:
186
+ distinct: collection0
187
+ readConcern:
188
+ level: snapshot
189
+ atClusterTime:
190
+ "$$exists": false
191
+ - commandStartedEvent:
192
+ command:
193
+ distinct: collection0
194
+ readConcern:
195
+ level: snapshot
196
+ atClusterTime:
197
+ "$$exists": false
198
+ - commandStartedEvent:
199
+ command:
200
+ distinct: collection0
201
+ readConcern:
202
+ "$$exists": false
203
+ - commandStartedEvent:
204
+ command:
205
+ distinct: collection0
206
+ readConcern:
207
+ level: snapshot
208
+ atClusterTime:
209
+ "$$exists": true
210
+ - commandStartedEvent:
211
+ command:
212
+ distinct: collection0
213
+ readConcern:
214
+ level: snapshot
215
+ atClusterTime:
216
+ "$$exists": true
217
+
218
+ - description: Aggregate operation with snapshot
219
+ operations:
220
+ - name: aggregate
221
+ object: collection0
222
+ arguments:
223
+ pipeline:
224
+ - "$match": { _id: 1 }
225
+ session: session0
226
+ expectResult:
227
+ - { _id: 1, x: 11 }
228
+ - name: findOneAndUpdate
229
+ object: collection0
230
+ arguments:
231
+ filter: { _id: 1 }
232
+ update: { $inc: { x: 1 } }
233
+ returnDocument: After
234
+ expectResult: { _id: 1, x: 12 }
235
+ - name: aggregate
236
+ object: collection0
237
+ arguments:
238
+ pipeline:
239
+ - "$match":
240
+ _id: 1
241
+ session: session1
242
+ expectResult:
243
+ - {_id: 1, x: 12}
244
+ - name: findOneAndUpdate
245
+ object: collection0
246
+ arguments:
247
+ filter: { _id: 1 }
248
+ update: { $inc: { x: 1 } }
249
+ returnDocument: After
250
+ expectResult: { _id: 1, x: 13 }
251
+ - name: aggregate
252
+ object: collection0
253
+ arguments:
254
+ pipeline:
255
+ - "$match": { _id: 1 }
256
+ expectResult:
257
+ - { _id: 1, x: 13 }
258
+ - name: aggregate
259
+ object: collection0
260
+ arguments:
261
+ pipeline:
262
+ - "$match":
263
+ _id: 1
264
+ session: session0
265
+ expectResult:
266
+ - { _id: 1, x: 11 }
267
+ - name: aggregate
268
+ object: collection0
269
+ arguments:
270
+ pipeline:
271
+ - "$match": { _id: 1 }
272
+ session: session1
273
+ expectResult:
274
+ - { _id: 1, x: 12 }
275
+ expectEvents:
276
+ - client: client0
277
+ events:
278
+ - commandStartedEvent:
279
+ command:
280
+ aggregate: collection0
281
+ readConcern:
282
+ level: snapshot
283
+ atClusterTime:
284
+ "$$exists": false
285
+ - commandStartedEvent:
286
+ command:
287
+ aggregate: collection0
288
+ readConcern:
289
+ level: snapshot
290
+ atClusterTime:
291
+ "$$exists": false
292
+ - commandStartedEvent:
293
+ command:
294
+ aggregate: collection0
295
+ readConcern:
296
+ "$$exists": false
297
+ - commandStartedEvent:
298
+ command:
299
+ aggregate: collection0
300
+ readConcern:
301
+ level: snapshot
302
+ atClusterTime:
303
+ "$$exists": true
304
+ - commandStartedEvent:
305
+ command:
306
+ aggregate: collection0
307
+ readConcern:
308
+ level: snapshot
309
+ atClusterTime:
310
+ "$$exists": true
311
+
312
+ - description: countDocuments operation with snapshot
313
+ operations:
314
+ - name: countDocuments
315
+ object: collection0
316
+ arguments:
317
+ filter: {}
318
+ session: session0
319
+ expectResult: 2
320
+ - name: countDocuments
321
+ object: collection0
322
+ arguments:
323
+ filter: {}
324
+ session: session0
325
+ expectResult: 2
326
+ expectEvents:
327
+ - client: client0
328
+ events:
329
+ - commandStartedEvent:
330
+ command:
331
+ aggregate: collection0
332
+ readConcern:
333
+ level: snapshot
334
+ atClusterTime:
335
+ "$$exists": false
336
+ - commandStartedEvent:
337
+ command:
338
+ aggregate: collection0
339
+ readConcern:
340
+ level: snapshot
341
+ atClusterTime:
342
+ "$$exists": true
343
+
344
+ - description: Mixed operation with snapshot
345
+ operations:
346
+ - name: find
347
+ object: collection0
348
+ arguments:
349
+ session: session0
350
+ filter: { _id: 1 }
351
+ expectResult:
352
+ - { _id: 1, x: 11 }
353
+ - name: findOneAndUpdate
354
+ object: collection0
355
+ arguments:
356
+ filter: { _id: 1 }
357
+ update: { $inc: { x: 1 } }
358
+ returnDocument: After
359
+ expectResult: { _id: 1, x: 12 }
360
+ - name: find
361
+ object: collection0
362
+ arguments:
363
+ filter: { _id: 1 }
364
+ expectResult:
365
+ - { _id: 1, x: 12 }
366
+ - name: aggregate
367
+ object: collection0
368
+ arguments:
369
+ pipeline:
370
+ - "$match":
371
+ _id: 1
372
+ session: session0
373
+ expectResult:
374
+ - { _id: 1, x: 11 }
375
+ - name: distinct
376
+ object: collection0
377
+ arguments:
378
+ fieldName: x
379
+ filter: {}
380
+ session: session0
381
+ expectResult: [ 11 ]
382
+ expectEvents:
383
+ - client: client0
384
+ events:
385
+ - commandStartedEvent:
386
+ command:
387
+ find: collection0
388
+ readConcern:
389
+ level: snapshot
390
+ atClusterTime:
391
+ "$$exists": false
392
+ - commandStartedEvent:
393
+ command:
394
+ find: collection0
395
+ readConcern:
396
+ "$$exists": false
397
+ - commandStartedEvent:
398
+ command:
399
+ aggregate: collection0
400
+ readConcern:
401
+ level: snapshot
402
+ atClusterTime:
403
+ "$$exists": true
404
+ - commandStartedEvent:
405
+ command:
406
+ distinct: collection0
407
+ readConcern:
408
+ level: snapshot
409
+ atClusterTime:
410
+ "$$exists": true
411
+
412
+ - description: Write commands with snapshot session do not affect snapshot reads
413
+ operations:
414
+ - name: find
415
+ object: collection0
416
+ arguments:
417
+ filter: {}
418
+ session: session0
419
+ - name: insertOne
420
+ object: collection0
421
+ arguments:
422
+ document:
423
+ _id: 22
424
+ x: 33
425
+ - name: updateOne
426
+ object: collection0
427
+ arguments:
428
+ filter: { _id: 1 }
429
+ update: { $inc: { x: 1 } }
430
+ - name: find
431
+ object: collection0
432
+ arguments:
433
+ filter: { _id: 1 }
434
+ session: session0
435
+ expectResult:
436
+ - {_id: 1, x: 11}
437
+ expectEvents:
438
+ - client: client0
439
+ events:
440
+ - commandStartedEvent:
441
+ command:
442
+ find: collection0
443
+ readConcern:
444
+ level: snapshot
445
+ atClusterTime:
446
+ "$$exists": false
447
+ - commandStartedEvent:
448
+ command:
449
+ find: collection0
450
+ readConcern:
451
+ level: snapshot
452
+ atClusterTime:
453
+ "$$exists": true
454
+
455
+ - description: First snapshot read does not send atClusterTime
456
+ operations:
457
+ - name: find
458
+ object: collection0
459
+ arguments:
460
+ filter: {}
461
+ session: session0
462
+ expectEvents:
463
+ - client: client0
464
+ events:
465
+ - commandStartedEvent:
466
+ command:
467
+ find: collection0
468
+ readConcern:
469
+ level: snapshot
470
+ atClusterTime:
471
+ "$$exists": false
472
+ commandName: find
473
+ databaseName: database0
474
+
475
+ - description: StartTransaction fails in snapshot session
476
+ operations:
477
+ - name: startTransaction
478
+ object: session0
479
+ expectError:
480
+ isError: true
481
+ isClientError: true
482
+ errorContains: Transactions are not supported in snapshot sessions
@@ -15,7 +15,7 @@ describe 'DNS Seedlist Discovery' do
15
15
 
16
16
  SEED_LIST_DISCOVERY_TESTS.each do |test_path|
17
17
 
18
- spec = ::Utils.load_spec_yaml_file(test_path)
18
+ spec = YAML.load(File.read(test_path))
19
19
 
20
20
  test = Mongo::ConnectionString::Test.new(spec)
21
21
 
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'spec_helper'
5
+
6
+ require 'runners/unified'
7
+
8
+ base = "#{CURRENT_PATH}/spec_tests/data/sessions_unified"
9
+ SESSIONS_UNIFIED_TESTS = Dir.glob("#{base}/**/*.yml").sort
10
+
11
+ describe 'Sessions unified spec tests' do
12
+ define_unified_spec_tests(base, SESSIONS_UNIFIED_TESTS)
13
+ end
@@ -2,16 +2,16 @@ Certificate:
2
2
  Data:
3
3
  Version: 3 (0x2)
4
4
  Serial Number:
5
- 06:d8:d9:04:d5:58:43:46:f6:8a:2f:a7:54:22:7e:c4
5
+ 0a:35:08:d5:5c:29:2b:01:7d:f8:ad:65:c0:0f:f7:e4
6
6
  Signature Algorithm: sha256WithRSAEncryption
7
7
  Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
8
8
  Validity
9
- Not Before: Apr 14 00:00:00 2021 GMT
10
- Not After : Apr 13 23:59:59 2031 GMT
9
+ Not Before: Sep 24 00:00:00 2020 GMT
10
+ Not After : Sep 23 23:59:59 2030 GMT
11
11
  Subject: C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
12
12
  Subject Public Key Info:
13
13
  Public Key Algorithm: rsaEncryption
14
- Public-Key: (2048 bit)
14
+ RSA Public-Key: (2048 bit)
15
15
  Modulus:
16
16
  00:c1:4b:b3:65:47:70:bc:dd:4f:58:db:ec:9c:ed:
17
17
  c3:66:e5:1f:31:13:54:ad:4a:66:46:1f:2c:0a:ec:
@@ -33,51 +33,57 @@ Certificate:
33
33
  99:f5
34
34
  Exponent: 65537 (0x10001)
35
35
  X509v3 extensions:
36
- X509v3 Basic Constraints: critical
37
- CA:TRUE, pathlen:0
38
36
  X509v3 Subject Key Identifier:
39
37
  B7:6B:A2:EA:A8:AA:84:8C:79:EA:B4:DA:0F:98:B2:C5:95:76:B9:F4
40
38
  X509v3 Authority Key Identifier:
41
- 03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
39
+ keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
40
+
42
41
  X509v3 Key Usage: critical
43
42
  Digital Signature, Certificate Sign, CRL Sign
44
43
  X509v3 Extended Key Usage:
45
44
  TLS Web Server Authentication, TLS Web Client Authentication
45
+ X509v3 Basic Constraints: critical
46
+ CA:TRUE, pathlen:0
46
47
  Authority Information Access:
47
48
  OCSP - URI:http://ocsp.digicert.com
48
49
  CA Issuers - URI:http://cacerts.digicert.com/DigiCertGlobalRootCA.crt
50
+
49
51
  X509v3 CRL Distribution Points:
52
+
50
53
  Full Name:
51
54
  URI:http://crl3.digicert.com/DigiCertGlobalRootCA.crl
55
+
56
+ Full Name:
57
+ URI:http://crl4.digicert.com/DigiCertGlobalRootCA.crl
58
+
52
59
  X509v3 Certificate Policies:
53
- Policy: 2.16.840.1.114412.2.1
54
60
  Policy: 2.23.140.1.1
55
61
  Policy: 2.23.140.1.2.1
56
62
  Policy: 2.23.140.1.2.2
57
63
  Policy: 2.23.140.1.2.3
64
+
58
65
  Signature Algorithm: sha256WithRSAEncryption
59
- Signature Value:
60
- 80:32:ce:5e:0b:dd:6e:5a:0d:0a:af:e1:d6:84:cb:c0:8e:fa:
61
- 85:70:ed:da:5d:b3:0c:f7:2b:75:40:fe:85:0a:fa:f3:31:78:
62
- b7:70:4b:1a:89:58:ba:80:bd:f3:6b:1d:e9:7e:cf:0b:ba:58:
63
- 9c:59:d4:90:d3:fd:6c:fd:d0:98:6d:b7:71:82:5b:cf:6d:0b:
64
- 5a:09:d0:7b:de:c4:43:d8:2a:a4:de:9e:41:26:5f:bb:8f:99:
65
- cb:dd:ae:e1:a8:6f:9f:87:fe:74:b7:1f:1b:20:ab:b1:4f:c6:
66
- f5:67:5d:5d:9b:3c:e9:ff:69:f7:61:6c:d6:d9:f3:fd:36:c6:
67
- ab:03:88:76:d2:4b:2e:75:86:e3:fc:d8:55:7d:26:c2:11:77:
68
- df:3e:02:b6:7c:f3:ab:7b:7a:86:36:6f:b8:f7:d8:93:71:cf:
69
- 86:df:73:30:fa:7b:ab:ed:2a:59:c8:42:84:3b:11:17:1a:52:
70
- f3:c9:0e:14:7d:a2:5b:72:67:ba:71:ed:57:47:66:c5:b8:02:
71
- 4a:65:34:5e:8b:d0:2a:3c:20:9c:51:99:4c:e7:52:9e:f7:6b:
72
- 11:2b:0d:92:7e:1d:e8:8a:eb:36:16:43:87:ea:2a:63:bf:75:
73
- 3f:eb:de:c4:03:bb:0a:3c:f7:30:ef:eb:af:4c:fc:8b:36:10:
74
- 73:3e:f3:a4
66
+ 77:ab:b7:7a:27:3d:ae:bb:f6:7f:e0:5a:56:c9:84:aa:ca:5b:
67
+ 71:17:dd:22:47:fc:4e:9f:ee:d0:c1:a4:04:e1:a3:eb:c5:49:
68
+ c1:fd:d1:c9:df:8c:af:94:45:2c:46:2a:a3:63:39:20:f9:9e:
69
+ 4a:24:94:41:c8:a9:d9:e2:9c:54:05:06:cb:5c:1c:be:00:1b:
70
+ 0f:a8:5a:ff:19:bb:65:c7:16:af:21:56:dd:61:05:c9:e9:8f:
71
+ 98:76:df:6b:1b:d0:72:0c:50:b9:30:29:7a:bf:60:59:10:66:
72
+ 13:3a:2d:ac:15:11:6c:2d:23:0c:02:3e:05:3b:fe:e5:a1:9c:
73
+ e2:8a:db:87:d7:4a:e8:5e:e7:48:06:eb:ab:12:9a:f2:af:84:
74
+ c3:5b:83:4a:99:81:83:ab:00:a1:ca:0a:3c:4c:a2:25:89:2a:
75
+ 22:a7:a4:f3:33:4c:5b:8c:2e:1a:02:97:0f:9d:8f:6d:2d:95:
76
+ 08:fb:4f:da:f1:91:38:25:e1:9c:6e:61:18:87:6a:ce:b1:bb:
77
+ 00:30:6a:9b:b7:af:da:f1:c5:97:fe:8a:78:24:aa:ea:93:80:
78
+ ba:33:65:7a:bc:a1:77:e9:7f:69:14:0b:00:3f:77:92:b1:4d:
79
+ 5b:73:87:0a:13:d0:9c:c8:f2:4b:39:4f:52:84:49:a6:4c:90:
80
+ 4e:1f:f7:b4
75
81
 
76
82
  -----BEGIN CERTIFICATE-----
77
- MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh
83
+ MIIE6jCCA9KgAwIBAgIQCjUI1VwpKwF9+K1lwA/35DANBgkqhkiG9w0BAQsFADBh
78
84
  MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
79
85
  d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
80
- QTAeFw0yMTA0MTQwMDAwMDBaFw0zMTA0MTMyMzU5NTlaME8xCzAJBgNVBAYTAlVT
86
+ QTAeFw0yMDA5MjQwMDAwMDBaFw0zMDA5MjMyMzU5NTlaME8xCzAJBgNVBAYTAlVT
81
87
  MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxKTAnBgNVBAMTIERpZ2lDZXJ0IFRMUyBS
82
88
  U0EgU0hBMjU2IDIwMjAgQ0ExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
83
89
  AQEAwUuzZUdwvN1PWNvsnO3DZuUfMRNUrUpmRh8sCuxkB+Uu3Ny5CiDt3+PE0J6a
@@ -85,19 +91,20 @@ qXodgojlEVbbHp9YwlHnLDQNLtKS4VbL8Xlfs7uHyiUDe5pSQWYQYE9XE0nw6Ddn
85
91
  g9/n00tnTCJRpt8OmRDtV1F0JuJ9x8piLhMbfyOIJVNvwTRYAIuE//i+p1hJInuW
86
92
  raKImxW8oHzf6VGo1bDtN+I2tIJLYrVJmuzHZ9bjPvXj1hJeRPG/cUJ9WIQDgLGB
87
93
  Afr5yjK7tI4nhyfFK3TUqNaX3sNk+crOU6JWvHgXjkkDKa77SU+kFbnO8lwZV21r
88
- eacroicgE7XQPUDTITAHk+qZ9QIDAQABo4IBgjCCAX4wEgYDVR0TAQH/BAgwBgEB
89
- /wIBADAdBgNVHQ4EFgQUt2ui6qiqhIx56rTaD5iyxZV2ufQwHwYDVR0jBBgwFoAU
90
- A95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQG
91
- CCsGAQUFBwMBBggrBgEFBQcDAjB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGG
94
+ eacroicgE7XQPUDTITAHk+qZ9QIDAQABo4IBrjCCAaowHQYDVR0OBBYEFLdrouqo
95
+ qoSMeeq02g+YssWVdrn0MB8GA1UdIwQYMBaAFAPeUDVW0Uy7ZvCj4hsbw5eyPdFV
96
+ MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
97
+ EgYDVR0TAQH/BAgwBgEB/wIBADB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGG
92
98
  GGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0aHR0cDovL2Nh
93
- Y2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNydDBCBgNV
94
- HR8EOzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRH
95
- bG9iYWxSb290Q0EuY3JsMD0GA1UdIAQ2MDQwCwYJYIZIAYb9bAIBMAcGBWeBDAEB
96
- MAgGBmeBDAECATAIBgZngQwBAgIwCAYGZ4EMAQIDMA0GCSqGSIb3DQEBCwUAA4IB
97
- AQCAMs5eC91uWg0Kr+HWhMvAjvqFcO3aXbMM9yt1QP6FCvrzMXi3cEsaiVi6gL3z
98
- ax3pfs8LulicWdSQ0/1s/dCYbbdxglvPbQtaCdB73sRD2Cqk3p5BJl+7j5nL3a7h
99
- qG+fh/50tx8bIKuxT8b1Z11dmzzp/2n3YWzW2fP9NsarA4h20ksudYbj/NhVfSbC
100
- EXffPgK2fPOre3qGNm+499iTcc+G33Mw+nur7SpZyEKEOxEXGlLzyQ4UfaJbcme6
101
- ce1XR2bFuAJKZTRei9AqPCCcUZlM51Ke92sRKw2Sfh3oius2FkOH6ipjv3U/697E
102
- A7sKPPcw7+uvTPyLNhBzPvOk
99
+ Y2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNydDB7BgNV
100
+ HR8EdDByMDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRH
101
+ bG9iYWxSb290Q0EuY3JsMDegNaAzhjFodHRwOi8vY3JsNC5kaWdpY2VydC5jb20v
102
+ RGlnaUNlcnRHbG9iYWxSb290Q0EuY3JsMDAGA1UdIAQpMCcwBwYFZ4EMAQEwCAYG
103
+ Z4EMAQIBMAgGBmeBDAECAjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEBAHer
104
+ t3onPa679n/gWlbJhKrKW3EX3SJH/E6f7tDBpATho+vFScH90cnfjK+URSxGKqNj
105
+ OSD5nkoklEHIqdninFQFBstcHL4AGw+oWv8Zu2XHFq8hVt1hBcnpj5h232sb0HIM
106
+ ULkwKXq/YFkQZhM6LawVEWwtIwwCPgU7/uWhnOKK24fXSuhe50gG66sSmvKvhMNb
107
+ g0qZgYOrAKHKCjxMoiWJKiKnpPMzTFuMLhoClw+dj20tlQj7T9rxkTgl4ZxuYRiH
108
+ as6xuwAwapu3r9rxxZf+ingkquqTgLozZXq8oXfpf2kUCwA/d5KxTVtzhwoT0JzI
109
+ 8ks5T1KESaZMkE4f97Q=
103
110
  -----END CERTIFICATE-----