Commit 4b4d262eebba21fbaef90b7110a775ffa83330e8

Authored by Volodymyr Babak
1 parent d3152874

Fixes for edge test after latest refactoring

... ... @@ -657,7 +657,7 @@ public abstract class BaseEdgeControllerTest extends AbstractControllerTest {
657 657
658 658 Device device = new Device();
659 659 device.setName("Edge Device 1");
660   - device.setType("test");
  660 + device.setType("default");
661 661 Device savedDevice = doPost("/api/device", device, Device.class);
662 662 doPost("/api/edge/" + edge.getId().getId().toString()
663 663 + "/device/" + savedDevice.getId().getId().toString(), Device.class);
... ... @@ -671,29 +671,27 @@ public abstract class BaseEdgeControllerTest extends AbstractControllerTest {
671 671
672 672 EdgeImitator edgeImitator = new EdgeImitator("localhost", 7070, edge.getRoutingKey(), edge.getSecret());
673 673 edgeImitator.ignoreType(UserCredentialsUpdateMsg.class);
  674 +
674 675 edgeImitator.expectMessageAmount(7);
675 676 edgeImitator.connect();
676 677 Assert.assertTrue(edgeImitator.waitForMessages());
677 678
678 679 Assert.assertEquals(7, edgeImitator.getDownlinkMsgs().size());
679   - Assert.assertTrue(edgeImitator.findMessageByType(RuleChainUpdateMsg.class).isPresent());
680   - Assert.assertTrue(edgeImitator.findMessageByType(DeviceProfileUpdateMsg.class).isPresent());
681   - Assert.assertTrue(edgeImitator.findMessageByType(DeviceUpdateMsg.class).isPresent());
682   - Assert.assertTrue(edgeImitator.findMessageByType(AssetUpdateMsg.class).isPresent());
683   - Assert.assertTrue(edgeImitator.findMessageByType(UserUpdateMsg.class).isPresent());
684   -
685   - edgeImitator.getDownlinkMsgs().clear();
  680 + Assert.assertEquals(2, edgeImitator.findAllMessagesByType(RuleChainUpdateMsg.class).size()); // one msg during sync process, another from edge creation
  681 + Assert.assertEquals(1, edgeImitator.findAllMessagesByType(DeviceProfileUpdateMsg.class).size()); // one msg during sync process for 'default' device profile
  682 + Assert.assertEquals(1, edgeImitator.findAllMessagesByType(DeviceUpdateMsg.class).size()); // one msg once device assigned to edge
  683 + Assert.assertEquals(2, edgeImitator.findAllMessagesByType(AssetUpdateMsg.class).size()); // two msgs - one during sync process, and one more once asset assigned to edge
  684 + Assert.assertEquals(1, edgeImitator.findAllMessagesByType(UserUpdateMsg.class).size()); // one msg during sync process for tenant admin user
686 685
687   - edgeImitator.expectMessageAmount(7);
  686 + edgeImitator.expectMessageAmount(4);
688 687 doPost("/api/edge/sync/" + edge.getId());
689 688 Assert.assertTrue(edgeImitator.waitForMessages());
690 689
691   - Assert.assertEquals(7, edgeImitator.getDownlinkMsgs().size());
692   - Assert.assertTrue(edgeImitator.findMessageByType(RuleChainUpdateMsg.class).isPresent());
693   - Assert.assertTrue(edgeImitator.findMessageByType(DeviceProfileUpdateMsg.class).isPresent());
694   - Assert.assertTrue(edgeImitator.findMessageByType(DeviceUpdateMsg.class).isPresent());
695   - Assert.assertTrue(edgeImitator.findMessageByType(AssetUpdateMsg.class).isPresent());
696   - Assert.assertTrue(edgeImitator.findMessageByType(UserUpdateMsg.class).isPresent());
  690 + Assert.assertEquals(4, edgeImitator.getDownlinkMsgs().size());
  691 + Assert.assertEquals(1, edgeImitator.findAllMessagesByType(RuleChainUpdateMsg.class).size());
  692 + Assert.assertEquals(1, edgeImitator.findAllMessagesByType(DeviceProfileUpdateMsg.class).size());
  693 + Assert.assertEquals(1, edgeImitator.findAllMessagesByType(AssetUpdateMsg.class).size());
  694 + Assert.assertEquals(1, edgeImitator.findAllMessagesByType(UserUpdateMsg.class).size());
697 695
698 696 edgeImitator.allowIgnoredTypes();
699 697 try {
... ...
... ... @@ -65,7 +65,6 @@ import org.thingsboard.server.common.data.id.EntityId;
65 65 import org.thingsboard.server.common.data.id.EntityIdFactory;
66 66 import org.thingsboard.server.common.data.id.RuleChainId;
67 67 import org.thingsboard.server.common.data.id.TenantId;
68   -import org.thingsboard.server.common.data.id.UserId;
69 68 import org.thingsboard.server.common.data.page.PageData;
70 69 import org.thingsboard.server.common.data.page.PageLink;
71 70 import org.thingsboard.server.common.data.query.EntityKeyValueType;
... ... @@ -193,60 +192,32 @@ abstract public class BaseEdgeTest extends AbstractControllerTest {
193 192 @Test
194 193 public void test() throws Exception {
195 194 testReceivedInitialData();
196   - int expectedDownlinkSize = 9;
197   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
198 195
199 196 testDevices();
200   - expectedDownlinkSize = expectedDownlinkSize + 4;
201   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
202 197
203 198 testAssets();
204   - expectedDownlinkSize = expectedDownlinkSize + 4;
205   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
206 199
207 200 testRuleChains();
208   - expectedDownlinkSize = expectedDownlinkSize + 3;
209   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
210 201
211 202 testDashboards();
212   - expectedDownlinkSize = expectedDownlinkSize + 3;
213   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
214 203
215 204 testRelations();
216   - expectedDownlinkSize = expectedDownlinkSize + 2;
217   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
218 205
219 206 testAlarms();
220   - expectedDownlinkSize = expectedDownlinkSize + 3;
221   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
222 207
223 208 testEntityView();
224   - expectedDownlinkSize = expectedDownlinkSize + 3;
225   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
226 209
227 210 testCustomerAndNewUser();
228   - expectedDownlinkSize = expectedDownlinkSize + 3;
229   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
230 211
231 212 testWidgetsBundleAndWidgetType();
232   - expectedDownlinkSize = expectedDownlinkSize + 4;
233   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
234 213
235 214 testTimeseries();
236   - expectedDownlinkSize = expectedDownlinkSize + 1;
237   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
238 215
239 216 testAttributes();
240   - expectedDownlinkSize = expectedDownlinkSize + 3;
241   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
242 217
243 218 testSendMessagesToCloud();
244   - expectedDownlinkSize = expectedDownlinkSize + 9;
245   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
246 219
247 220 testRpcCall();
248   - expectedDownlinkSize = expectedDownlinkSize + 1;
249   - Assert.assertEquals(expectedDownlinkSize, edgeImitator.getDownlinkMsgs().size());
250 221 }
251 222
252 223 private Device findDeviceByName(String deviceName) throws Exception {
... ... @@ -442,7 +413,6 @@ abstract public class BaseEdgeTest extends AbstractControllerTest {
442 413 log.info("Devices tested successfully");
443 414 }
444 415
445   -
446 416 private void testAssets() throws Exception {
447 417 log.info("Testing assets");
448 418
... ...
... ... @@ -77,9 +77,7 @@ public class EdgeImitator {
77 77 @Getter
78 78 private EdgeConfiguration configuration;
79 79 @Getter
80   - private UserId userId;
81   - @Getter
82   - private final List<AbstractMessage> downlinkMsgs;
  80 + private List<AbstractMessage> downlinkMsgs;
83 81
84 82 public EdgeImitator(String host, int port, String routingKey, String routingSecret) throws NoSuchFieldException, IllegalAccessException {
85 83 edgeRpcClient = new EdgeGrpcClient();
... ... @@ -266,6 +264,9 @@ public class EdgeImitator {
266 264 }
267 265
268 266 public void expectMessageAmount(int messageAmount) {
  267 + // clear downlinks
  268 + downlinkMsgs.clear();
  269 +
269 270 messagesLatch = new CountDownLatch(messageAmount);
270 271 }
271 272
... ...