15
15
import java .lang .reflect .Modifier ;
16
16
import java .util .Collections ;
17
17
import java .util .List ;
18
- import java .util .Map ;
19
18
import java .util .Set ;
20
19
import java .util .TreeSet ;
21
20
import java .util .regex .Matcher ;
22
21
import java .util .regex .Pattern ;
23
22
23
+ import static org .hamcrest .Matchers .contains ;
24
24
import static org .hamcrest .Matchers .containsString ;
25
25
import static org .hamcrest .Matchers .endsWith ;
26
- import static org .hamcrest .Matchers .equalTo ;
27
26
import static org .hamcrest .Matchers .greaterThan ;
28
27
import static org .hamcrest .Matchers .is ;
29
28
import static org .hamcrest .Matchers .lessThan ;
@@ -37,7 +36,7 @@ public class TransportVersionTests extends ESTestCase {
37
36
* If the test fails, there is something wrong with your backport PR.
38
37
*/
39
38
public void testMaximumAllowedTransportVersion () {
40
- assertThat (TransportVersions . LATEST_DEFINED .isPatchFrom (TransportVersions .INITIAL_ELASTICSEARCH_8_19 ), is (true ));
39
+ assertThat (TransportVersion . current () .isPatchFrom (TransportVersions .INITIAL_ELASTICSEARCH_8_19 ), is (true ));
41
40
}
42
41
43
42
public void testVersionComparison () {
@@ -79,21 +78,18 @@ public static class DuplicatedIdFakeVersion {
79
78
80
79
public void testStaticTransportVersionChecks () {
81
80
assertThat (
82
- TransportVersions .getAllVersionIds (CorrectFakeVersion .class ),
83
- equalTo (
84
- Map .of (
85
- 199 ,
86
- CorrectFakeVersion .V_0_00_01 ,
87
- 2 ,
88
- CorrectFakeVersion .V_0_000_002 ,
89
- 3 ,
90
- CorrectFakeVersion .V_0_000_003 ,
91
- 4 ,
92
- CorrectFakeVersion .V_0_000_004
93
- )
81
+ TransportVersions .collectAllVersionIdsDefinedInClass (CorrectFakeVersion .class ),
82
+ contains (
83
+ CorrectFakeVersion .V_0_000_002 ,
84
+ CorrectFakeVersion .V_0_000_003 ,
85
+ CorrectFakeVersion .V_0_000_004 ,
86
+ CorrectFakeVersion .V_0_00_01
94
87
)
95
88
);
96
- AssertionError e = expectThrows (AssertionError .class , () -> TransportVersions .getAllVersionIds (DuplicatedIdFakeVersion .class ));
89
+ AssertionError e = expectThrows (
90
+ AssertionError .class ,
91
+ () -> TransportVersions .collectAllVersionIdsDefinedInClass (DuplicatedIdFakeVersion .class )
92
+ );
97
93
assertThat (e .getMessage (), containsString ("have the same version number" ));
98
94
}
99
95
@@ -196,7 +192,7 @@ public void testVersionConstantPresent() {
196
192
}
197
193
198
194
public void testCURRENTIsLatest () {
199
- assertThat (Collections .max (TransportVersions .getAllVersions ()), is (TransportVersion .current ()));
195
+ assertThat (Collections .max (TransportVersion .getAllVersions ()), is (TransportVersion .current ()));
200
196
}
201
197
202
198
public void testPatchVersionsStillAvailable () {
@@ -233,7 +229,7 @@ public void testToString() {
233
229
public void testDenseTransportVersions () {
234
230
Set <Integer > missingVersions = new TreeSet <>();
235
231
TransportVersion previous = null ;
236
- for (var tv : TransportVersions .getAllVersions ()) {
232
+ for (var tv : TransportVersion .getAllVersions ()) {
237
233
if (tv .before (TransportVersions .V_8_16_0 )) {
238
234
continue ;
239
235
}
@@ -261,7 +257,7 @@ public void testDenseTransportVersions() {
261
257
}
262
258
263
259
public void testDuplicateConstants () {
264
- List <TransportVersion > tvs = TransportVersions .getAllVersions ().stream ().sorted ().toList ();
260
+ List <TransportVersion > tvs = TransportVersion .getAllVersions ().stream ().sorted ().toList ();
265
261
TransportVersion previous = tvs .get (0 );
266
262
for (int i = 1 ; i < tvs .size (); i ++) {
267
263
TransportVersion next = tvs .get (i );
@@ -271,4 +267,112 @@ public void testDuplicateConstants() {
271
267
previous = next ;
272
268
}
273
269
}
270
+
271
+ public void testFromName () {
272
+ assertThat (TransportVersion .fromName ("test_0" ), is (new TransportVersion ("test_0" , 3001000 , null )));
273
+ assertThat (TransportVersion .fromName ("test_1" ), is (new TransportVersion ("test_1" , 3002000 , null )));
274
+ assertThat (
275
+ TransportVersion .fromName ("test_2" ),
276
+ is (
277
+ new TransportVersion (
278
+ "test_2" ,
279
+ 3003000 ,
280
+ new TransportVersion ("test_2" , 2001001 , new TransportVersion ("test_2" , 1001001 , null ))
281
+ )
282
+ )
283
+ );
284
+ assertThat (
285
+ TransportVersion .fromName ("test_3" ),
286
+ is (new TransportVersion ("test_3" , 3003001 , new TransportVersion ("test_3" , 2001002 , null )))
287
+ );
288
+ assertThat (
289
+ TransportVersion .fromName ("test_4" ),
290
+ is (
291
+ new TransportVersion (
292
+ "test_4" ,
293
+ 3003002 ,
294
+ new TransportVersion ("test_4" , 2001003 , new TransportVersion ("test_4" , 1001002 , null ))
295
+ )
296
+ )
297
+ );
298
+ }
299
+
300
+ public void testSupports () {
301
+ TransportVersion test0 = TransportVersion .fromName ("test_0" );
302
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test0 ), is (false ));
303
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test0 ), is (true ));
304
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test0 ), is (true ));
305
+
306
+ TransportVersion test1 = TransportVersion .fromName ("test_1" );
307
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test1 ), is (false ));
308
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test1 ), is (false ));
309
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test1 ), is (false ));
310
+ assertThat (new TransportVersion (null , 3002000 , null ).supports (test1 ), is (true ));
311
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test1 ), is (true ));
312
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test1 ), is (true ));
313
+
314
+ TransportVersion test2 = TransportVersion .fromName ("test_2" );
315
+ assertThat (new TransportVersion (null , 1001000 , null ).supports (test2 ), is (false ));
316
+ assertThat (new TransportVersion (null , 1001001 , null ).supports (test2 ), is (true ));
317
+ assertThat (new TransportVersion (null , 1001002 , null ).supports (test2 ), is (true ));
318
+ assertThat (new TransportVersion (null , 1002000 , null ).supports (test2 ), is (false ));
319
+ assertThat (new TransportVersion (null , 1002001 , null ).supports (test2 ), is (false ));
320
+ assertThat (new TransportVersion (null , 2001000 , null ).supports (test2 ), is (false ));
321
+ assertThat (new TransportVersion (null , 2001001 , null ).supports (test2 ), is (true ));
322
+ assertThat (new TransportVersion (null , 2001002 , null ).supports (test2 ), is (true ));
323
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test2 ), is (false ));
324
+ assertThat (new TransportVersion (null , 2003001 , null ).supports (test2 ), is (false ));
325
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test2 ), is (false ));
326
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test2 ), is (false ));
327
+ assertThat (new TransportVersion (null , 3003000 , null ).supports (test2 ), is (true ));
328
+ assertThat (new TransportVersion (null , 3003001 , null ).supports (test2 ), is (true ));
329
+ assertThat (new TransportVersion (null , 3003002 , null ).supports (test2 ), is (true ));
330
+ assertThat (new TransportVersion (null , 3003003 , null ).supports (test2 ), is (true ));
331
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test2 ), is (true ));
332
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test2 ), is (true ));
333
+
334
+ TransportVersion test3 = TransportVersion .fromName ("test_3" );
335
+ assertThat (new TransportVersion (null , 1001001 , null ).supports (test3 ), is (false ));
336
+ assertThat (new TransportVersion (null , 1001002 , null ).supports (test3 ), is (false ));
337
+ assertThat (new TransportVersion (null , 1001003 , null ).supports (test3 ), is (false ));
338
+ assertThat (new TransportVersion (null , 1002001 , null ).supports (test3 ), is (false ));
339
+ assertThat (new TransportVersion (null , 1002002 , null ).supports (test3 ), is (false ));
340
+ assertThat (new TransportVersion (null , 2001001 , null ).supports (test3 ), is (false ));
341
+ assertThat (new TransportVersion (null , 2001002 , null ).supports (test3 ), is (true ));
342
+ assertThat (new TransportVersion (null , 2001003 , null ).supports (test3 ), is (true ));
343
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test3 ), is (false ));
344
+ assertThat (new TransportVersion (null , 2003001 , null ).supports (test3 ), is (false ));
345
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test3 ), is (false ));
346
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test3 ), is (false ));
347
+ assertThat (new TransportVersion (null , 3003000 , null ).supports (test3 ), is (false ));
348
+ assertThat (new TransportVersion (null , 3003001 , null ).supports (test3 ), is (true ));
349
+ assertThat (new TransportVersion (null , 3003002 , null ).supports (test3 ), is (true ));
350
+ assertThat (new TransportVersion (null , 3003003 , null ).supports (test3 ), is (true ));
351
+ assertThat (new TransportVersion (null , 3004000 , null ).supports (test3 ), is (true ));
352
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test3 ), is (true ));
353
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test3 ), is (true ));
354
+
355
+ TransportVersion test4 = TransportVersion .fromName ("test_4" );
356
+ assertThat (new TransportVersion (null , 1001001 , null ).supports (test4 ), is (false ));
357
+ assertThat (new TransportVersion (null , 1001002 , null ).supports (test4 ), is (true ));
358
+ assertThat (new TransportVersion (null , 1001003 , null ).supports (test4 ), is (true ));
359
+ assertThat (new TransportVersion (null , 1002001 , null ).supports (test4 ), is (false ));
360
+ assertThat (new TransportVersion (null , 1002002 , null ).supports (test4 ), is (false ));
361
+ assertThat (new TransportVersion (null , 1002003 , null ).supports (test3 ), is (false ));
362
+ assertThat (new TransportVersion (null , 2001002 , null ).supports (test4 ), is (false ));
363
+ assertThat (new TransportVersion (null , 2001003 , null ).supports (test4 ), is (true ));
364
+ assertThat (new TransportVersion (null , 2001004 , null ).supports (test4 ), is (true ));
365
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test4 ), is (false ));
366
+ assertThat (new TransportVersion (null , 2003001 , null ).supports (test4 ), is (false ));
367
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test4 ), is (false ));
368
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test4 ), is (false ));
369
+ assertThat (new TransportVersion (null , 3003000 , null ).supports (test4 ), is (false ));
370
+ assertThat (new TransportVersion (null , 3003001 , null ).supports (test4 ), is (false ));
371
+ assertThat (new TransportVersion (null , 3003002 , null ).supports (test4 ), is (true ));
372
+ assertThat (new TransportVersion (null , 3003003 , null ).supports (test4 ), is (true ));
373
+ assertThat (new TransportVersion (null , 3003004 , null ).supports (test4 ), is (true ));
374
+ assertThat (new TransportVersion (null , 3004000 , null ).supports (test4 ), is (true ));
375
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test4 ), is (true ));
376
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test4 ), is (true ));
377
+ }
274
378
}
0 commit comments