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 ;
@@ -35,7 +34,7 @@ public class TransportVersionTests extends ESTestCase {
35
34
* This test is specific for 8.18, to ensure that transport versions are backported correctly. Do not forward or backport it.
36
35
*/
37
36
public void testMaximumAllowedTransportVersion () {
38
- assertThat (TransportVersions . LATEST_DEFINED .isPatchFrom (TransportVersions .ML_INFERENCE_IBM_WATSONX_RERANK_ADDED ), is (true ));
37
+ assertThat (TransportVersion . current () .isPatchFrom (TransportVersions .ML_INFERENCE_IBM_WATSONX_RERANK_ADDED ), is (true ));
39
38
}
40
39
41
40
public void testVersionComparison () {
@@ -77,21 +76,18 @@ public static class DuplicatedIdFakeVersion {
77
76
78
77
public void testStaticTransportVersionChecks () {
79
78
assertThat (
80
- TransportVersions .getAllVersionIds (CorrectFakeVersion .class ),
81
- equalTo (
82
- Map .of (
83
- 199 ,
84
- CorrectFakeVersion .V_0_00_01 ,
85
- 2 ,
86
- CorrectFakeVersion .V_0_000_002 ,
87
- 3 ,
88
- CorrectFakeVersion .V_0_000_003 ,
89
- 4 ,
90
- CorrectFakeVersion .V_0_000_004
91
- )
79
+ TransportVersions .collectAllVersionIdsDefinedInClass (CorrectFakeVersion .class ),
80
+ contains (
81
+ CorrectFakeVersion .V_0_000_002 ,
82
+ CorrectFakeVersion .V_0_000_003 ,
83
+ CorrectFakeVersion .V_0_000_004 ,
84
+ CorrectFakeVersion .V_0_00_01
92
85
)
93
86
);
94
- AssertionError e = expectThrows (AssertionError .class , () -> TransportVersions .getAllVersionIds (DuplicatedIdFakeVersion .class ));
87
+ AssertionError e = expectThrows (
88
+ AssertionError .class ,
89
+ () -> TransportVersions .collectAllVersionIdsDefinedInClass (DuplicatedIdFakeVersion .class )
90
+ );
95
91
assertThat (e .getMessage (), containsString ("have the same version number" ));
96
92
}
97
93
@@ -194,7 +190,7 @@ public void testVersionConstantPresent() {
194
190
}
195
191
196
192
public void testCURRENTIsLatest () {
197
- assertThat (Collections .max (TransportVersions .getAllVersions ()), is (TransportVersion .current ()));
193
+ assertThat (Collections .max (TransportVersion .getAllVersions ()), is (TransportVersion .current ()));
198
194
}
199
195
200
196
public void testPatchVersionsStillAvailable () {
@@ -231,7 +227,7 @@ public void testToString() {
231
227
public void testDenseTransportVersions () {
232
228
Set <Integer > missingVersions = new TreeSet <>();
233
229
TransportVersion previous = null ;
234
- for (var tv : TransportVersions .getAllVersions ()) {
230
+ for (var tv : TransportVersion .getAllVersions ()) {
235
231
if (tv .before (TransportVersions .V_8_16_0 )) {
236
232
continue ;
237
233
}
@@ -259,7 +255,7 @@ public void testDenseTransportVersions() {
259
255
}
260
256
261
257
public void testDuplicateConstants () {
262
- List <TransportVersion > tvs = TransportVersions .getAllVersions ().stream ().sorted ().toList ();
258
+ List <TransportVersion > tvs = TransportVersion .getAllVersions ().stream ().sorted ().toList ();
263
259
TransportVersion previous = tvs .get (0 );
264
260
for (int i = 1 ; i < tvs .size (); i ++) {
265
261
TransportVersion next = tvs .get (i );
@@ -269,4 +265,112 @@ public void testDuplicateConstants() {
269
265
previous = next ;
270
266
}
271
267
}
268
+
269
+ public void testFromName () {
270
+ assertThat (TransportVersion .fromName ("test_0" ), is (new TransportVersion ("test_0" , 3001000 , null )));
271
+ assertThat (TransportVersion .fromName ("test_1" ), is (new TransportVersion ("test_1" , 3002000 , null )));
272
+ assertThat (
273
+ TransportVersion .fromName ("test_2" ),
274
+ is (
275
+ new TransportVersion (
276
+ "test_2" ,
277
+ 3003000 ,
278
+ new TransportVersion ("test_2" , 2001001 , new TransportVersion ("test_2" , 1001001 , null ))
279
+ )
280
+ )
281
+ );
282
+ assertThat (
283
+ TransportVersion .fromName ("test_3" ),
284
+ is (new TransportVersion ("test_3" , 3003001 , new TransportVersion ("test_3" , 2001002 , null )))
285
+ );
286
+ assertThat (
287
+ TransportVersion .fromName ("test_4" ),
288
+ is (
289
+ new TransportVersion (
290
+ "test_4" ,
291
+ 3003002 ,
292
+ new TransportVersion ("test_4" , 2001003 , new TransportVersion ("test_4" , 1001002 , null ))
293
+ )
294
+ )
295
+ );
296
+ }
297
+
298
+ public void testSupports () {
299
+ TransportVersion test0 = TransportVersion .fromName ("test_0" );
300
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test0 ), is (false ));
301
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test0 ), is (true ));
302
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test0 ), is (true ));
303
+
304
+ TransportVersion test1 = TransportVersion .fromName ("test_1" );
305
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test1 ), is (false ));
306
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test1 ), is (false ));
307
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test1 ), is (false ));
308
+ assertThat (new TransportVersion (null , 3002000 , null ).supports (test1 ), is (true ));
309
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test1 ), is (true ));
310
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test1 ), is (true ));
311
+
312
+ TransportVersion test2 = TransportVersion .fromName ("test_2" );
313
+ assertThat (new TransportVersion (null , 1001000 , null ).supports (test2 ), is (false ));
314
+ assertThat (new TransportVersion (null , 1001001 , null ).supports (test2 ), is (true ));
315
+ assertThat (new TransportVersion (null , 1001002 , null ).supports (test2 ), is (true ));
316
+ assertThat (new TransportVersion (null , 1002000 , null ).supports (test2 ), is (false ));
317
+ assertThat (new TransportVersion (null , 1002001 , null ).supports (test2 ), is (false ));
318
+ assertThat (new TransportVersion (null , 2001000 , null ).supports (test2 ), is (false ));
319
+ assertThat (new TransportVersion (null , 2001001 , null ).supports (test2 ), is (true ));
320
+ assertThat (new TransportVersion (null , 2001002 , null ).supports (test2 ), is (true ));
321
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test2 ), is (false ));
322
+ assertThat (new TransportVersion (null , 2003001 , null ).supports (test2 ), is (false ));
323
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test2 ), is (false ));
324
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test2 ), is (false ));
325
+ assertThat (new TransportVersion (null , 3003000 , null ).supports (test2 ), is (true ));
326
+ assertThat (new TransportVersion (null , 3003001 , null ).supports (test2 ), is (true ));
327
+ assertThat (new TransportVersion (null , 3003002 , null ).supports (test2 ), is (true ));
328
+ assertThat (new TransportVersion (null , 3003003 , null ).supports (test2 ), is (true ));
329
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test2 ), is (true ));
330
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test2 ), is (true ));
331
+
332
+ TransportVersion test3 = TransportVersion .fromName ("test_3" );
333
+ assertThat (new TransportVersion (null , 1001001 , null ).supports (test3 ), is (false ));
334
+ assertThat (new TransportVersion (null , 1001002 , null ).supports (test3 ), is (false ));
335
+ assertThat (new TransportVersion (null , 1001003 , null ).supports (test3 ), is (false ));
336
+ assertThat (new TransportVersion (null , 1002001 , null ).supports (test3 ), is (false ));
337
+ assertThat (new TransportVersion (null , 1002002 , null ).supports (test3 ), is (false ));
338
+ assertThat (new TransportVersion (null , 2001001 , null ).supports (test3 ), is (false ));
339
+ assertThat (new TransportVersion (null , 2001002 , null ).supports (test3 ), is (true ));
340
+ assertThat (new TransportVersion (null , 2001003 , null ).supports (test3 ), is (true ));
341
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test3 ), is (false ));
342
+ assertThat (new TransportVersion (null , 2003001 , null ).supports (test3 ), is (false ));
343
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test3 ), is (false ));
344
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test3 ), is (false ));
345
+ assertThat (new TransportVersion (null , 3003000 , null ).supports (test3 ), is (false ));
346
+ assertThat (new TransportVersion (null , 3003001 , null ).supports (test3 ), is (true ));
347
+ assertThat (new TransportVersion (null , 3003002 , null ).supports (test3 ), is (true ));
348
+ assertThat (new TransportVersion (null , 3003003 , null ).supports (test3 ), is (true ));
349
+ assertThat (new TransportVersion (null , 3004000 , null ).supports (test3 ), is (true ));
350
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test3 ), is (true ));
351
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test3 ), is (true ));
352
+
353
+ TransportVersion test4 = TransportVersion .fromName ("test_4" );
354
+ assertThat (new TransportVersion (null , 1001001 , null ).supports (test4 ), is (false ));
355
+ assertThat (new TransportVersion (null , 1001002 , null ).supports (test4 ), is (true ));
356
+ assertThat (new TransportVersion (null , 1001003 , null ).supports (test4 ), is (true ));
357
+ assertThat (new TransportVersion (null , 1002001 , null ).supports (test4 ), is (false ));
358
+ assertThat (new TransportVersion (null , 1002002 , null ).supports (test4 ), is (false ));
359
+ assertThat (new TransportVersion (null , 1002003 , null ).supports (test3 ), is (false ));
360
+ assertThat (new TransportVersion (null , 2001002 , null ).supports (test4 ), is (false ));
361
+ assertThat (new TransportVersion (null , 2001003 , null ).supports (test4 ), is (true ));
362
+ assertThat (new TransportVersion (null , 2001004 , null ).supports (test4 ), is (true ));
363
+ assertThat (new TransportVersion (null , 2003000 , null ).supports (test4 ), is (false ));
364
+ assertThat (new TransportVersion (null , 2003001 , null ).supports (test4 ), is (false ));
365
+ assertThat (new TransportVersion (null , 3001000 , null ).supports (test4 ), is (false ));
366
+ assertThat (new TransportVersion (null , 3001001 , null ).supports (test4 ), is (false ));
367
+ assertThat (new TransportVersion (null , 3003000 , null ).supports (test4 ), is (false ));
368
+ assertThat (new TransportVersion (null , 3003001 , null ).supports (test4 ), is (false ));
369
+ assertThat (new TransportVersion (null , 3003002 , null ).supports (test4 ), is (true ));
370
+ assertThat (new TransportVersion (null , 3003003 , null ).supports (test4 ), is (true ));
371
+ assertThat (new TransportVersion (null , 3003004 , null ).supports (test4 ), is (true ));
372
+ assertThat (new TransportVersion (null , 3004000 , null ).supports (test4 ), is (true ));
373
+ assertThat (new TransportVersion (null , 100001000 , null ).supports (test4 ), is (true ));
374
+ assertThat (new TransportVersion (null , 100001001 , null ).supports (test4 ), is (true ));
375
+ }
272
376
}
0 commit comments