Browse Source

Added RPC response test

pull/3481/head
Volodymyr Babak 6 years ago
parent
commit
51e53462de
  1. 29
      application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java

29
application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java

@ -82,11 +82,13 @@ import org.thingsboard.server.gen.edge.EntityDataProto;
import org.thingsboard.server.gen.edge.EntityViewUpdateMsg; import org.thingsboard.server.gen.edge.EntityViewUpdateMsg;
import org.thingsboard.server.gen.edge.RelationUpdateMsg; import org.thingsboard.server.gen.edge.RelationUpdateMsg;
import org.thingsboard.server.gen.edge.RpcRequestMsg; import org.thingsboard.server.gen.edge.RpcRequestMsg;
import org.thingsboard.server.gen.edge.RpcResponseMsg;
import org.thingsboard.server.gen.edge.RuleChainMetadataRequestMsg; import org.thingsboard.server.gen.edge.RuleChainMetadataRequestMsg;
import org.thingsboard.server.gen.edge.RuleChainMetadataUpdateMsg; import org.thingsboard.server.gen.edge.RuleChainMetadataUpdateMsg;
import org.thingsboard.server.gen.edge.RuleChainUpdateMsg; import org.thingsboard.server.gen.edge.RuleChainUpdateMsg;
import org.thingsboard.server.gen.edge.UpdateMsgType; import org.thingsboard.server.gen.edge.UpdateMsgType;
import org.thingsboard.server.gen.edge.UplinkMsg; import org.thingsboard.server.gen.edge.UplinkMsg;
import org.thingsboard.server.gen.edge.UplinkResponseMsg;
import org.thingsboard.server.gen.edge.UserCredentialsRequestMsg; import org.thingsboard.server.gen.edge.UserCredentialsRequestMsg;
import org.thingsboard.server.gen.edge.UserCredentialsUpdateMsg; import org.thingsboard.server.gen.edge.UserCredentialsUpdateMsg;
import org.thingsboard.server.gen.edge.WidgetTypeUpdateMsg; import org.thingsboard.server.gen.edge.WidgetTypeUpdateMsg;
@ -875,6 +877,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest {
sendRuleChainMetadataRequest(); sendRuleChainMetadataRequest();
sendUserCredentialsRequest(); sendUserCredentialsRequest();
sendDeviceCredentialsRequest(); sendDeviceCredentialsRequest();
sendDeviceRpcResponse();
log.info("Messages were sent successfully"); log.info("Messages were sent successfully");
} }
@ -1056,11 +1059,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest {
} }
private void sendDeviceCredentialsRequest() throws Exception { private void sendDeviceCredentialsRequest() throws Exception {
List<Device> edgeDevices = doGetTypedWithPageLink("/api/edge/" + edge.getId().getId().toString() + "/devices?", Device device = findDeviceByName("Edge Device 1");
new TypeReference<TimePageData<Device>>() {}, new TextPageLink(100)).getData();
Optional<Device> foundDevice = edgeDevices.stream().filter(device1 -> device1.getName().equals("Edge Device 1")).findAny();
Assert.assertTrue(foundDevice.isPresent());
Device device = foundDevice.get();
DeviceCredentials deviceCredentials = doGet("/api/device/" + device.getId().getId().toString() + "/credentials", DeviceCredentials.class); DeviceCredentials deviceCredentials = doGet("/api/device/" + device.getId().getId().toString() + "/credentials", DeviceCredentials.class);
@ -1085,6 +1084,26 @@ abstract public class BaseEdgeTest extends AbstractControllerTest {
Assert.assertEquals(deviceCredentialsUpdateMsg.getCredentialsId(), deviceCredentials.getCredentialsId()); Assert.assertEquals(deviceCredentialsUpdateMsg.getCredentialsId(), deviceCredentials.getCredentialsId());
} }
private void sendDeviceRpcResponse() throws Exception {
Device device = findDeviceByName("Edge Device 1");
UplinkMsg.Builder builder = UplinkMsg.newBuilder();
DeviceRpcCallMsg.Builder deviceRpcCallResponse = DeviceRpcCallMsg.newBuilder();
deviceRpcCallResponse.setDeviceIdMSB(device.getUuidId().getMostSignificantBits());
deviceRpcCallResponse.setDeviceIdLSB(device.getUuidId().getLeastSignificantBits());
deviceRpcCallResponse.setOneway(true);
deviceRpcCallResponse.setOriginServiceId("originServiceId");
deviceRpcCallResponse.setExpirationTime(System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(10));
RpcResponseMsg.Builder responseBuilder =
RpcResponseMsg.newBuilder().setResponse("{}");
deviceRpcCallResponse.setResponseMsg(responseBuilder.build());
builder.addDeviceRpcCallMsg(deviceRpcCallResponse.build());
edgeImitator.expectResponsesAmount(1);
edgeImitator.sendUplinkMsg(builder.build());
edgeImitator.waitForResponses();
}
private void sendDeleteDeviceOnEdge() throws Exception { private void sendDeleteDeviceOnEdge() throws Exception {
List<Device> edgeDevices = doGetTypedWithPageLink("/api/edge/" + edge.getId().getId().toString() + "/devices?", List<Device> edgeDevices = doGetTypedWithPageLink("/api/edge/" + edge.getId().getId().toString() + "/devices?",
new TypeReference<TimePageData<Device>>() {}, new TextPageLink(100)).getData(); new TypeReference<TimePageData<Device>>() {}, new TextPageLink(100)).getData();

Loading…
Cancel
Save