From 8aa51ee6f7e34df1b84a0fdd5fe124c8bae77693 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Mon, 26 Oct 2020 12:19:11 +0200 Subject: [PATCH] Added coverage for merge functionality --- .../thingsboard/server/edge/BaseEdgeTest.java | 227 ++++++++---------- 1 file changed, 104 insertions(+), 123 deletions(-) diff --git a/application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java b/application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java index 55dfdeeaee..a31077ef51 100644 --- a/application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java +++ b/application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java @@ -436,20 +436,18 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { } private void testRuleChainMetadataRequestMsg(RuleChainId ruleChainId) throws Exception { - RuleChainMetadataRequestMsg ruleChainMetadataRequestMsg = RuleChainMetadataRequestMsg.newBuilder().clear() + RuleChainMetadataRequestMsg.Builder ruleChainMetadataRequestMsgBuilder = RuleChainMetadataRequestMsg.newBuilder() .setRuleChainIdMSB(ruleChainId.getId().getMostSignificantBits()) - .setRuleChainIdLSB(ruleChainId.getId().getLeastSignificantBits()) - .build(); - testAutoGeneratedCodeByProtobuf(ruleChainMetadataRequestMsg); + .setRuleChainIdLSB(ruleChainId.getId().getLeastSignificantBits()); + testAutoGeneratedCodeByProtobuf(ruleChainMetadataRequestMsgBuilder); - UplinkMsg uplinkMsg = UplinkMsg.newBuilder().clear() - .addRuleChainMetadataRequestMsg(ruleChainMetadataRequestMsg) - .build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder() + .addRuleChainMetadataRequestMsg(ruleChainMetadataRequestMsgBuilder.build()); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); edgeImitator.expectMessageAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); edgeImitator.waitForMessages(); @@ -966,21 +964,21 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { private void sendDevice() throws Exception { UUID uuid = UUIDs.timeBased(); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - DeviceUpdateMsg.Builder deviceUpdateMsgBuilder = DeviceUpdateMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + DeviceUpdateMsg.Builder deviceUpdateMsgBuilder = DeviceUpdateMsg.newBuilder(); deviceUpdateMsgBuilder.setIdMSB(uuid.getMostSignificantBits()); deviceUpdateMsgBuilder.setIdLSB(uuid.getLeastSignificantBits()); deviceUpdateMsgBuilder.setName("Edge Device 2"); deviceUpdateMsgBuilder.setType("test"); deviceUpdateMsgBuilder.setMsgType(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE); - DeviceUpdateMsg deviceUpdateMsg = deviceUpdateMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(deviceUpdateMsg); - builder.addDeviceUpdateMsg(deviceUpdateMsg); + testAutoGeneratedCodeByProtobuf(deviceUpdateMsgBuilder); + uplinkMsgBuilder.addDeviceUpdateMsg(deviceUpdateMsgBuilder.build()); edgeImitator.expectResponsesAmount(1); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); - edgeImitator.sendUplinkMsg(uplinkMsg); + + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); + + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); Device device = doGet("/api/device/" + uuid.toString(), Device.class); @@ -1002,21 +1000,19 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { doPost("/api/relation", relation); edgeImitator.waitForMessages(); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - RelationRequestMsg.Builder relationRequestMsgBuilder = RelationRequestMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + RelationRequestMsg.Builder relationRequestMsgBuilder = RelationRequestMsg.newBuilder(); relationRequestMsgBuilder.setEntityIdMSB(device.getId().getId().getMostSignificantBits()); relationRequestMsgBuilder.setEntityIdLSB(device.getId().getId().getLeastSignificantBits()); relationRequestMsgBuilder.setEntityType(device.getId().getEntityType().name()); - RelationRequestMsg relationRequestMsg = relationRequestMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(relationRequestMsg); + testAutoGeneratedCodeByProtobuf(relationRequestMsgBuilder); - builder.addRelationRequestMsg(relationRequestMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + uplinkMsgBuilder.addRelationRequestMsg(relationRequestMsgBuilder.build()); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); edgeImitator.expectMessageAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); edgeImitator.waitForMessages(); @@ -1040,22 +1036,20 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { private void sendAlarm() throws Exception { Device device = findDeviceByName("Edge Device 2"); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - AlarmUpdateMsg.Builder alarmUpdateMgBuilder = AlarmUpdateMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + AlarmUpdateMsg.Builder alarmUpdateMgBuilder = AlarmUpdateMsg.newBuilder(); alarmUpdateMgBuilder.setName("alarm from edge"); alarmUpdateMgBuilder.setStatus(AlarmStatus.ACTIVE_UNACK.name()); alarmUpdateMgBuilder.setSeverity(AlarmSeverity.CRITICAL.name()); alarmUpdateMgBuilder.setOriginatorName(device.getName()); alarmUpdateMgBuilder.setOriginatorType(EntityType.DEVICE.name()); - AlarmUpdateMsg alarmUpdateMsg = alarmUpdateMgBuilder.build(); - testAutoGeneratedCodeByProtobuf(alarmUpdateMsg); - builder.addAlarmUpdateMsg(alarmUpdateMsg); + testAutoGeneratedCodeByProtobuf(alarmUpdateMgBuilder); + uplinkMsgBuilder.addAlarmUpdateMsg(alarmUpdateMgBuilder.build()); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); @@ -1081,8 +1075,8 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { Assert.assertTrue(foundDevice2.isPresent()); Device device2 = foundDevice2.get(); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - RelationUpdateMsg.Builder relationUpdateMsgBuilder = RelationUpdateMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + RelationUpdateMsg.Builder relationUpdateMsgBuilder = RelationUpdateMsg.newBuilder(); relationUpdateMsgBuilder.setType("test"); relationUpdateMsgBuilder.setTypeGroup(RelationTypeGroup.COMMON.name()); relationUpdateMsgBuilder.setToIdMSB(device1.getId().getId().getMostSignificantBits()); @@ -1092,15 +1086,13 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { relationUpdateMsgBuilder.setFromIdLSB(device2.getId().getId().getLeastSignificantBits()); relationUpdateMsgBuilder.setFromEntityType(device2.getId().getEntityType().name()); relationUpdateMsgBuilder.setAdditionalInfo("{}"); - RelationUpdateMsg relationUpdateMsg = relationUpdateMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(relationUpdateMsg); - builder.addRelationUpdateMsg(relationUpdateMsg); + testAutoGeneratedCodeByProtobuf(relationUpdateMsgBuilder); + uplinkMsgBuilder.addRelationUpdateMsg(relationUpdateMsgBuilder.build()); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); EntityRelation relation = doGet("/api/relation?" + @@ -1126,39 +1118,35 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { String timeseriesKey = "key"; String timeseriesValue = "25"; data.addProperty(timeseriesKey, timeseriesValue); - UplinkMsg.Builder builder1 = UplinkMsg.newBuilder().clear(); - EntityDataProto.Builder entityDataBuilder = EntityDataProto.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder1 = UplinkMsg.newBuilder(); + EntityDataProto.Builder entityDataBuilder = EntityDataProto.newBuilder(); entityDataBuilder.setPostTelemetryMsg(JsonConverter.convertToTelemetryProto(data, System.currentTimeMillis())); entityDataBuilder.setEntityType(device.getId().getEntityType().name()); entityDataBuilder.setEntityIdMSB(device.getUuidId().getMostSignificantBits()); entityDataBuilder.setEntityIdLSB(device.getUuidId().getLeastSignificantBits()); - EntityDataProto entityDataProto1 = entityDataBuilder.build(); - testAutoGeneratedCodeByProtobuf(entityDataProto1); - builder1.addEntityData(entityDataProto1); + testAutoGeneratedCodeByProtobuf(entityDataBuilder); + uplinkMsgBuilder1.addEntityData(entityDataBuilder.build()); - UplinkMsg uplinkMsg1 = builder1.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg1); - edgeImitator.sendUplinkMsg(uplinkMsg1); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder1); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder1.build()); JsonObject attributesData = new JsonObject(); String attributesKey = "test_attr"; String attributesValue = "test_value"; attributesData.addProperty(attributesKey, attributesValue); - UplinkMsg.Builder builder2 = UplinkMsg.newBuilder().clear(); - EntityDataProto.Builder entityDataBuilder2 = EntityDataProto.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder2 = UplinkMsg.newBuilder(); + EntityDataProto.Builder entityDataBuilder2 = EntityDataProto.newBuilder(); entityDataBuilder2.setEntityType(device.getId().getEntityType().name()); entityDataBuilder2.setEntityIdMSB(device.getId().getId().getMostSignificantBits()); entityDataBuilder2.setEntityIdLSB(device.getId().getId().getLeastSignificantBits()); entityDataBuilder2.setAttributesUpdatedMsg(JsonConverter.convertToAttributesProto(attributesData)); entityDataBuilder2.setPostAttributeScope(DataConstants.SERVER_SCOPE); - EntityDataProto entityDataProto2 = entityDataBuilder2.build(); - testAutoGeneratedCodeByProtobuf(entityDataProto2); + testAutoGeneratedCodeByProtobuf(entityDataBuilder2); - builder2.addEntityData(entityDataProto2); - UplinkMsg uplinkMsg2 = builder2.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg2); + uplinkMsgBuilder2.addEntityData(entityDataBuilder2.build()); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder2); - edgeImitator.sendUplinkMsg(uplinkMsg2); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder2.build()); edgeImitator.waitForResponses(); Thread.sleep(1000); @@ -1177,20 +1165,18 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { private void sendRuleChainMetadataRequest() throws Exception { RuleChainId edgeRootRuleChainId = edge.getRootRuleChainId(); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - RuleChainMetadataRequestMsg.Builder ruleChainMetadataRequestMsgBuilder = RuleChainMetadataRequestMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + RuleChainMetadataRequestMsg.Builder ruleChainMetadataRequestMsgBuilder = RuleChainMetadataRequestMsg.newBuilder(); ruleChainMetadataRequestMsgBuilder.setRuleChainIdMSB(edgeRootRuleChainId.getId().getMostSignificantBits()); ruleChainMetadataRequestMsgBuilder.setRuleChainIdLSB(edgeRootRuleChainId.getId().getLeastSignificantBits()); - RuleChainMetadataRequestMsg ruleChainMetadataRequestMsg = ruleChainMetadataRequestMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(ruleChainMetadataRequestMsg); + testAutoGeneratedCodeByProtobuf(ruleChainMetadataRequestMsgBuilder); + uplinkMsgBuilder.addRuleChainMetadataRequestMsg(ruleChainMetadataRequestMsgBuilder.build()); - builder.addRuleChainMetadataRequestMsg(ruleChainMetadataRequestMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); edgeImitator.expectMessageAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); edgeImitator.waitForMessages(); @@ -1204,19 +1190,18 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { private void sendUserCredentialsRequest() throws Exception { UserId userId = edgeImitator.getUserId(); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - UserCredentialsRequestMsg.Builder userCredentialsRequestMsgBuilder = UserCredentialsRequestMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + UserCredentialsRequestMsg.Builder userCredentialsRequestMsgBuilder = UserCredentialsRequestMsg.newBuilder(); userCredentialsRequestMsgBuilder.setUserIdMSB(userId.getId().getMostSignificantBits()); userCredentialsRequestMsgBuilder.setUserIdLSB(userId.getId().getLeastSignificantBits()); - UserCredentialsRequestMsg userCredentialsRequestMsg = userCredentialsRequestMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(userCredentialsRequestMsg); - builder.addUserCredentialsRequestMsg(userCredentialsRequestMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(userCredentialsRequestMsgBuilder); + uplinkMsgBuilder.addUserCredentialsRequestMsg(userCredentialsRequestMsgBuilder.build()); + + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); edgeImitator.expectMessageAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); edgeImitator.waitForMessages(); @@ -1232,19 +1217,18 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { DeviceCredentials deviceCredentials = doGet("/api/device/" + device.getId().getId().toString() + "/credentials", DeviceCredentials.class); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - DeviceCredentialsRequestMsg.Builder deviceCredentialsRequestMsgBuilder = DeviceCredentialsRequestMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + DeviceCredentialsRequestMsg.Builder deviceCredentialsRequestMsgBuilder = DeviceCredentialsRequestMsg.newBuilder(); deviceCredentialsRequestMsgBuilder.setDeviceIdMSB(device.getUuidId().getMostSignificantBits()); deviceCredentialsRequestMsgBuilder.setDeviceIdLSB(device.getUuidId().getLeastSignificantBits()); - DeviceCredentialsRequestMsg deviceCredentialsRequestMsg = deviceCredentialsRequestMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(deviceCredentialsRequestMsg); - builder.addDeviceCredentialsRequestMsg(deviceCredentialsRequestMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(deviceCredentialsRequestMsgBuilder); + uplinkMsgBuilder.addDeviceCredentialsRequestMsg(deviceCredentialsRequestMsgBuilder.build()); + + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); edgeImitator.expectMessageAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); edgeImitator.waitForMessages(); @@ -1260,46 +1244,44 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { private void sendDeviceCredentialsUpdate() throws Exception { Device device = findDeviceByName("Edge Device 1"); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - DeviceCredentialsUpdateMsg.Builder deviceCredentialsUpdateMsgBuilder = DeviceCredentialsUpdateMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + DeviceCredentialsUpdateMsg.Builder deviceCredentialsUpdateMsgBuilder = DeviceCredentialsUpdateMsg.newBuilder(); deviceCredentialsUpdateMsgBuilder.setDeviceIdMSB(device.getUuidId().getMostSignificantBits()); deviceCredentialsUpdateMsgBuilder.setDeviceIdLSB(device.getUuidId().getLeastSignificantBits()); deviceCredentialsUpdateMsgBuilder.setCredentialsType(DeviceCredentialsType.ACCESS_TOKEN.name()); deviceCredentialsUpdateMsgBuilder.setCredentialsId("NEW_TOKEN"); - DeviceCredentialsUpdateMsg deviceCredentialsUpdateMsg = deviceCredentialsUpdateMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(deviceCredentialsUpdateMsg); - builder.addDeviceCredentialsUpdateMsg(deviceCredentialsUpdateMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(deviceCredentialsUpdateMsgBuilder); + uplinkMsgBuilder.addDeviceCredentialsUpdateMsg(deviceCredentialsUpdateMsgBuilder.build()); + + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); } private void sendDeviceRpcResponse() throws Exception { Device device = findDeviceByName("Edge Device 1"); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - DeviceRpcCallMsg.Builder deviceRpcCallResponse = DeviceRpcCallMsg.newBuilder().clear(); - deviceRpcCallResponse.setDeviceIdMSB(device.getUuidId().getMostSignificantBits()); - deviceRpcCallResponse.setDeviceIdLSB(device.getUuidId().getLeastSignificantBits()); - deviceRpcCallResponse.setOneway(true); - deviceRpcCallResponse.setOriginServiceId("originServiceId"); - deviceRpcCallResponse.setExpirationTime(System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(10)); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + DeviceRpcCallMsg.Builder deviceRpcCallResponseBuilder = DeviceRpcCallMsg.newBuilder(); + deviceRpcCallResponseBuilder.setDeviceIdMSB(device.getUuidId().getMostSignificantBits()); + deviceRpcCallResponseBuilder.setDeviceIdLSB(device.getUuidId().getLeastSignificantBits()); + deviceRpcCallResponseBuilder.setOneway(true); + deviceRpcCallResponseBuilder.setOriginServiceId("originServiceId"); + deviceRpcCallResponseBuilder.setExpirationTime(System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(10)); RpcResponseMsg.Builder responseBuilder = - RpcResponseMsg.newBuilder().clear().setResponse("{}"); - RpcResponseMsg rpcResponseMsg = responseBuilder.build(); - testAutoGeneratedCodeByProtobuf(rpcResponseMsg); - deviceRpcCallResponse.setResponseMsg(rpcResponseMsg); - DeviceRpcCallMsg deviceRpcCallMsg = deviceRpcCallResponse.build(); - testAutoGeneratedCodeByProtobuf(deviceRpcCallMsg); - builder.addDeviceRpcCallMsg(deviceRpcCallMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + RpcResponseMsg.newBuilder().setResponse("{}"); + testAutoGeneratedCodeByProtobuf(responseBuilder); + + deviceRpcCallResponseBuilder.setResponseMsg(responseBuilder.build()); + testAutoGeneratedCodeByProtobuf(deviceRpcCallResponseBuilder); + + uplinkMsgBuilder.addDeviceRpcCallMsg(deviceRpcCallResponseBuilder.build()); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); } @@ -1312,20 +1294,18 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { doPost("/api/plugins/telemetry/DEVICE/" + device.getId().getId().toString() + "/attributes/" + DataConstants.SERVER_SCOPE, attributesData); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - AttributesRequestMsg.Builder attributesRequestMsgBuilder = AttributesRequestMsg.newBuilder().clear(); + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + AttributesRequestMsg.Builder attributesRequestMsgBuilder = AttributesRequestMsg.newBuilder(); attributesRequestMsgBuilder.setEntityIdMSB(device.getUuidId().getMostSignificantBits()); attributesRequestMsgBuilder.setEntityIdLSB(device.getUuidId().getLeastSignificantBits()); attributesRequestMsgBuilder.setEntityType(EntityType.DEVICE.name()); - AttributesRequestMsg attributesRequestMsg = attributesRequestMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(attributesRequestMsg); - builder.addAttributesRequestMsg(attributesRequestMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(attributesRequestMsgBuilder); + uplinkMsgBuilder.addAttributesRequestMsg(attributesRequestMsgBuilder.build()); + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); edgeImitator.expectResponsesAmount(1); edgeImitator.expectMessageAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); edgeImitator.waitForResponses(); edgeImitator.waitForMessages(); @@ -1351,19 +1331,18 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { Optional foundDevice = edgeDevices.stream().filter(device1 -> device1.getName().equals("Edge Device 2")).findAny(); Assert.assertTrue(foundDevice.isPresent()); Device device = foundDevice.get(); - UplinkMsg.Builder builder = UplinkMsg.newBuilder().clear(); - DeviceUpdateMsg.Builder deviceDeleteMsgBuilder = DeviceUpdateMsg.newBuilder().clear(); + UplinkMsg.Builder upLinkMsgBuilder = UplinkMsg.newBuilder(); + DeviceUpdateMsg.Builder deviceDeleteMsgBuilder = DeviceUpdateMsg.newBuilder(); deviceDeleteMsgBuilder.setMsgType(UpdateMsgType.ENTITY_DELETED_RPC_MESSAGE); deviceDeleteMsgBuilder.setIdMSB(device.getId().getId().getMostSignificantBits()); deviceDeleteMsgBuilder.setIdLSB(device.getId().getId().getLeastSignificantBits()); - DeviceUpdateMsg deviceUpdateMsg = deviceDeleteMsgBuilder.build(); - testAutoGeneratedCodeByProtobuf(deviceUpdateMsg); - builder.addDeviceUpdateMsg(deviceUpdateMsg); - UplinkMsg uplinkMsg = builder.build(); - testAutoGeneratedCodeByProtobuf(uplinkMsg); + testAutoGeneratedCodeByProtobuf(deviceDeleteMsgBuilder); + + upLinkMsgBuilder.addDeviceUpdateMsg(deviceDeleteMsgBuilder.build()); + testAutoGeneratedCodeByProtobuf(upLinkMsgBuilder); edgeImitator.expectResponsesAmount(1); - edgeImitator.sendUplinkMsg(uplinkMsg); + edgeImitator.sendUplinkMsg(upLinkMsgBuilder.build()); edgeImitator.waitForResponses(); device = doGet("/api/device/" + device.getId().getId().toString(), Device.class); Assert.assertNotNull(device); @@ -1396,9 +1375,11 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { return edgeEvent; } - private void testAutoGeneratedCodeByProtobuf(MessageLite source) throws InvalidProtocolBufferException { + private void testAutoGeneratedCodeByProtobuf(MessageLite.Builder builder) throws InvalidProtocolBufferException { + MessageLite source = builder.build(); MessageLite target = source.getParserForType().parseFrom(source.toByteArray()); Assert.assertEquals(source, target); Assert.assertEquals(source.hashCode(), target.hashCode()); + builder.clear().mergeFrom(target); } }