From a7a7cb2ad5b1c2b5140cae090a8f65d60cd9f06c Mon Sep 17 00:00:00 2001 From: Bohdan Smetaniuk Date: Tue, 6 Oct 2020 14:25:07 +0300 Subject: [PATCH] fixed bug with extra UserCredentialsUpdataMsg --- .../controller/BaseEdgeControllerTest.java | 7 +++++-- .../thingsboard/server/edge/BaseEdgeTest.java | 2 +- .../server/edge/imitator/EdgeImitator.java | 16 ++++++++++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) 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(); + } + }