From d5fe1db7d4b64729391937491e629a146d7eade2 Mon Sep 17 00:00:00 2001 From: Nikita Mazurenko Date: Fri, 23 Jan 2026 13:00:53 +0200 Subject: [PATCH] Add test to verify that enum proto EdgeVersion is synchronized with maven project.version --- application/pom.xml | 1 + .../server/edge/EdgeLatestVersionTest.java | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 application/src/test/java/org/thingsboard/server/edge/EdgeLatestVersionTest.java diff --git a/application/pom.xml b/application/pom.xml index 36dfcac42f..6903cae2e4 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -458,6 +458,7 @@ thingsboard + ${project.version} **/nosql/*Test.java diff --git a/application/src/test/java/org/thingsboard/server/edge/EdgeLatestVersionTest.java b/application/src/test/java/org/thingsboard/server/edge/EdgeLatestVersionTest.java new file mode 100644 index 0000000000..079cea1b35 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/edge/EdgeLatestVersionTest.java @@ -0,0 +1,31 @@ +package org.thingsboard.server.edge; + +import org.junit.Assert; +import org.junit.Test; +import org.thingsboard.server.gen.edge.v1.EdgeVersion; + +import java.util.Arrays; +import java.util.Comparator; + +public class EdgeLatestVersionTest { + + @Test + public void edgeLatestVersionIsSynchronizedTest() { + EdgeVersion currentHighestEdgeVersion = Arrays.stream(EdgeVersion.values()) + .filter(v -> v != EdgeVersion.UNRECOGNIZED) + .filter(v -> v != EdgeVersion.V_LATEST) + .max(Comparator.comparingInt(EdgeVersion::getNumber)) + .orElseThrow(); + + String projectVersion = EdgeLatestVersionTest.class.getPackage().getImplementationVersion(); + if (projectVersion == null || projectVersion.isBlank()) { + projectVersion = System.getProperty("project.version", "UNKNOWN"); + } + + String projectVersionDigits = projectVersion.replaceAll("\\D", ""); + String currentHighestEdgeVersionDigits = currentHighestEdgeVersion.name().replaceAll("\\D", ""); + + Assert.assertEquals(projectVersionDigits, currentHighestEdgeVersionDigits); + } + +}