Merge pull request #13848 from thingsboard/fix/msa-tests

Fix some MSA tests not running
This commit is contained in:
Viacheslav Klimov 2025-08-13 10:50:59 +03:00 committed by GitHub
commit 2b3e730d52
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 7 deletions

View File

@ -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);

View File

@ -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>