BaseTimeseriesServiceTest refactored

This commit is contained in:
Sergey Matvienko 2024-04-16 16:43:20 +02:00
parent 44096a7cb7
commit 3003fccf3b

View File

@ -17,6 +17,7 @@ package org.thingsboard.server.dao.service.timeseries;
import com.datastax.oss.driver.api.core.uuid.Uuids; import com.datastax.oss.driver.api.core.uuid.Uuids;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.assertj.core.data.Offset;
import org.junit.After; import org.junit.After;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
@ -32,6 +33,7 @@ import org.thingsboard.server.common.data.kv.BaseDeleteTsKvQuery;
import org.thingsboard.server.common.data.kv.BaseReadTsKvQuery; import org.thingsboard.server.common.data.kv.BaseReadTsKvQuery;
import org.thingsboard.server.common.data.kv.BasicTsKvEntry; import org.thingsboard.server.common.data.kv.BasicTsKvEntry;
import org.thingsboard.server.common.data.kv.BooleanDataEntry; import org.thingsboard.server.common.data.kv.BooleanDataEntry;
import org.thingsboard.server.common.data.kv.DataType;
import org.thingsboard.server.common.data.kv.DoubleDataEntry; import org.thingsboard.server.common.data.kv.DoubleDataEntry;
import org.thingsboard.server.common.data.kv.JsonDataEntry; import org.thingsboard.server.common.data.kv.JsonDataEntry;
import org.thingsboard.server.common.data.kv.KvEntry; import org.thingsboard.server.common.data.kv.KvEntry;
@ -50,15 +52,14 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
/** /**
* @author Andrew Shvayka * @author Andrew Shvayka
@ -89,6 +90,7 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
KvEntry booleanKvEntry = new BooleanDataEntry(BOOLEAN_KEY, Boolean.TRUE); KvEntry booleanKvEntry = new BooleanDataEntry(BOOLEAN_KEY, Boolean.TRUE);
protected TenantId tenantId; protected TenantId tenantId;
DeviceId deviceId = new DeviceId(Uuids.timeBased());
@Before @Before
public void before() { public void before() {
@ -106,8 +108,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindAllLatest() throws Exception { public void testFindAllLatest() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 2); saveEntries(deviceId, TS - 2);
saveEntries(deviceId, TS - 1); saveEntries(deviceId, TS - 1);
saveEntries(deviceId, TS); saveEntries(deviceId, TS);
@ -150,8 +150,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindLatest() throws Exception { public void testFindLatest() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 2); saveEntries(deviceId, TS - 2);
saveEntries(deviceId, TS - 1); saveEntries(deviceId, TS - 1);
saveEntries(deviceId, TS); saveEntries(deviceId, TS);
@ -163,8 +161,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindLatestWithoutLatestUpdate() throws Exception { public void testFindLatestWithoutLatestUpdate() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 2); saveEntries(deviceId, TS - 2);
saveEntries(deviceId, TS - 1); saveEntries(deviceId, TS - 1);
saveEntriesWithoutLatest(deviceId, TS); saveEntriesWithoutLatest(deviceId, TS);
@ -176,8 +172,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQueryAscOrder() throws Exception { public void testFindByQueryAscOrder() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 3); saveEntries(deviceId, TS - 3);
saveEntries(deviceId, TS - 2); saveEntries(deviceId, TS - 2);
saveEntries(deviceId, TS - 1); saveEntries(deviceId, TS - 1);
@ -202,7 +196,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQuery_whenPeriodEqualsOneMilisecondPeriod() throws Exception { public void testFindByQuery_whenPeriodEqualsOneMilisecondPeriod() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 1L); saveEntries(deviceId, TS - 1L);
saveEntries(deviceId, TS); saveEntries(deviceId, TS);
saveEntries(deviceId, TS + 1L); saveEntries(deviceId, TS + 1L);
@ -222,7 +215,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQuery_whenPeriodEqualsInterval() throws Exception { public void testFindByQuery_whenPeriodEqualsInterval() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 1L); saveEntries(deviceId, TS - 1L);
for (long i = TS; i <= TS + 100L; i += 10L) { for (long i = TS; i <= TS + 100L; i += 10L) {
saveEntries(deviceId, i); saveEntries(deviceId, i);
@ -244,7 +236,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQuery_whenPeriodHaveTwoIntervalWithEqualsLength() throws Exception { public void testFindByQuery_whenPeriodHaveTwoIntervalWithEqualsLength() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 1L); saveEntries(deviceId, TS - 1L);
for (long i = TS; i <= TS + 100000L; i += 10000L) { for (long i = TS; i <= TS + 100000L; i += 10000L) {
saveEntries(deviceId, i); saveEntries(deviceId, i);
@ -268,7 +259,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQuery_whenPeriodHaveTwoInterval_whereSecondShorterThanFirst() throws Exception { public void testFindByQuery_whenPeriodHaveTwoInterval_whereSecondShorterThanFirst() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 1L); saveEntries(deviceId, TS - 1L);
for (long i = TS; i <= TS + 80000L; i += 10000L) { for (long i = TS; i <= TS + 80000L; i += 10000L) {
saveEntries(deviceId, i); saveEntries(deviceId, i);
@ -292,7 +282,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQuery_whenPeriodHaveTwoIntervalWithEqualsLength_whereNotAllEntriesInRange() throws Exception { public void testFindByQuery_whenPeriodHaveTwoIntervalWithEqualsLength_whereNotAllEntriesInRange() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
for (long i = TS - 1L; i <= TS + 100000L + 1L; i += 10000) { for (long i = TS - 1L; i <= TS + 100000L + 1L; i += 10000) {
saveEntries(deviceId, i); saveEntries(deviceId, i);
} }
@ -314,7 +303,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQuery_whenPeriodHaveTwoInterval_whereSecondShorterThanFirst_andNotAllEntriesInRange() throws Exception { public void testFindByQuery_whenPeriodHaveTwoInterval_whereSecondShorterThanFirst_andNotAllEntriesInRange() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
for (long i = TS - 1L; i <= TS + 100000L + 1L; i += 10000L) { for (long i = TS - 1L; i <= TS + 100000L + 1L; i += 10000L) {
saveEntries(deviceId, i); saveEntries(deviceId, i);
} }
@ -336,8 +324,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindByQueryDescOrder() throws Exception { public void testFindByQueryDescOrder() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS - 3); saveEntries(deviceId, TS - 3);
saveEntries(deviceId, TS - 2); saveEntries(deviceId, TS - 2);
saveEntries(deviceId, TS - 1); saveEntries(deviceId, TS - 1);
@ -362,7 +348,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindAllByQueries_verifyQueryId() throws Exception { public void testFindAllByQueries_verifyQueryId() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS); saveEntries(deviceId, TS);
saveEntries(deviceId, TS - 2); saveEntries(deviceId, TS - 2);
saveEntries(deviceId, TS - 10); saveEntries(deviceId, TS - 10);
@ -373,7 +358,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindAllByQueries_verifyQueryId_forEntityView() throws Exception { public void testFindAllByQueries_verifyQueryId_forEntityView() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, TS); saveEntries(deviceId, TS);
saveEntries(deviceId, TS - 2); saveEntries(deviceId, TS - 2);
saveEntries(deviceId, TS - 12); saveEntries(deviceId, TS - 12);
@ -392,8 +376,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testDeleteDeviceTsDataWithOverwritingLatest() throws Exception { public void testDeleteDeviceTsDataWithOverwritingLatest() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
saveEntries(deviceId, 10000); saveEntries(deviceId, 10000);
saveEntries(deviceId, 20000); saveEntries(deviceId, 20000);
saveEntries(deviceId, 30000); saveEntries(deviceId, 30000);
@ -412,7 +394,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindDeviceTsData() throws Exception { public void testFindDeviceTsData() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
List<TsKvEntry> entries = new ArrayList<>(); List<TsKvEntry> entries = new ArrayList<>();
entries.add(save(deviceId, 5000, 100)); entries.add(save(deviceId, 5000, 100));
@ -563,7 +544,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testFindDeviceLongAndDoubleTsData() throws Exception { public void testFindDeviceLongAndDoubleTsData() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
List<TsKvEntry> entries = new ArrayList<>(); List<TsKvEntry> entries = new ArrayList<>();
entries.add(save(deviceId, 5000, 100)); entries.add(save(deviceId, 5000, 100));
@ -654,8 +634,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
@Test @Test
public void testSaveTs_RemoveTs_AndSaveTsAgain() throws Exception { public void testSaveTs_RemoveTs_AndSaveTsAgain() throws Exception {
DeviceId deviceId = new DeviceId(Uuids.timeBased());
save(deviceId, 2000000L, 95); save(deviceId, 2000000L, 95);
save(deviceId, 4000000L, 100); save(deviceId, 4000000L, 100);
save(deviceId, 6000000L, 105); save(deviceId, 6000000L, 105);
@ -686,7 +664,6 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
BasicTsKvEntry jsonEntry = new BasicTsKvEntry(TimeUnit.MINUTES.toMillis(5), new JsonDataEntry("test", "{\"test\":\"testValue\"}")); BasicTsKvEntry jsonEntry = new BasicTsKvEntry(TimeUnit.MINUTES.toMillis(5), new JsonDataEntry("test", "{\"test\":\"testValue\"}"));
List<TsKvEntry> timeseries = List.of(booleanEntry, stringEntry, longEntry, doubleEntry, jsonEntry); List<TsKvEntry> timeseries = List.of(booleanEntry, stringEntry, longEntry, doubleEntry, jsonEntry);
DeviceId deviceId = new DeviceId(Uuids.timeBased());
for (TsKvEntry tsKvEntry : timeseries) { for (TsKvEntry tsKvEntry : timeseries) {
save(tenantId, deviceId, tsKvEntry); save(tenantId, deviceId, tsKvEntry);
} }