From bca508ac00aade7b23e01875b7d8f71b32ed5832 Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Tue, 1 Apr 2025 13:23:28 +0300 Subject: [PATCH] added test --- .../server/controller/EntityQueryControllerTest.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/application/src/test/java/org/thingsboard/server/controller/EntityQueryControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/EntityQueryControllerTest.java index 90b7ea7c7b..29a208a805 100644 --- a/application/src/test/java/org/thingsboard/server/controller/EntityQueryControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/EntityQueryControllerTest.java @@ -499,7 +499,8 @@ public class EntityQueryControllerTest extends AbstractControllerTest { ); EntityDataPageLink pageLink = new EntityDataPageLink(10, 0, null, sortOrder); List entityFields = Collections.singletonList(new EntityKey(EntityKeyType.ENTITY_FIELD, "name")); - List latestValues = Collections.singletonList(new EntityKey(EntityKeyType.ATTRIBUTE, "temperature")); + List latestValues = List.of(new EntityKey(EntityKeyType.ATTRIBUTE, "temperature"), + new EntityKey(EntityKeyType.ATTRIBUTE, "non-existing-attribute")); EntityDataQuery query = new EntityDataQuery(filter, pageLink, entityFields, latestValues, null); PageData data = findByQueryAndCheck(query, 67); @@ -517,6 +518,14 @@ public class EntityQueryControllerTest extends AbstractControllerTest { List deviceTemperatures = temperatures.stream().map(aLong -> Long.toString(aLong)).collect(Collectors.toList()); Assert.assertEquals(deviceTemperatures, loadedTemperatures); + // check ts value == 0, value is empty string for non-existing data points + List loadedNonExistingAttributes = loadedEntities.stream().map(entityData -> + entityData.getLatest().get(EntityKeyType.ATTRIBUTE).get("non-existing-attribute")).toList(); + loadedNonExistingAttributes.forEach(tsValue -> { + assertThat(tsValue.getTs()).isEqualTo(0L); + assertThat(tsValue.getValue()).isEqualTo(""); + }); + pageLink = new EntityDataPageLink(10, 0, null, sortOrder); KeyFilter highTemperatureFilter = new KeyFilter(); highTemperatureFilter.setKey(new EntityKey(EntityKeyType.ATTRIBUTE, "temperature"));