|
|
|
@ -27,6 +27,8 @@ import com.google.protobuf.InvalidProtocolBufferException; |
|
|
|
import com.google.protobuf.MessageLite; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.RandomStringUtils; |
|
|
|
import org.awaitility.Awaitility; |
|
|
|
import org.hamcrest.Matchers; |
|
|
|
import org.junit.After; |
|
|
|
import org.junit.Assert; |
|
|
|
import org.junit.Before; |
|
|
|
@ -650,7 +652,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
Assert.assertEquals(relationUpdateMsg.getFromIdMSB(), relation.getFrom().getId().getMostSignificantBits()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getToIdLSB(), relation.getTo().getId().getLeastSignificantBits()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getToEntityType(), relation.getTo().getEntityType().name()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getTypeGroup(), relation.getTypeGroup().name()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getTypeGroup().getValue(), relation.getTypeGroup().name()); |
|
|
|
|
|
|
|
// 2
|
|
|
|
edgeImitator.expectMessageAmount(1); |
|
|
|
@ -674,7 +676,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
Assert.assertEquals(relationUpdateMsg.getFromIdMSB(), relation.getFrom().getId().getMostSignificantBits()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getToIdLSB(), relation.getTo().getId().getLeastSignificantBits()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getToEntityType(), relation.getTo().getEntityType().name()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getTypeGroup(), relation.getTypeGroup().name()); |
|
|
|
Assert.assertEquals(relationUpdateMsg.getTypeGroup().getValue(), relation.getTypeGroup().name()); |
|
|
|
|
|
|
|
log.info("Relations tested successfully"); |
|
|
|
} |
|
|
|
@ -902,8 +904,8 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
Assert.assertEquals(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE, widgetTypeUpdateMsg.getMsgType()); |
|
|
|
Assert.assertEquals(widgetTypeUpdateMsg.getIdMSB(), savedWidgetType.getUuidId().getMostSignificantBits()); |
|
|
|
Assert.assertEquals(widgetTypeUpdateMsg.getIdLSB(), savedWidgetType.getUuidId().getLeastSignificantBits()); |
|
|
|
Assert.assertEquals(widgetTypeUpdateMsg.getAlias(), savedWidgetType.getAlias()); |
|
|
|
Assert.assertEquals(widgetTypeUpdateMsg.getName(), savedWidgetType.getName()); |
|
|
|
Assert.assertEquals(widgetTypeUpdateMsg.getAlias().getValue(), savedWidgetType.getAlias()); |
|
|
|
Assert.assertEquals(widgetTypeUpdateMsg.getName().getValue(), savedWidgetType.getName()); |
|
|
|
Assert.assertEquals(JacksonUtil.toJsonNode(widgetTypeUpdateMsg.getDescriptorJson().getValue()), savedWidgetType.getDescriptor()); |
|
|
|
|
|
|
|
// 3
|
|
|
|
@ -1204,7 +1206,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
Assert.assertTrue(latestMessage instanceof DeviceUpdateMsg); |
|
|
|
DeviceUpdateMsg latestDeviceUpdateMsg = (DeviceUpdateMsg) latestMessage; |
|
|
|
Assert.assertNotEquals(deviceOnCloudName, latestDeviceUpdateMsg.getName()); |
|
|
|
Assert.assertEquals(deviceOnCloudName, latestDeviceUpdateMsg.getConflictName()); |
|
|
|
Assert.assertEquals(deviceOnCloudName, latestDeviceUpdateMsg.getConflictName().getValue()); |
|
|
|
|
|
|
|
UUID newDeviceId = new UUID(latestDeviceUpdateMsg.getIdMSB(), latestDeviceUpdateMsg.getIdLSB()); |
|
|
|
|
|
|
|
@ -1271,7 +1273,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
EntityId toEntityId = EntityIdFactory.getByTypeAndUuid(relationUpdateMsg.getToEntityType(), toUUID); |
|
|
|
Assert.assertEquals(relation.getTo(), toEntityId); |
|
|
|
|
|
|
|
Assert.assertEquals(relation.getTypeGroup().name(), relationUpdateMsg.getTypeGroup()); |
|
|
|
Assert.assertEquals(relation.getTypeGroup().name(), relationUpdateMsg.getTypeGroup().getValue()); |
|
|
|
} |
|
|
|
|
|
|
|
private void sendAlarm() throws Exception { |
|
|
|
@ -1350,15 +1352,11 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
edgeImitator.sendUplinkMsg(uplinkMsgBuilder2.build()); |
|
|
|
Assert.assertTrue(edgeImitator.waitForResponses()); |
|
|
|
|
|
|
|
int attempt = 0; |
|
|
|
Map<String, List<Map<String, String>>> timeseries; |
|
|
|
do { |
|
|
|
timeseries = doGetAsyncTyped("/api/plugins/telemetry/DEVICE/" + device.getUuidId() + "/values/timeseries?keys=" + timeseriesKey, |
|
|
|
new TypeReference<>() {}); |
|
|
|
// Wait before device attributes saved to database before requesting them from controller
|
|
|
|
Thread.sleep(100); |
|
|
|
attempt++; |
|
|
|
} while (!timeseries.containsKey(timeseriesKey) || attempt < 10); |
|
|
|
Awaitility.await() |
|
|
|
.atMost(2, TimeUnit.SECONDS) |
|
|
|
.until(() -> loadDeviceTimeseries(device, timeseriesKey).containsKey(timeseriesKey)); |
|
|
|
|
|
|
|
Map<String, List<Map<String, String>>> timeseries = loadDeviceTimeseries(device, timeseriesKey); |
|
|
|
Assert.assertTrue(timeseries.containsKey(timeseriesKey)); |
|
|
|
Assert.assertEquals(1, timeseries.get(timeseriesKey).size()); |
|
|
|
Assert.assertEquals(timeseriesValue, timeseries.get(timeseriesKey).get(0).get("value")); |
|
|
|
@ -1367,7 +1365,11 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
Assert.assertEquals(1, attributes.size()); |
|
|
|
Assert.assertEquals(attributes.get(0).get("key"), attributesKey); |
|
|
|
Assert.assertEquals(attributes.get(0).get("value"), attributesValue); |
|
|
|
} |
|
|
|
|
|
|
|
private Map<String, List<Map<String, String>>> loadDeviceTimeseries(Device device, String timeseriesKey) throws Exception { |
|
|
|
return doGetAsyncTyped("/api/plugins/telemetry/DEVICE/" + device.getUuidId() + "/values/timeseries?keys=" + timeseriesKey, |
|
|
|
new TypeReference<>() {}); |
|
|
|
} |
|
|
|
|
|
|
|
private void sendRelation() throws Exception { |
|
|
|
@ -1449,7 +1451,7 @@ abstract public class BaseEdgeTest extends AbstractControllerTest { |
|
|
|
edgeImitator.expectMessageAmount(1); |
|
|
|
edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); |
|
|
|
Assert.assertTrue(edgeImitator.waitForResponses()); |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages());; |
|
|
|
Assert.assertTrue(edgeImitator.waitForMessages()); |
|
|
|
|
|
|
|
AbstractMessage latestMessage = edgeImitator.getLatestMessage(); |
|
|
|
Assert.assertTrue(latestMessage instanceof RuleChainMetadataUpdateMsg); |
|
|
|
|