mongo 2.16.4 → 2.17.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.
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-----