BaseTimeseriesServiceTest added overwrite TS cases and historical data load case, that fails without condition on update only if ts is the latest
This commit is contained in:
parent
551325b8c7
commit
c49d97f7d1
@ -159,6 +159,40 @@ public abstract class BaseTimeseriesServiceTest extends AbstractServiceTest {
|
|||||||
Assert.assertEquals(toTsEntry(TS, stringKvEntry), entries.get(0));
|
Assert.assertEquals(toTsEntry(TS, stringKvEntry), entries.get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFindLatestOpt_givenSaveWithHistoricalNonOrderedTS() throws Exception {
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS - 1, stringKvEntry));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, stringKvEntry));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS - 10, stringKvEntry));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS - 11, stringKvEntry));
|
||||||
|
|
||||||
|
Optional<TsKvEntry> entryOpt = tsService.findLatest(tenantId, deviceId, STRING_KEY).get(MAX_TIMEOUT, TimeUnit.SECONDS);
|
||||||
|
assertThat(entryOpt).isNotNull().isPresent();
|
||||||
|
Assert.assertEquals(toTsEntry(TS, stringKvEntry), entryOpt.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFindLatestOpt_givenSaveWithSameTSOverwriteValue() throws Exception {
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, new StringDataEntry(STRING_KEY, "old")));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, new StringDataEntry(STRING_KEY, "new")));
|
||||||
|
|
||||||
|
Optional<TsKvEntry> entryOpt = tsService.findLatest(tenantId, deviceId, STRING_KEY).get(MAX_TIMEOUT, TimeUnit.SECONDS);
|
||||||
|
assertThat(entryOpt).isNotNull().isPresent();
|
||||||
|
Assert.assertEquals(toTsEntry(TS, new StringDataEntry(STRING_KEY, "new")), entryOpt.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testFindLatestOpt_givenSaveWithSameTSOverwriteTypeAndValue() throws Exception {
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, new JsonDataEntry("temp", "{\"hello\":\"world\"}")));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, new BooleanDataEntry("temp", true)));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, new LongDataEntry("temp", 100L)));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, new DoubleDataEntry("temp", Math.PI)));
|
||||||
|
save(tenantId, deviceId, toTsEntry(TS, new StringDataEntry("temp", "NOOP")));
|
||||||
|
|
||||||
|
Optional<TsKvEntry> entryOpt = tsService.findLatest(tenantId, deviceId, STRING_KEY).get(MAX_TIMEOUT, TimeUnit.SECONDS);
|
||||||
|
assertThat(entryOpt).isNotNull().isPresent();
|
||||||
|
Assert.assertEquals(toTsEntry(TS, new StringDataEntry("temp", "NOOP")), entryOpt.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFindLatestOpt() throws Exception {
|
public void testFindLatestOpt() throws Exception {
|
||||||
saveEntries(deviceId, TS - 2);
|
saveEntries(deviceId, TS - 2);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user