From 5fb5b8adebcff4ee9540bd72bc262a96466d1707 Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Mon, 9 Nov 2026 17:48:29 +0200 Subject: [PATCH] Keep the String limit overload of getTimeseriesHistory thingsboard/thingsboard#16561 documents limit of getTimeseriesHistory as an int32 integer. List it in legacyStringParams so the regenerated client keeps deprecated String overloads, and call them from ClientCompatibilityTest. --- openapi/client-compat.json | 3 +++ .../client/ClientCompatibilityTest.java | 21 +++++++++++++++++++ .../client/ClientCompatibilityTest.java | 21 +++++++++++++++++++ 3 files changed, 45 insertions(+) diff --git a/openapi/client-compat.json b/openapi/client-compat.json index 83a8e002..13d6d2a3 100644 --- a/openapi/client-compat.json +++ b/openapi/client-compat.json @@ -95,6 +95,9 @@ "pageSize", "page" ], + "getTimeseriesHistory": [ + "limit" + ], "getUserAssets": [ "pageSize", "page" diff --git a/paas/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java b/paas/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java index 7e074966..7c7b2d27 100644 --- a/paas/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java +++ b/paas/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; import org.thingsboard.client.api.ThingsboardApi; +import org.thingsboard.client.api.ThingsboardApi.GetTimeseriesHistoryArgs; import org.thingsboard.client.api.ThingsboardApi.GetUserAssetsArgs; import org.thingsboard.client.model.Alarm; import org.thingsboard.client.model.AlarmInfo; @@ -24,8 +25,10 @@ import org.thingsboard.client.model.AliasEntityType; import org.thingsboard.client.model.EntityType; import org.thingsboard.client.model.PageDataAsset; +import org.thingsboard.client.model.TsData; import java.time.Duration; +import java.util.List; import java.util.Map; import java.util.UUID; @@ -62,6 +65,24 @@ void pageParametersAcceptStrings() { }); } + @Test + void timeseriesLimitAcceptsString() { + Map headers = Map.of(); + String id = UUID.randomUUID().toString(); + GetTimeseriesHistoryArgs args = GetTimeseriesHistoryArgs.builder() + .entityType("DEVICE").entityId(id).startTs(0L).endTs(1L).keys("temperature").limit("100").build(); + + assertThrows(ApiException.class, () -> { + Map> data = api.getTimeseriesHistory(args); + }); + assertThrows(ApiException.class, () -> { + Map> data = api.getTimeseriesHistory("DEVICE", id, 0L, 1L, "temperature", null, null, null, "100", null, null, null, null); + }); + assertThrows(ApiException.class, () -> { + ApiResponse>> response = api.getTimeseriesHistoryWithHttpInfo("DEVICE", id, 0L, 1L, "temperature", null, null, null, "100", null, null, null, null, headers); + }); + } + @Test void assignAlarmReturnsAlarm() { String id = UUID.randomUUID().toString(); diff --git a/pe/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java b/pe/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java index 7e074966..7c7b2d27 100644 --- a/pe/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java +++ b/pe/src/test/java/org/thingsboard/client/ClientCompatibilityTest.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; import org.thingsboard.client.api.ThingsboardApi; +import org.thingsboard.client.api.ThingsboardApi.GetTimeseriesHistoryArgs; import org.thingsboard.client.api.ThingsboardApi.GetUserAssetsArgs; import org.thingsboard.client.model.Alarm; import org.thingsboard.client.model.AlarmInfo; @@ -24,8 +25,10 @@ import org.thingsboard.client.model.AliasEntityType; import org.thingsboard.client.model.EntityType; import org.thingsboard.client.model.PageDataAsset; +import org.thingsboard.client.model.TsData; import java.time.Duration; +import java.util.List; import java.util.Map; import java.util.UUID; @@ -62,6 +65,24 @@ void pageParametersAcceptStrings() { }); } + @Test + void timeseriesLimitAcceptsString() { + Map headers = Map.of(); + String id = UUID.randomUUID().toString(); + GetTimeseriesHistoryArgs args = GetTimeseriesHistoryArgs.builder() + .entityType("DEVICE").entityId(id).startTs(0L).endTs(1L).keys("temperature").limit("100").build(); + + assertThrows(ApiException.class, () -> { + Map> data = api.getTimeseriesHistory(args); + }); + assertThrows(ApiException.class, () -> { + Map> data = api.getTimeseriesHistory("DEVICE", id, 0L, 1L, "temperature", null, null, null, "100", null, null, null, null); + }); + assertThrows(ApiException.class, () -> { + ApiResponse>> response = api.getTimeseriesHistoryWithHttpInfo("DEVICE", id, 0L, 1L, "temperature", null, null, null, "100", null, null, null, null, headers); + }); + } + @Test void assignAlarmReturnsAlarm() { String id = UUID.randomUUID().toString();