|
|
|
@ -95,7 +95,6 @@ import org.thingsboard.server.dao.edge.EdgeService; |
|
|
|
import org.thingsboard.server.dao.entity.EntityService; |
|
|
|
import org.thingsboard.server.dao.entityview.EntityViewDao; |
|
|
|
import org.thingsboard.server.dao.entityview.EntityViewService; |
|
|
|
import org.thingsboard.server.dao.model.sqlts.ts.TsKvEntity; |
|
|
|
import org.thingsboard.server.dao.relation.RelationService; |
|
|
|
import org.thingsboard.server.dao.service.DaoSqlTest; |
|
|
|
import org.thingsboard.server.dao.sql.relation.RelationRepository; |
|
|
|
@ -1664,7 +1663,7 @@ public class EntityServiceTest extends AbstractControllerTest { |
|
|
|
List<ListenableFuture<TimeseriesSaveResult>> timeseriesFutures = new ArrayList<>(); |
|
|
|
for (int i = 0; i < devices.size(); i++) { |
|
|
|
Device device = devices.get(i); |
|
|
|
timeseriesFutures.add(saveLongTimeseries(device.getId(), "temperature", temperatures.get(i))); |
|
|
|
timeseriesFutures.add(saveTimeseries(device.getId(), "temperature", temperatures.get(i))); |
|
|
|
} |
|
|
|
Futures.allAsList(timeseriesFutures).get(); |
|
|
|
|
|
|
|
@ -1711,6 +1710,13 @@ public class EntityServiceTest extends AbstractControllerTest { |
|
|
|
List<String> entitiesTelemetry = loadedEntities.stream().map(entityData -> entityData.getLatest().get(EntityKeyType.TIME_SERIES).get("temperature").getValue()).toList(); |
|
|
|
assertThat(entitiesTelemetry).containsExactlyElementsOf(expectedSortedList); |
|
|
|
|
|
|
|
// update temperature to long value for one of device
|
|
|
|
long longTempValue = -100L; |
|
|
|
saveTimeseries(devices.get(new Random().nextInt(66)).getId(), "temperature", longTempValue).get(); |
|
|
|
loadedEntities = loadAllData(querySortByTemp, deviceTemperatures.size()); |
|
|
|
entitiesTelemetry = loadedEntities.stream().map(entityData -> entityData.getLatest().get(EntityKeyType.TIME_SERIES).get("temperature").getValue()).toList(); |
|
|
|
assertThat(entitiesTelemetry.get(0)).isEqualTo(String.valueOf(longTempValue)); |
|
|
|
|
|
|
|
deviceService.deleteDevicesByTenantId(tenantId); |
|
|
|
} |
|
|
|
|
|
|
|
@ -2252,15 +2258,18 @@ public class EntityServiceTest extends AbstractControllerTest { |
|
|
|
return attributesService.save(tenantId, entityId, scope, Collections.singletonList(attr)); |
|
|
|
} |
|
|
|
|
|
|
|
private ListenableFuture<TimeseriesSaveResult> saveLongTimeseries(EntityId entityId, String key, Double value) { |
|
|
|
TsKvEntity tsKv = new TsKvEntity(); |
|
|
|
tsKv.setStrKey(key); |
|
|
|
tsKv.setDoubleValue(value); |
|
|
|
private ListenableFuture<TimeseriesSaveResult> saveTimeseries(EntityId entityId, String key, Double value) { |
|
|
|
KvEntry telemetryValue = new DoubleDataEntry(key, value); |
|
|
|
BasicTsKvEntry timeseries = new BasicTsKvEntry(42L, telemetryValue); |
|
|
|
return timeseriesService.save(tenantId, entityId, timeseries); |
|
|
|
} |
|
|
|
|
|
|
|
private ListenableFuture<TimeseriesSaveResult> saveTimeseries(EntityId entityId, String key, Long value) { |
|
|
|
KvEntry telemetryValue = new LongDataEntry(key, value); |
|
|
|
BasicTsKvEntry timeseries = new BasicTsKvEntry(42L, telemetryValue); |
|
|
|
return timeseriesService.save(tenantId, entityId, timeseries); |
|
|
|
} |
|
|
|
|
|
|
|
protected void createMultiRootHierarchy(List<Asset> buildings, List<Asset> apartments, |
|
|
|
Map<String, Map<UUID, String>> entityNameByTypeMap, |
|
|
|
Map<UUID, UUID> childParentRelationMap) throws InterruptedException { |
|
|
|
|