Merge pull request #13856 from irynamatveieva/fix/cf-tests

Fixed CF tests
This commit is contained in:
Viacheslav Klimov 2025-08-13 10:47:01 +03:00 committed by GitHub
commit 8f28f0f98d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -133,6 +133,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId()); JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
assertThat(fahrenheitTemp).isNotNull(); assertThat(fahrenheitTemp).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("77.0"); assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("77.0");
}); });
@ -155,6 +156,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId()); JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
assertThat(fahrenheitTemp).isNotNull(); assertThat(fahrenheitTemp).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("104.0"); assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("104.0");
}); });
@ -179,6 +181,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode temperatureF = testRestClient.getAttributes(device.getId(), AttributeScope.SERVER_SCOPE, "temperatureF"); JsonNode temperatureF = testRestClient.getAttributes(device.getId(), AttributeScope.SERVER_SCOPE, "temperatureF");
assertThat(temperatureF).isNotNull(); assertThat(temperatureF).isNotNull();
assertThat(temperatureF.get(0)).isNotNull();
assertThat(temperatureF.get(0).get("value").asText()).isEqualTo("77.0"); assertThat(temperatureF.get(0).get("value").asText()).isEqualTo("77.0");
}); });
@ -201,6 +204,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId()); JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
assertThat(fahrenheitTemp).isNotNull(); assertThat(fahrenheitTemp).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("-3.89"); assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("-3.89");
}); });
@ -221,6 +225,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId()); JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
assertThat(fahrenheitTemp).isNotNull(); assertThat(fahrenheitTemp).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("86.0"); assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("86.0");
}); });
@ -239,6 +244,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId()); JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(device.getId());
assertThat(fahrenheitTemp).isNotNull(); assertThat(fahrenheitTemp).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("77.0"); 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 // used default value since telemetry is not present
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(newDevice.getId()); JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(newDevice.getId());
assertThat(fahrenheitTemp).isNotNull(); assertThat(fahrenheitTemp).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("53.6"); assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("53.6");
}); });
@ -275,6 +282,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(newDevice.getId()); JsonNode fahrenheitTemp = testRestClient.getLatestTelemetry(newDevice.getId());
assertThat(fahrenheitTemp).isNotNull(); assertThat(fahrenheitTemp).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp")).isNotNull();
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("53.6"); assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("53.6");
}); });
@ -286,13 +294,14 @@ public class CalculatedFieldTest extends AbstractContainerTest {
// login tenant admin // login tenant admin
testRestClient.getAndSetUserToken(tenantAdminId); 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) await().alias("create CF -> perform initial calculation for device by profile").atMost(TIMEOUT, TimeUnit.SECONDS)
.pollInterval(POLL_INTERVAL, TimeUnit.SECONDS) .pollInterval(POLL_INTERVAL, TimeUnit.SECONDS)
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode airDensity = testRestClient.getLatestTelemetry(device.getId()); JsonNode airDensity = testRestClient.getLatestTelemetry(device.getId());
assertThat(airDensity).isNotNull(); assertThat(airDensity).isNotNull();
assertThat(airDensity.get("airDensity")).isNotNull();
assertThat(airDensity.get("airDensity").get(0).get("value").asText()).isEqualTo("1.05"); assertThat(airDensity.get("airDensity").get(0).get("value").asText()).isEqualTo("1.05");
}); });
@ -303,6 +312,7 @@ public class CalculatedFieldTest extends AbstractContainerTest {
.untilAsserted(() -> { .untilAsserted(() -> {
JsonNode airDensity = testRestClient.getLatestTelemetry(device.getId()); JsonNode airDensity = testRestClient.getLatestTelemetry(device.getId());
assertThat(airDensity).isNotNull(); assertThat(airDensity).isNotNull();
assertThat(airDensity.get("airDensity")).isNotNull();
assertThat(airDensity.get("airDensity").get(0).get("value").asText()).isEqualTo("0.99"); assertThat(airDensity.get("airDensity").get(0).get("value").asText()).isEqualTo("0.99");
}); });
@ -342,10 +352,10 @@ public class CalculatedFieldTest extends AbstractContainerTest {
} }
private CalculatedField createScriptCalculatedField() { 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 calculatedField = new CalculatedField();
calculatedField.setEntityId(entityId); calculatedField.setEntityId(entityId);
calculatedField.setType(CalculatedFieldType.SCRIPT); calculatedField.setType(CalculatedFieldType.SCRIPT);
@ -355,12 +365,12 @@ public class CalculatedFieldTest extends AbstractContainerTest {
ScriptCalculatedFieldConfiguration config = new ScriptCalculatedFieldConfiguration(); ScriptCalculatedFieldConfiguration config = new ScriptCalculatedFieldConfiguration();
Argument argument1 = new Argument(); Argument argument1 = new Argument();
argument1.setRefEntityId(asset.getId()); argument1.setRefEntityId(refEntityId);
ReferencedEntityKey refEntityKey1 = new ReferencedEntityKey("altitude", ArgumentType.ATTRIBUTE, AttributeScope.SERVER_SCOPE); ReferencedEntityKey refEntityKey1 = new ReferencedEntityKey("altitude", ArgumentType.ATTRIBUTE, AttributeScope.SERVER_SCOPE);
argument1.setRefEntityKey(refEntityKey1); argument1.setRefEntityKey(refEntityKey1);
Argument argument2 = new Argument(); Argument argument2 = new Argument();
ReferencedEntityKey refEntityKey2 = new ReferencedEntityKey("temperatureInF", ArgumentType.TS_ROLLING, null); ReferencedEntityKey refEntityKey2 = new ReferencedEntityKey("temperatureInF", ArgumentType.TS_ROLLING, null);
argument2.setTimeWindow(30000L); argument2.setTimeWindow(300000L);
argument2.setLimit(5); argument2.setLimit(5);
argument2.setRefEntityKey(refEntityKey2); argument2.setRefEntityKey(refEntityKey2);