@ -27,6 +27,7 @@ import org.thingsboard.server.common.data.page.PageData;
import org.thingsboard.server.common.data.page.TimePageLink ;
import org.thingsboard.server.dao.AbstractJpaDaoTest ;
import org.thingsboard.server.dao.event.EventDao ;
import org.thingsboard.server.dao.model.sql.RuleNodeDebugEventEntity ;
import java.util.List ;
import java.util.UUID ;
@ -42,6 +43,10 @@ public class JpaBaseEventDaoTest extends AbstractJpaDaoTest {
@Autowired
private EventDao eventDao ;
@Autowired
private RuleNodeDebugEventRepository ruleNodeDebugEventRepository ;
UUID tenantId = Uuids . timeBased ( ) ;
@ -106,6 +111,22 @@ public class JpaBaseEventDaoTest extends AbstractJpaDaoTest {
}
@Test
public void findLatestDebugRuleNodeInEvent ( ) {
UUID entityId = Uuids . timeBased ( ) ;
RuleNodeDebugEventEntity event = getDebugEventEntity ( Uuids . timeBased ( ) , tenantId , entityId ) ;
eventDao . saveAsync ( event . toData ( ) ) ;
RuleNodeDebugEventEntity event2 = getDebugEventEntity ( Uuids . timeBased ( ) , tenantId , entityId ) ;
eventDao . saveAsync ( event2 . toData ( ) ) ;
RuleNodeDebugEventEntity foundEvent = ruleNodeDebugEventRepository . findLatestDebugRuleNodeInEvent ( tenantId , entityId ) . get ( ) ;
assertNotNull ( "Events expected to be not null" , foundEvent ) ;
assertEquals ( event2 . getEventType ( ) , foundEvent . getEventType ( ) ) ;
assertEquals ( event2 . getId ( ) , foundEvent . getId ( ) ) ;
}
private Event getStatsEvent ( UUID eventId , UUID tenantId , UUID entityId ) {
StatisticsEvent . StatisticsEventBuilder event = StatisticsEvent . builder ( ) ;
event . id ( eventId ) ;
@ -117,4 +138,13 @@ public class JpaBaseEventDaoTest extends AbstractJpaDaoTest {
event . errorsOccurred ( 0 ) ;
return event . build ( ) ;
}
private RuleNodeDebugEventEntity getDebugEventEntity ( UUID eventId , UUID tenantId , UUID entityId ) {
RuleNodeDebugEventEntity event = new RuleNodeDebugEventEntity ( ) ;
event . setId ( eventId ) ;
event . setEventType ( "IN" ) ;
event . setEntityId ( entityId ) ;
event . setTenantId ( tenantId ) ;
return event ;
}
}