CalculatedField functionality support for Edge
- fixed test
This commit is contained in:
parent
2761866e58
commit
411943d993
@ -38,6 +38,7 @@ import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
|
||||
import org.thingsboard.server.gen.edge.v1.UplinkMsg;
|
||||
import org.thingsboard.server.gen.edge.v1.UplinkResponseMsg;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
@ -57,14 +58,16 @@ public class CalculatedFieldEdgeTest extends AbstractEdgeTest {
|
||||
SimpleCalculatedFieldConfiguration config = new SimpleCalculatedFieldConfiguration();
|
||||
CalculatedField calculatedField = createSimpleCalculatedField(savedDevice.getId(), config);
|
||||
|
||||
edgeImitator.expectMessageAmount(1);
|
||||
edgeImitator.expectMessageAmount(SYNC_MESSAGE_COUNT + 4);
|
||||
CalculatedField savedCalculatedField = doPost("/api/calculatedField", calculatedField, CalculatedField.class);
|
||||
doPost("/api/edge/sync/" + edge.getId());
|
||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||
|
||||
AbstractMessage latestMessage = edgeImitator.getLatestMessage();
|
||||
List<AbstractMessage> downlinkMsgs = edgeImitator.getDownlinkMsgs();
|
||||
AbstractMessage latestMessage = downlinkMsgs.stream().filter(downlinkMsg -> downlinkMsg instanceof CalculatedFieldUpdateMsg).findFirst().get();
|
||||
Assert.assertTrue(latestMessage instanceof CalculatedFieldUpdateMsg);
|
||||
CalculatedFieldUpdateMsg calculatedFieldUpdateMsg = (CalculatedFieldUpdateMsg) latestMessage;
|
||||
Assert.assertEquals(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE, calculatedFieldUpdateMsg.getMsgType());
|
||||
Assert.assertEquals(UpdateMsgType.ENTITY_UPDATED_RPC_MESSAGE, calculatedFieldUpdateMsg.getMsgType());
|
||||
Assert.assertEquals(savedCalculatedField.getUuidId().getMostSignificantBits(), calculatedFieldUpdateMsg.getIdMSB());
|
||||
Assert.assertEquals(savedCalculatedField.getUuidId().getLeastSignificantBits(), calculatedFieldUpdateMsg.getIdLSB());
|
||||
CalculatedField calculatedFieldFromMsg = JacksonUtil.fromString(calculatedFieldUpdateMsg.getEntity(), CalculatedField.class, true);
|
||||
@ -75,11 +78,13 @@ public class CalculatedFieldEdgeTest extends AbstractEdgeTest {
|
||||
Assert.assertEquals(config, calculatedFieldFromMsg.getConfiguration());
|
||||
|
||||
// update calculatedField
|
||||
edgeImitator.expectMessageAmount(1);
|
||||
edgeImitator.expectMessageAmount(SYNC_MESSAGE_COUNT + 4);
|
||||
savedCalculatedField.setName(UPDATED_CF_NAME);
|
||||
savedCalculatedField = doPost("/api/calculatedField", savedCalculatedField, CalculatedField.class);
|
||||
doPost("/api/edge/sync/" + edge.getId());
|
||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||
latestMessage = edgeImitator.getLatestMessage();
|
||||
downlinkMsgs = edgeImitator.getDownlinkMsgs();
|
||||
latestMessage = downlinkMsgs.stream().filter(downlinkMsg -> downlinkMsg instanceof CalculatedFieldUpdateMsg).findFirst().get();
|
||||
Assert.assertTrue(latestMessage instanceof CalculatedFieldUpdateMsg);
|
||||
calculatedFieldUpdateMsg = (CalculatedFieldUpdateMsg) latestMessage;
|
||||
calculatedFieldFromMsg = JacksonUtil.fromString(calculatedFieldUpdateMsg.getEntity(), CalculatedField.class, true);
|
||||
@ -139,8 +144,9 @@ public class CalculatedFieldEdgeTest extends AbstractEdgeTest {
|
||||
SimpleCalculatedFieldConfiguration config = new SimpleCalculatedFieldConfiguration();
|
||||
CalculatedField calculatedField = createSimpleCalculatedField(savedDevice.getId(), config);
|
||||
|
||||
edgeImitator.expectMessageAmount(1);
|
||||
edgeImitator.expectMessageAmount(SYNC_MESSAGE_COUNT + 4);
|
||||
CalculatedField savedCalculatedField = doPost("/api/calculatedField", calculatedField, CalculatedField.class);
|
||||
doPost("/api/edge/sync/" + edge.getId());
|
||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||
|
||||
UUID uuid = Uuids.timeBased();
|
||||
|
||||
@ -524,6 +524,7 @@ public class EdgeServiceImpl extends AbstractCachedEntityService<EdgeCacheKey, E
|
||||
case ENTITY_VIEW:
|
||||
case DASHBOARD:
|
||||
case RULE_CHAIN:
|
||||
case CALCULATED_FIELD:
|
||||
return relatedEdgesService.findEdgeIdsByEntityId(tenantId, entityId, pageLink);
|
||||
case USER:
|
||||
User userById = userService.findUserById(tenantId, new UserId(entityId.getId()));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user