Skip to content

Commit 02ecb36

Browse files
committed
Test for duplicate transport versions
We used to have an assertion during transport version loading that duplicate ids were not found, but it appears to have been lost in refactorings. This commit adds a test to ensure duplicate ids do not occur. relates elastic#130486
1 parent 82b6e45 commit 02ecb36

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

server/src/test/java/org/elasticsearch/TransportVersionTests.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.elasticsearch.test.TransportVersionUtils;
1414

1515
import java.lang.reflect.Modifier;
16+
import java.util.List;
1617
import java.util.Set;
1718
import java.util.regex.Matcher;
1819
import java.util.regex.Pattern;
@@ -207,4 +208,16 @@ public void testToString() {
207208
assertEquals("2000099", TransportVersion.fromId(2_00_00_99).toString());
208209
assertEquals("5000099", TransportVersion.fromId(5_00_00_99).toString());
209210
}
211+
212+
public void testDuplicateConstants() {
213+
List<TransportVersion> tvs = TransportVersion.getAllVersions();
214+
TransportVersion previous = tvs.get(0);
215+
for (int i = 1; i < tvs.size(); i++) {
216+
TransportVersion next = tvs.get(i);
217+
if (next.id() == previous.id()) {
218+
throw new AssertionError("Duplicate transport version id: " + next.id());
219+
}
220+
previous = next;
221+
}
222+
}
210223
}

0 commit comments

Comments
 (0)