Merge branch 'master' into fix-edge-zombie-consumer-cleanup
This commit is contained in:
commit
cce87240e1
@ -918,7 +918,7 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
List<QueueStats> queueStatsList = new ArrayList<>();
|
||||
for (int i = 0; i < 97; i++) {
|
||||
QueueStats queueStats = new QueueStats();
|
||||
queueStats.setQueueName(StringUtils.randomAlphabetic(5));
|
||||
queueStats.setQueueName("test" + StringUtils.randomAlphabetic(5));
|
||||
queueStats.setServiceId(StringUtils.randomAlphabetic(5));
|
||||
queueStats.setTenantId(savedTenant.getTenantId());
|
||||
queueStatsList.add(queueStatsService.save(savedTenant.getId(), queueStats));
|
||||
@ -934,8 +934,11 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
EntityDataPageLink pageLink = new EntityDataPageLink(10, 0, null, sortOrder);
|
||||
List<EntityKey> entityFields = Arrays.asList(new EntityKey(EntityKeyType.ENTITY_FIELD, "name"), new EntityKey(EntityKeyType.ENTITY_FIELD, "queueName"),
|
||||
new EntityKey(EntityKeyType.ENTITY_FIELD, "serviceId"));
|
||||
List<KeyFilter> keyFilters = Collections.singletonList(
|
||||
getEntityFieldStartsWithFilter("queueName", "test")
|
||||
);
|
||||
|
||||
EntityDataQuery query = new EntityDataQuery(entityTypeFilter, pageLink, entityFields, null, null);
|
||||
EntityDataQuery query = new EntityDataQuery(entityTypeFilter, pageLink, entityFields, null, keyFilters);
|
||||
|
||||
PageData<EntityData> data = findByQueryAndCheck(query, 97);
|
||||
Assert.assertEquals(10, data.getTotalPages());
|
||||
@ -977,10 +980,10 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
|
||||
KeyFilter activeAlarmTimeFilter = getServerAttributeNumericGreaterThanKeyFilter("alarmActiveTime", 5);
|
||||
KeyFilter activeAlarmTimeToLongFilter = getServerAttributeNumericGreaterThanKeyFilter("alarmActiveTime", 30);
|
||||
KeyFilter tenantOwnerNameFilter = getEntityFieldStringEqualToKeyFilter("ownerName", TEST_TENANT_NAME);
|
||||
KeyFilter wrongOwnerNameFilter = getEntityFieldStringEqualToKeyFilter("ownerName", "wrongName");
|
||||
KeyFilter tenantOwnerTypeFilter = getEntityFieldStringEqualToKeyFilter("ownerType", "TENANT");
|
||||
KeyFilter customerOwnerTypeFilter = getEntityFieldStringEqualToKeyFilter("ownerType", "CUSTOMER");
|
||||
KeyFilter tenantOwnerNameFilter = getEntityFieldEqualFilter("ownerName", TEST_TENANT_NAME);
|
||||
KeyFilter wrongOwnerNameFilter = getEntityFieldEqualFilter("ownerName", "wrongName");
|
||||
KeyFilter tenantOwnerTypeFilter = getEntityFieldEqualFilter("ownerType", "TENANT");
|
||||
KeyFilter customerOwnerTypeFilter = getEntityFieldEqualFilter("ownerType", "CUSTOMER");
|
||||
|
||||
// all devices with ownerName = TEST TENANT
|
||||
EntityCountQuery query = new EntityCountQuery(filter, List.of(activeAlarmTimeFilter, tenantOwnerNameFilter));
|
||||
@ -1026,10 +1029,10 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
filter.setDeviceNameFilter("");
|
||||
|
||||
KeyFilter activeAlarmTimeFilter = getServerAttributeNumericGreaterThanKeyFilter("alarmActiveTime", 5);
|
||||
KeyFilter tenantOwnerNameFilter = getEntityFieldStringEqualToKeyFilter("ownerName", TEST_TENANT_NAME);
|
||||
KeyFilter wrongOwnerNameFilter = getEntityFieldStringEqualToKeyFilter("ownerName", "wrongName");
|
||||
KeyFilter tenantOwnerTypeFilter = getEntityFieldStringEqualToKeyFilter("ownerType", "TENANT");
|
||||
KeyFilter customerOwnerTypeFilter = getEntityFieldStringEqualToKeyFilter("ownerType", "CUSTOMER");
|
||||
KeyFilter tenantOwnerNameFilter = getEntityFieldEqualFilter("ownerName", TEST_TENANT_NAME);
|
||||
KeyFilter wrongOwnerNameFilter = getEntityFieldEqualFilter("ownerName", "wrongName");
|
||||
KeyFilter tenantOwnerTypeFilter = getEntityFieldEqualFilter("ownerType", "TENANT");
|
||||
KeyFilter customerOwnerTypeFilter = getEntityFieldEqualFilter("ownerType", "CUSTOMER");
|
||||
|
||||
EntityDataSortOrder sortOrder = new EntityDataSortOrder(
|
||||
new EntityKey(EntityKeyType.ENTITY_FIELD, "createdTime"), EntityDataSortOrder.Direction.ASC
|
||||
@ -1171,15 +1174,23 @@ public class EntityQueryControllerTest extends AbstractControllerTest {
|
||||
return result;
|
||||
}
|
||||
|
||||
private KeyFilter getEntityFieldStringEqualToKeyFilter(String keyName, String value) {
|
||||
KeyFilter tenantOwnerNameFilter = new KeyFilter();
|
||||
tenantOwnerNameFilter.setKey(new EntityKey(EntityKeyType.ENTITY_FIELD, keyName));
|
||||
tenantOwnerNameFilter.setValueType(EntityKeyValueType.STRING);
|
||||
StringFilterPredicate ownerNamePredicate = new StringFilterPredicate();
|
||||
ownerNamePredicate.setValue(FilterPredicateValue.fromString(value));
|
||||
ownerNamePredicate.setOperation(StringFilterPredicate.StringOperation.EQUAL);
|
||||
tenantOwnerNameFilter.setPredicate(ownerNamePredicate);
|
||||
return tenantOwnerNameFilter;
|
||||
private KeyFilter getEntityFieldEqualFilter(String keyName, String value) {
|
||||
return getEntityFieldKeyFilter(keyName, value, StringFilterPredicate.StringOperation.EQUAL);
|
||||
}
|
||||
|
||||
private KeyFilter getEntityFieldStartsWithFilter(String keyName, String value) {
|
||||
return getEntityFieldKeyFilter(keyName, value, StringFilterPredicate.StringOperation.STARTS_WITH);
|
||||
}
|
||||
|
||||
private KeyFilter getEntityFieldKeyFilter(String keyName, String value, StringFilterPredicate.StringOperation operation) {
|
||||
KeyFilter filter = new KeyFilter();
|
||||
filter.setKey(new EntityKey(EntityKeyType.ENTITY_FIELD, keyName));
|
||||
filter.setValueType(EntityKeyValueType.STRING);
|
||||
StringFilterPredicate predicate = new StringFilterPredicate();
|
||||
predicate.setValue(FilterPredicateValue.fromString(value));
|
||||
predicate.setOperation(operation);
|
||||
filter.setPredicate(predicate);
|
||||
return filter;
|
||||
}
|
||||
|
||||
private KeyFilter getServerAttributeNumericGreaterThanKeyFilter(String attribute, int value) {
|
||||
|
||||
@ -133,6 +133,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("77.0");
|
||||
});
|
||||
|
||||
@ -155,6 +156,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("104.0");
|
||||
});
|
||||
|
||||
@ -179,6 +181,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode temperatureF = testRestClient.getAttributes(device.getId(), AttributeScope.SERVER_SCOPE, "temperatureF");
|
||||
assertThat(temperatureF).isNotNull();
|
||||
assertThat(temperatureF.get(0)).isNotNull();
|
||||
assertThat(temperatureF.get(0).get("value").asText()).isEqualTo("77.0");
|
||||
});
|
||||
|
||||
@ -201,6 +204,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("-3.89");
|
||||
});
|
||||
|
||||
@ -221,6 +225,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("86.0");
|
||||
});
|
||||
|
||||
@ -239,6 +244,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("77.0");
|
||||
});
|
||||
|
||||
@ -261,6 +267,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
// used default value since telemetry is not present
|
||||
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(newDevice.getId());
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("53.6");
|
||||
});
|
||||
|
||||
@ -275,6 +282,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(newDevice.getId());
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("53.6");
|
||||
});
|
||||
|
||||
@ -286,13 +294,14 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
// login tenant admin
|
||||
testRestClient.getAndSetUserToken(tenantAdminId);
|
||||
|
||||
CalculatedField savedCalculatedField = createScriptCalculatedField(deviceProfileId);
|
||||
CalculatedField savedCalculatedField = createScriptCalculatedField(deviceProfileId, asset.getId());
|
||||
|
||||
await().alias("create CF -> perform initial calculation for device by profile").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.pollInterval(POLL_INTERVAL, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
JsonNode airDensity = testRestClient.getLatestTelemetry(device.getId());
|
||||
assertThat(airDensity).isNotNull();
|
||||
assertThat(airDensity.get("airDensity")).isNotNull();
|
||||
assertThat(airDensity.get("airDensity").get(0).get("value").asText()).isEqualTo("1.05");
|
||||
});
|
||||
|
||||
@ -303,6 +312,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
.untilAsserted(() -> {
|
||||
JsonNode airDensity = testRestClient.getLatestTelemetry(device.getId());
|
||||
assertThat(airDensity).isNotNull();
|
||||
assertThat(airDensity.get("airDensity")).isNotNull();
|
||||
assertThat(airDensity.get("airDensity").get(0).get("value").asText()).isEqualTo("0.99");
|
||||
});
|
||||
|
||||
@ -342,10 +352,10 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
}
|
||||
|
||||
private CalculatedField createScriptCalculatedField() {
|
||||
return createScriptCalculatedField(device.getId());
|
||||
return createScriptCalculatedField(device.getId(), asset.getId());
|
||||
}
|
||||
|
||||
private CalculatedField createScriptCalculatedField(EntityId entityId) {
|
||||
private CalculatedField createScriptCalculatedField(EntityId entityId, EntityId refEntityId) {
|
||||
CalculatedField calculatedField = new CalculatedField();
|
||||
calculatedField.setEntityId(entityId);
|
||||
calculatedField.setType(CalculatedFieldType.SCRIPT);
|
||||
@ -355,12 +365,12 @@ public class CalculatedFieldTest extends AbstractContainerTest {
|
||||
ScriptCalculatedFieldConfiguration config = new ScriptCalculatedFieldConfiguration();
|
||||
|
||||
Argument argument1 = new Argument();
|
||||
argument1.setRefEntityId(asset.getId());
|
||||
argument1.setRefEntityId(refEntityId);
|
||||
ReferencedEntityKey refEntityKey1 = new ReferencedEntityKey("altitude", ArgumentType.ATTRIBUTE, AttributeScope.SERVER_SCOPE);
|
||||
argument1.setRefEntityKey(refEntityKey1);
|
||||
Argument argument2 = new Argument();
|
||||
ReferencedEntityKey refEntityKey2 = new ReferencedEntityKey("temperatureInF", ArgumentType.TS_ROLLING, null);
|
||||
argument2.setTimeWindow(30000L);
|
||||
argument2.setTimeWindow(300000L);
|
||||
argument2.setLimit(5);
|
||||
argument2.setRefEntityKey(refEntityKey2);
|
||||
|
||||
|
||||
@ -21,8 +21,10 @@
|
||||
<suite name="Connectivity tests">
|
||||
<test verbose="2" name="Connectivity tests" preserve-order="false">
|
||||
<packages>
|
||||
<package name="org.thingsboard.server.msa.connectivity" />
|
||||
<package name="org.thingsboard.server.msa.edqs" />
|
||||
<package name="org.thingsboard.server.msa.connectivity"/>
|
||||
<package name="org.thingsboard.server.msa.edqs"/>
|
||||
<package name="org.thingsboard.server.msa.cf"/>
|
||||
<package name="org.thingsboard.server.msa.rule.node"/>
|
||||
</packages>
|
||||
</test>
|
||||
</suite>
|
||||
Loading…
x
Reference in New Issue
Block a user