diff --git a/application/src/test/java/org/thingsboard/server/controller/BaseEdgeControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseEdgeControllerTest.java index fa7166f561..16338584af 100644 --- a/application/src/test/java/org/thingsboard/server/controller/BaseEdgeControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseEdgeControllerTest.java @@ -40,6 +40,7 @@ import org.thingsboard.server.edge.imitator.EdgeImitator; import org.thingsboard.server.gen.edge.AssetUpdateMsg; import org.thingsboard.server.gen.edge.DeviceUpdateMsg; import org.thingsboard.server.gen.edge.RuleChainUpdateMsg; +import org.thingsboard.server.gen.edge.UserCredentialsUpdateMsg; import org.thingsboard.server.gen.edge.UserUpdateMsg; import java.util.ArrayList; @@ -667,11 +668,12 @@ public abstract class BaseEdgeControllerTest extends AbstractControllerTest { + "/asset/" + savedAsset.getId().getId().toString(), Asset.class); EdgeImitator edgeImitator = new EdgeImitator("localhost", 7070, edge.getRoutingKey(), edge.getSecret()); - edgeImitator.expectMessageAmount(8); + edgeImitator.ignoreType(UserCredentialsUpdateMsg.class); + edgeImitator.expectMessageAmount(7); edgeImitator.connect(); edgeImitator.waitForMessages(); - Assert.assertEquals(8, edgeImitator.getDownlinkMsgs().size()); + Assert.assertEquals(7, edgeImitator.getDownlinkMsgs().size()); Assert.assertTrue(edgeImitator.findMessageByType(RuleChainUpdateMsg.class).isPresent()); Assert.assertTrue(edgeImitator.findMessageByType(DeviceUpdateMsg.class).isPresent()); Assert.assertTrue(edgeImitator.findMessageByType(AssetUpdateMsg.class).isPresent()); @@ -689,6 +691,7 @@ public abstract class BaseEdgeControllerTest extends AbstractControllerTest { Assert.assertTrue(edgeImitator.findMessageByType(AssetUpdateMsg.class).isPresent()); Assert.assertTrue(edgeImitator.findMessageByType(UserUpdateMsg.class).isPresent()); + edgeImitator.allowIgnoredTypes(); edgeImitator.disconnect(); doDelete("/api/device/" + savedDevice.getId().getId().toString()) 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 0d765fbf6b..7938f06222 100644 --- a/application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java +++ b/application/src/test/java/org/thingsboard/server/edge/BaseEdgeTest.java @@ -128,7 +128,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { edgeImitator = new EdgeImitator("localhost", 7070, edge.getRoutingKey(), edge.getSecret()); // should be less, but events from SyncEdgeService stack with events from controller. will be fixed in next releases - edgeImitator.expectMessageAmount(8); + edgeImitator.expectMessageAmount(7); edgeImitator.connect(); } diff --git a/application/src/test/java/org/thingsboard/server/edge/imitator/EdgeImitator.java b/application/src/test/java/org/thingsboard/server/edge/imitator/EdgeImitator.java index 452421f001..3eca5438dd 100644 --- a/application/src/test/java/org/thingsboard/server/edge/imitator/EdgeImitator.java +++ b/application/src/test/java/org/thingsboard/server/edge/imitator/EdgeImitator.java @@ -65,6 +65,7 @@ public class EdgeImitator { private CountDownLatch messagesLatch; private CountDownLatch responsesLatch; + private List> ignoredTypes; @Getter private EdgeConfiguration configuration; @@ -78,6 +79,7 @@ public class EdgeImitator { messagesLatch = new CountDownLatch(0); responsesLatch = new CountDownLatch(0); downlinkMsgs = new ArrayList<>(); + ignoredTypes = new ArrayList<>(); this.routingKey = routingKey; this.routingSecret = routingSecret; setEdgeCredentials("rpcHost", host); @@ -226,8 +228,10 @@ public class EdgeImitator { } private ListenableFuture saveDownlinkMsg(AbstractMessage message) { - downlinkMsgs.add(message); - messagesLatch.countDown(); + if (!ignoredTypes.contains(message.getClass())) { + downlinkMsgs.add(message); + messagesLatch.countDown(); + } return Futures.immediateFuture(null); } @@ -253,4 +257,12 @@ public class EdgeImitator { return downlinkMsgs.get(downlinkMsgs.size() - 1); } + public void ignoreType(Class type) { + ignoredTypes.add(type); + } + + public void allowIgnoredTypes() { + ignoredTypes.clear(); + } + }