Merge pull request #13834 from dashevchenko/flakyEdqsTestsFix
Fixed flaky edqs tests
This commit is contained in:
commit
3d92d7894c
@ -25,6 +25,9 @@ import org.thingsboard.server.common.data.edqs.EdqsState;
|
||||
import org.thingsboard.server.common.data.edqs.EdqsState.EdqsApiMode;
|
||||
import org.thingsboard.server.common.data.edqs.ToCoreEdqsRequest;
|
||||
import org.thingsboard.server.common.data.page.PageData;
|
||||
import org.thingsboard.server.common.data.query.AlarmCountQuery;
|
||||
import org.thingsboard.server.common.data.query.AlarmData;
|
||||
import org.thingsboard.server.common.data.query.AlarmDataQuery;
|
||||
import org.thingsboard.server.common.data.query.EntityCountQuery;
|
||||
import org.thingsboard.server.common.data.query.EntityData;
|
||||
import org.thingsboard.server.common.data.query.EntityDataQuery;
|
||||
@ -70,12 +73,24 @@ public class EdqsEntityQueryControllerTest extends EntityQueryControllerTest {
|
||||
result -> result.getTotalElements() == expectedResultSize);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PageData<AlarmData> findAlarmsByQueryAndCheck(AlarmDataQuery query, int expectedResultSize) {
|
||||
return await().atMost(TIMEOUT, TimeUnit.SECONDS).until(() -> findAlarmsByQuery(query),
|
||||
result -> result.getTotalElements() == expectedResultSize);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Long countByQueryAndCheck(EntityCountQuery query, long expectedResult) {
|
||||
return await().atMost(TIMEOUT, TimeUnit.SECONDS).until(() -> countByQuery(query),
|
||||
result -> result == expectedResult);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Long countAlarmsByQueryAndCheck(AlarmCountQuery query, long expectedResult) {
|
||||
return await().atMost(TIMEOUT, TimeUnit.SECONDS).until(() -> countAlarmsByQuery(query),
|
||||
result -> result == expectedResult);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEdqsState() throws Exception {
|
||||
loginSysAdmin();
|
||||
|
||||
@ -278,8 +278,7 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
assetTypeFilter.setEntityType(EntityType.ASSET);
|
||||
AlarmCountQuery assetAlarmQuery = new AlarmCountQuery(assetTypeFilter);
|
||||
|
||||
Long assetAlamCount = doPostWithResponse("/api/alarmsQuery/count", assetAlarmQuery, Long.class);
|
||||
Assert.assertEquals(assets.size(), assetAlamCount.longValue());
|
||||
countAlarmsByQueryAndCheck(assetAlarmQuery, assets.size());
|
||||
|
||||
KeyFilter nameFilter = buildStringKeyFilter(EntityKeyType.ENTITY_FIELD, "name", StringFilterPredicate.StringOperation.STARTS_WITH, "Asset1");
|
||||
List<KeyFilter> keyFilters = Collections.singletonList(nameFilter);
|
||||
@ -369,8 +368,7 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
assetTypeFilter.setEntityType(EntityType.ASSET);
|
||||
AlarmCountQuery assetAlarmQuery = new AlarmCountQuery(assetTypeFilter);
|
||||
|
||||
Long assetAlamCount = doPostWithResponse("/api/alarmsQuery/count", assetAlarmQuery, Long.class);
|
||||
Assert.assertEquals(10, assetAlamCount.longValue());
|
||||
countAlarmsByQueryAndCheck(assetAlarmQuery, 10);
|
||||
|
||||
KeyFilter nameFilter = buildStringKeyFilter(EntityKeyType.ENTITY_FIELD, "name", StringFilterPredicate.StringOperation.STARTS_WITH, "Asset1");
|
||||
List<KeyFilter> keyFilters = Collections.singletonList(nameFilter);
|
||||
@ -438,9 +436,7 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
assetTypeFilter.setEntityType(EntityType.ASSET);
|
||||
AlarmDataQuery assetAlarmQuery = new AlarmDataQuery(assetTypeFilter, pageLink, null, null, null, alarmFields);
|
||||
|
||||
PageData<AlarmData> alarmPageData = doPostWithTypedResponse("/api/alarmsQuery/find", assetAlarmQuery, new TypeReference<>() {
|
||||
});
|
||||
Assert.assertEquals(10, alarmPageData.getTotalElements());
|
||||
PageData<AlarmData> alarmPageData = findAlarmsByQueryAndCheck(assetAlarmQuery, 10);
|
||||
List<String> retrievedAlarmTypes = alarmPageData.getData().stream().map(Alarm::getType).toList();
|
||||
assertThat(retrievedAlarmTypes).containsExactlyInAnyOrderElementsOf(assetAlarmTypes);
|
||||
|
||||
@ -511,9 +507,7 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
assetTypeFilter.setEntityType(EntityType.ASSET);
|
||||
AlarmDataQuery assetAlarmQuery = new AlarmDataQuery(assetTypeFilter, pageLink, null, null, null, Collections.emptyList());
|
||||
|
||||
PageData<AlarmData> alarmPageData = doPostWithTypedResponse("/api/alarmsQuery/find", assetAlarmQuery, new TypeReference<>() {
|
||||
});
|
||||
Assert.assertEquals(10, alarmPageData.getTotalElements());
|
||||
PageData<AlarmData> alarmPageData = findAlarmsByQueryAndCheck(assetAlarmQuery, 10);
|
||||
List<String> retrievedAlarmTypes = alarmPageData.getData().stream().map(Alarm::getType).toList();
|
||||
assertThat(retrievedAlarmTypes).containsExactlyInAnyOrderElementsOf(assetAlarmTypes);
|
||||
|
||||
@ -1141,22 +1135,42 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
});
|
||||
}
|
||||
|
||||
protected PageData<AlarmData> findAlarmsByQuery(AlarmDataQuery query) throws Exception {
|
||||
return doPostWithTypedResponse("/api/alarmsQuery/find", query, new TypeReference<>() {});
|
||||
}
|
||||
|
||||
protected PageData<EntityData> findByQueryAndCheck(EntityDataQuery query, int expectedResultSize) throws Exception {
|
||||
PageData<EntityData> result = findByQuery(query);
|
||||
assertThat(result.getTotalElements()).isEqualTo(expectedResultSize);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected PageData<AlarmData> findAlarmsByQueryAndCheck(AlarmDataQuery query, int expectedResultSize) throws Exception {
|
||||
PageData<AlarmData> result = findAlarmsByQuery(query);
|
||||
assertThat(result.getTotalElements()).isEqualTo(expectedResultSize);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected Long countByQuery(EntityCountQuery countQuery) throws Exception {
|
||||
return doPostWithResponse("/api/entitiesQuery/count", countQuery, Long.class);
|
||||
}
|
||||
|
||||
protected Long countAlarmsByQuery(AlarmCountQuery countQuery) throws Exception {
|
||||
return doPostWithResponse("/api/alarmsQuery/count", countQuery, Long.class);
|
||||
}
|
||||
|
||||
protected Long countByQueryAndCheck(EntityCountQuery query, long expectedResult) throws Exception {
|
||||
Long result = countByQuery(query);
|
||||
assertThat(result).isEqualTo(expectedResult);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected Long countAlarmsByQueryAndCheck(AlarmCountQuery query, long expectedResult) throws Exception {
|
||||
Long result = countAlarmsByQuery(query);
|
||||
assertThat(result).isEqualTo(expectedResult);
|
||||
return result;
|
||||
}
|
||||
|
||||
private KeyFilter getEntityFieldStringEqualToKeyFilter(String keyName, String value) {
|
||||
KeyFilter tenantOwnerNameFilter = new KeyFilter();
|
||||
tenantOwnerNameFilter.setKey(new EntityKey(EntityKeyType.ENTITY_FIELD, keyName));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user