Added asset & device profiles default edge rule chain test. Added device & device profile software id and default dashboard id tests
This commit is contained in:
parent
ab924d6e13
commit
d0847bb80a
@ -73,6 +73,10 @@ public class DeviceProfileMsgConstructor {
|
|||||||
builder.setDefaultRuleChainIdMSB(deviceProfile.getDefaultEdgeRuleChainId().getId().getMostSignificantBits())
|
builder.setDefaultRuleChainIdMSB(deviceProfile.getDefaultEdgeRuleChainId().getId().getMostSignificantBits())
|
||||||
.setDefaultRuleChainIdLSB(deviceProfile.getDefaultEdgeRuleChainId().getId().getLeastSignificantBits());
|
.setDefaultRuleChainIdLSB(deviceProfile.getDefaultEdgeRuleChainId().getId().getLeastSignificantBits());
|
||||||
}
|
}
|
||||||
|
if (deviceProfile.getDefaultDashboardId() != null) {
|
||||||
|
builder.setDefaultDashboardIdMSB(deviceProfile.getDefaultDashboardId().getId().getMostSignificantBits())
|
||||||
|
.setDefaultDashboardIdLSB(deviceProfile.getDefaultDashboardId().getId().getLeastSignificantBits());
|
||||||
|
}
|
||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.test.context.TestPropertySource;
|
import org.springframework.test.context.TestPropertySource;
|
||||||
import org.thingsboard.common.util.JacksonUtil;
|
import org.thingsboard.common.util.JacksonUtil;
|
||||||
import org.thingsboard.server.cluster.TbClusterService;
|
import org.thingsboard.server.cluster.TbClusterService;
|
||||||
|
import org.thingsboard.server.common.data.Dashboard;
|
||||||
import org.thingsboard.server.common.data.Device;
|
import org.thingsboard.server.common.data.Device;
|
||||||
import org.thingsboard.server.common.data.DeviceProfile;
|
import org.thingsboard.server.common.data.DeviceProfile;
|
||||||
import org.thingsboard.server.common.data.OtaPackageInfo;
|
import org.thingsboard.server.common.data.OtaPackageInfo;
|
||||||
@ -51,11 +52,13 @@ import org.thingsboard.server.common.data.edge.Edge;
|
|||||||
import org.thingsboard.server.common.data.edge.EdgeEvent;
|
import org.thingsboard.server.common.data.edge.EdgeEvent;
|
||||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||||
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
||||||
|
import org.thingsboard.server.common.data.id.DashboardId;
|
||||||
import org.thingsboard.server.common.data.id.DeviceProfileId;
|
import org.thingsboard.server.common.data.id.DeviceProfileId;
|
||||||
import org.thingsboard.server.common.data.id.EdgeId;
|
import org.thingsboard.server.common.data.id.EdgeId;
|
||||||
import org.thingsboard.server.common.data.id.RuleChainId;
|
import org.thingsboard.server.common.data.id.RuleChainId;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
import org.thingsboard.server.common.data.ota.ChecksumAlgorithm;
|
import org.thingsboard.server.common.data.ota.ChecksumAlgorithm;
|
||||||
|
import org.thingsboard.server.common.data.ota.OtaPackageType;
|
||||||
import org.thingsboard.server.common.data.page.PageData;
|
import org.thingsboard.server.common.data.page.PageData;
|
||||||
import org.thingsboard.server.common.data.page.PageLink;
|
import org.thingsboard.server.common.data.page.PageLink;
|
||||||
import org.thingsboard.server.common.data.query.EntityKeyValueType;
|
import org.thingsboard.server.common.data.query.EntityKeyValueType;
|
||||||
@ -63,6 +66,7 @@ import org.thingsboard.server.common.data.query.FilterPredicateValue;
|
|||||||
import org.thingsboard.server.common.data.query.NumericFilterPredicate;
|
import org.thingsboard.server.common.data.query.NumericFilterPredicate;
|
||||||
import org.thingsboard.server.common.data.queue.Queue;
|
import org.thingsboard.server.common.data.queue.Queue;
|
||||||
import org.thingsboard.server.common.data.rule.RuleChain;
|
import org.thingsboard.server.common.data.rule.RuleChain;
|
||||||
|
import org.thingsboard.server.common.data.rule.RuleChainType;
|
||||||
import org.thingsboard.server.common.data.security.Authority;
|
import org.thingsboard.server.common.data.security.Authority;
|
||||||
import org.thingsboard.server.controller.AbstractControllerTest;
|
import org.thingsboard.server.controller.AbstractControllerTest;
|
||||||
import org.thingsboard.server.dao.edge.EdgeEventService;
|
import org.thingsboard.server.dao.edge.EdgeEventService;
|
||||||
@ -500,13 +504,13 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
|||||||
return doPost("/api/asset", asset, Asset.class);
|
return doPost("/api/asset", asset, Asset.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected OtaPackageInfo saveOtaPackageInfo(DeviceProfileId deviceProfileId) {
|
protected OtaPackageInfo saveOtaPackageInfo(DeviceProfileId deviceProfileId, OtaPackageType type) {
|
||||||
SaveOtaPackageInfoRequest firmwareInfo = new SaveOtaPackageInfoRequest();
|
SaveOtaPackageInfoRequest firmwareInfo = new SaveOtaPackageInfoRequest();
|
||||||
firmwareInfo.setDeviceProfileId(deviceProfileId);
|
firmwareInfo.setDeviceProfileId(deviceProfileId);
|
||||||
firmwareInfo.setType(FIRMWARE);
|
firmwareInfo.setType(type);
|
||||||
firmwareInfo.setTitle("Firmware Edge " + StringUtils.randomAlphanumeric(3));
|
firmwareInfo.setTitle(type.name() + " Edge " + StringUtils.randomAlphanumeric(3));
|
||||||
firmwareInfo.setVersion("v1.0");
|
firmwareInfo.setVersion("v1.0");
|
||||||
firmwareInfo.setTag("My firmware #1 v1.0");
|
firmwareInfo.setTag("My " + type.name() + " #1 v1.0");
|
||||||
firmwareInfo.setUsesUrl(true);
|
firmwareInfo.setUsesUrl(true);
|
||||||
firmwareInfo.setUrl("http://localhost:8080/v1/package");
|
firmwareInfo.setUrl("http://localhost:8080/v1/package");
|
||||||
firmwareInfo.setAdditionalInfo(JacksonUtil.newObjectNode());
|
firmwareInfo.setAdditionalInfo(JacksonUtil.newObjectNode());
|
||||||
@ -541,6 +545,49 @@ abstract public class AbstractEdgeTest extends AbstractControllerTest {
|
|||||||
Assert.assertEquals(source.hashCode(), target.hashCode());
|
Assert.assertEquals(source.hashCode(), target.hashCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected RuleChainId createEdgeRuleChainAndAssignToEdge(String ruleChainName) throws Exception {
|
||||||
|
edgeImitator.expectMessageAmount(1);
|
||||||
|
RuleChain ruleChain = new RuleChain();
|
||||||
|
ruleChain.setName(ruleChainName);
|
||||||
|
ruleChain.setType(RuleChainType.EDGE);
|
||||||
|
RuleChain savedRuleChain = doPost("/api/ruleChain", ruleChain, RuleChain.class);
|
||||||
|
doPost("/api/edge/" + edge.getUuidId()
|
||||||
|
+ "/ruleChain/" + savedRuleChain.getUuidId(), RuleChain.class);
|
||||||
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
return savedRuleChain.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void unAssignFromEdgeAndDeleteRuleChain(RuleChainId ruleChainId) throws Exception {
|
||||||
|
edgeImitator.expectMessageAmount(1);
|
||||||
|
doDelete("/api/edge/" + edge.getUuidId()
|
||||||
|
+ "/ruleChain/" + ruleChainId.getId(), RuleChain.class);
|
||||||
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
|
||||||
|
// delete rule chain
|
||||||
|
doDelete("/api/ruleChain/" + ruleChainId.getId())
|
||||||
|
.andExpect(status().isOk());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected DashboardId createDashboardAndAssignToEdge(String dashboardName) throws Exception {
|
||||||
|
edgeImitator.expectMessageAmount(1);
|
||||||
|
Dashboard dashboard = new Dashboard();
|
||||||
|
dashboard.setTitle(dashboardName);
|
||||||
|
Dashboard savedDashboard = doPost("/api/dashboard", dashboard, Dashboard.class);
|
||||||
|
doPost("/api/edge/" + edge.getUuidId()
|
||||||
|
+ "/dashboard/" + savedDashboard.getUuidId(), Dashboard.class);
|
||||||
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
return savedDashboard.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void unAssignFromEdgeAndDeleteDashboard(DashboardId dashboardId) throws Exception {
|
||||||
|
edgeImitator.expectMessageAmount(1);
|
||||||
|
doDelete("/api/edge/" + edge.getUuidId()
|
||||||
|
+ "/dashboard/" + dashboardId.getId(), RuleChain.class);
|
||||||
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
|
||||||
|
// delete dashboard
|
||||||
|
doDelete("/api/dashboard/" + dashboardId.getId())
|
||||||
|
.andExpect(status().isOk());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import com.google.protobuf.ByteString;
|
|||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.thingsboard.server.common.data.asset.AssetProfile;
|
import org.thingsboard.server.common.data.asset.AssetProfile;
|
||||||
|
import org.thingsboard.server.common.data.id.RuleChainId;
|
||||||
import org.thingsboard.server.gen.edge.v1.AssetProfileUpdateMsg;
|
import org.thingsboard.server.gen.edge.v1.AssetProfileUpdateMsg;
|
||||||
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
|
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
|
||||||
|
|
||||||
@ -31,8 +32,11 @@ abstract public class BaseAssetProfileEdgeTest extends AbstractEdgeTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAssetProfiles() throws Exception {
|
public void testAssetProfiles() throws Exception {
|
||||||
|
RuleChainId buildingsRuleChainId = createEdgeRuleChainAndAssignToEdge("Buildings Rule Chain");
|
||||||
|
|
||||||
// create asset profile
|
// create asset profile
|
||||||
AssetProfile assetProfile = this.createAssetProfile("Building");
|
AssetProfile assetProfile = this.createAssetProfile("Building");
|
||||||
|
assetProfile.setDefaultEdgeRuleChainId(buildingsRuleChainId);
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
assetProfile = doPost("/api/assetProfile", assetProfile, AssetProfile.class);
|
assetProfile = doPost("/api/assetProfile", assetProfile, AssetProfile.class);
|
||||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
@ -43,6 +47,8 @@ abstract public class BaseAssetProfileEdgeTest extends AbstractEdgeTest {
|
|||||||
Assert.assertEquals(assetProfile.getUuidId().getMostSignificantBits(), assetProfileUpdateMsg.getIdMSB());
|
Assert.assertEquals(assetProfile.getUuidId().getMostSignificantBits(), assetProfileUpdateMsg.getIdMSB());
|
||||||
Assert.assertEquals(assetProfile.getUuidId().getLeastSignificantBits(), assetProfileUpdateMsg.getIdLSB());
|
Assert.assertEquals(assetProfile.getUuidId().getLeastSignificantBits(), assetProfileUpdateMsg.getIdLSB());
|
||||||
Assert.assertEquals("Building", assetProfileUpdateMsg.getName());
|
Assert.assertEquals("Building", assetProfileUpdateMsg.getName());
|
||||||
|
Assert.assertEquals(buildingsRuleChainId.getId().getMostSignificantBits(), assetProfileUpdateMsg.getDefaultRuleChainIdMSB());
|
||||||
|
Assert.assertEquals(buildingsRuleChainId.getId().getLeastSignificantBits(), assetProfileUpdateMsg.getDefaultRuleChainIdLSB());
|
||||||
|
|
||||||
// update asset profile
|
// update asset profile
|
||||||
assetProfile.setImage("IMAGE");
|
assetProfile.setImage("IMAGE");
|
||||||
@ -66,5 +72,7 @@ abstract public class BaseAssetProfileEdgeTest extends AbstractEdgeTest {
|
|||||||
Assert.assertEquals(UpdateMsgType.ENTITY_DELETED_RPC_MESSAGE, assetProfileUpdateMsg.getMsgType());
|
Assert.assertEquals(UpdateMsgType.ENTITY_DELETED_RPC_MESSAGE, assetProfileUpdateMsg.getMsgType());
|
||||||
Assert.assertEquals(assetProfile.getUuidId().getMostSignificantBits(), assetProfileUpdateMsg.getIdMSB());
|
Assert.assertEquals(assetProfile.getUuidId().getMostSignificantBits(), assetProfileUpdateMsg.getIdMSB());
|
||||||
Assert.assertEquals(assetProfile.getUuidId().getLeastSignificantBits(), assetProfileUpdateMsg.getIdLSB());
|
Assert.assertEquals(assetProfile.getUuidId().getLeastSignificantBits(), assetProfileUpdateMsg.getIdLSB());
|
||||||
|
|
||||||
|
unAssignFromEdgeAndDeleteRuleChain(buildingsRuleChainId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,6 +43,7 @@ import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
|||||||
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
||||||
import org.thingsboard.server.common.data.id.CustomerId;
|
import org.thingsboard.server.common.data.id.CustomerId;
|
||||||
import org.thingsboard.server.common.data.id.EntityId;
|
import org.thingsboard.server.common.data.id.EntityId;
|
||||||
|
import org.thingsboard.server.common.data.ota.OtaPackageType;
|
||||||
import org.thingsboard.server.common.data.page.PageData;
|
import org.thingsboard.server.common.data.page.PageData;
|
||||||
import org.thingsboard.server.common.data.page.PageLink;
|
import org.thingsboard.server.common.data.page.PageLink;
|
||||||
import org.thingsboard.server.common.data.security.DeviceCredentials;
|
import org.thingsboard.server.common.data.security.DeviceCredentials;
|
||||||
@ -174,7 +175,7 @@ abstract public class BaseDeviceEdgeTest extends AbstractEdgeTest {
|
|||||||
// create device and assign to edge; update device
|
// create device and assign to edge; update device
|
||||||
Device savedDevice = saveDeviceOnCloudAndVerifyDeliveryToEdge();
|
Device savedDevice = saveDeviceOnCloudAndVerifyDeliveryToEdge();
|
||||||
|
|
||||||
verifyUpdateFirmwareIdAndDeviceData(savedDevice);
|
verifyUpdateFirmwareIdSoftwareIdAndDeviceData(savedDevice);
|
||||||
|
|
||||||
// update device credentials - ACCESS_TOKEN
|
// update device credentials - ACCESS_TOKEN
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
@ -210,15 +211,20 @@ abstract public class BaseDeviceEdgeTest extends AbstractEdgeTest {
|
|||||||
Assert.assertEquals(deviceCredentials.getCredentialsValue(), deviceCredentialsUpdateMsg.getCredentialsValue());
|
Assert.assertEquals(deviceCredentials.getCredentialsValue(), deviceCredentialsUpdateMsg.getCredentialsValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void verifyUpdateFirmwareIdAndDeviceData(Device savedDevice) throws InterruptedException {
|
private void verifyUpdateFirmwareIdSoftwareIdAndDeviceData(Device savedDevice) throws InterruptedException {
|
||||||
// create ota package
|
// create ota packages
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
OtaPackageInfo firmwareOtaPackageInfo = saveOtaPackageInfo(thermostatDeviceProfile.getId());
|
OtaPackageInfo firmwareOtaPackageInfo = saveOtaPackageInfo(thermostatDeviceProfile.getId(), OtaPackageType.FIRMWARE);
|
||||||
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
|
||||||
|
edgeImitator.expectMessageAmount(1);
|
||||||
|
OtaPackageInfo softwareOtaPackageInfo = saveOtaPackageInfo(thermostatDeviceProfile.getId(), OtaPackageType.SOFTWARE);
|
||||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
|
||||||
// update device
|
// update device
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
savedDevice.setFirmwareId(firmwareOtaPackageInfo.getId());
|
savedDevice.setFirmwareId(firmwareOtaPackageInfo.getId());
|
||||||
|
savedDevice.setSoftwareId(softwareOtaPackageInfo.getId());
|
||||||
|
|
||||||
DeviceData deviceData = new DeviceData();
|
DeviceData deviceData = new DeviceData();
|
||||||
deviceData.setConfiguration(new DefaultDeviceConfiguration());
|
deviceData.setConfiguration(new DefaultDeviceConfiguration());
|
||||||
@ -239,6 +245,8 @@ abstract public class BaseDeviceEdgeTest extends AbstractEdgeTest {
|
|||||||
Assert.assertEquals(savedDevice.getType(), deviceUpdateMsg.getType());
|
Assert.assertEquals(savedDevice.getType(), deviceUpdateMsg.getType());
|
||||||
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getMostSignificantBits(), deviceUpdateMsg.getFirmwareIdMSB());
|
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getMostSignificantBits(), deviceUpdateMsg.getFirmwareIdMSB());
|
||||||
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getLeastSignificantBits(), deviceUpdateMsg.getFirmwareIdLSB());
|
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getLeastSignificantBits(), deviceUpdateMsg.getFirmwareIdLSB());
|
||||||
|
Assert.assertEquals(softwareOtaPackageInfo.getUuidId().getMostSignificantBits(), deviceUpdateMsg.getSoftwareIdMSB());
|
||||||
|
Assert.assertEquals(softwareOtaPackageInfo.getUuidId().getLeastSignificantBits(), deviceUpdateMsg.getSoftwareIdLSB());
|
||||||
Optional<DeviceData> deviceDataOpt =
|
Optional<DeviceData> deviceDataOpt =
|
||||||
dataDecodingEncodingService.decode(deviceUpdateMsg.getDeviceDataBytes().toByteArray());
|
dataDecodingEncodingService.decode(deviceUpdateMsg.getDeviceDataBytes().toByteArray());
|
||||||
Assert.assertTrue(deviceDataOpt.isPresent());
|
Assert.assertTrue(deviceDataOpt.isPresent());
|
||||||
|
|||||||
@ -36,7 +36,10 @@ import org.thingsboard.server.common.data.device.profile.lwm2m.TelemetryMappingC
|
|||||||
import org.thingsboard.server.common.data.device.profile.lwm2m.bootstrap.AbstractLwM2MBootstrapServerCredential;
|
import org.thingsboard.server.common.data.device.profile.lwm2m.bootstrap.AbstractLwM2MBootstrapServerCredential;
|
||||||
import org.thingsboard.server.common.data.device.profile.lwm2m.bootstrap.LwM2MBootstrapServerCredential;
|
import org.thingsboard.server.common.data.device.profile.lwm2m.bootstrap.LwM2MBootstrapServerCredential;
|
||||||
import org.thingsboard.server.common.data.device.profile.lwm2m.bootstrap.NoSecLwM2MBootstrapServerCredential;
|
import org.thingsboard.server.common.data.device.profile.lwm2m.bootstrap.NoSecLwM2MBootstrapServerCredential;
|
||||||
|
import org.thingsboard.server.common.data.id.DashboardId;
|
||||||
|
import org.thingsboard.server.common.data.id.RuleChainId;
|
||||||
import org.thingsboard.server.common.data.kv.DataType;
|
import org.thingsboard.server.common.data.kv.DataType;
|
||||||
|
import org.thingsboard.server.common.data.ota.OtaPackageType;
|
||||||
import org.thingsboard.server.common.data.transport.snmp.SnmpMapping;
|
import org.thingsboard.server.common.data.transport.snmp.SnmpMapping;
|
||||||
import org.thingsboard.server.common.data.transport.snmp.config.SnmpCommunicationConfig;
|
import org.thingsboard.server.common.data.transport.snmp.config.SnmpCommunicationConfig;
|
||||||
import org.thingsboard.server.common.data.transport.snmp.config.impl.TelemetryQueryingSnmpCommunicationConfig;
|
import org.thingsboard.server.common.data.transport.snmp.config.impl.TelemetryQueryingSnmpCommunicationConfig;
|
||||||
@ -55,8 +58,11 @@ abstract public class BaseDeviceProfileEdgeTest extends AbstractEdgeTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDeviceProfiles() throws Exception {
|
public void testDeviceProfiles() throws Exception {
|
||||||
|
RuleChainId thermostatsRuleChainId = createEdgeRuleChainAndAssignToEdge("Thermostats Rule Chain");
|
||||||
|
|
||||||
// create device profile
|
// create device profile
|
||||||
DeviceProfile deviceProfile = this.createDeviceProfile("ONE_MORE_DEVICE_PROFILE", null);
|
DeviceProfile deviceProfile = this.createDeviceProfile("ONE_MORE_DEVICE_PROFILE", null);
|
||||||
|
deviceProfile.setDefaultEdgeRuleChainId(thermostatsRuleChainId);
|
||||||
extendDeviceProfileData(deviceProfile);
|
extendDeviceProfileData(deviceProfile);
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
deviceProfile = doPost("/api/deviceProfile", deviceProfile, DeviceProfile.class);
|
deviceProfile = doPost("/api/deviceProfile", deviceProfile, DeviceProfile.class);
|
||||||
@ -67,13 +73,23 @@ abstract public class BaseDeviceProfileEdgeTest extends AbstractEdgeTest {
|
|||||||
Assert.assertEquals(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE, deviceProfileUpdateMsg.getMsgType());
|
Assert.assertEquals(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE, deviceProfileUpdateMsg.getMsgType());
|
||||||
Assert.assertEquals(deviceProfile.getUuidId().getMostSignificantBits(), deviceProfileUpdateMsg.getIdMSB());
|
Assert.assertEquals(deviceProfile.getUuidId().getMostSignificantBits(), deviceProfileUpdateMsg.getIdMSB());
|
||||||
Assert.assertEquals(deviceProfile.getUuidId().getLeastSignificantBits(), deviceProfileUpdateMsg.getIdLSB());
|
Assert.assertEquals(deviceProfile.getUuidId().getLeastSignificantBits(), deviceProfileUpdateMsg.getIdLSB());
|
||||||
|
Assert.assertEquals(thermostatsRuleChainId.getId().getMostSignificantBits(), deviceProfileUpdateMsg.getDefaultRuleChainIdMSB());
|
||||||
|
Assert.assertEquals(thermostatsRuleChainId.getId().getLeastSignificantBits(), deviceProfileUpdateMsg.getDefaultRuleChainIdLSB());
|
||||||
|
|
||||||
// update device profile
|
// update device profile
|
||||||
OtaPackageInfo firmwareOtaPackageInfo = saveOtaPackageInfo(deviceProfile.getId());
|
OtaPackageInfo firmwareOtaPackageInfo = saveOtaPackageInfo(deviceProfile.getId(), OtaPackageType.FIRMWARE);
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
|
||||||
|
OtaPackageInfo softwareOtaPackageInfo = saveOtaPackageInfo(deviceProfile.getId(), OtaPackageType.SOFTWARE);
|
||||||
|
edgeImitator.expectMessageAmount(1);
|
||||||
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
|
|
||||||
|
DashboardId thermostatsDashboardId = createDashboardAndAssignToEdge("Thermostats Dashboard");
|
||||||
|
|
||||||
deviceProfile.setFirmwareId(firmwareOtaPackageInfo.getId());
|
deviceProfile.setFirmwareId(firmwareOtaPackageInfo.getId());
|
||||||
|
deviceProfile.setSoftwareId(softwareOtaPackageInfo.getId());
|
||||||
|
deviceProfile.setDefaultDashboardId(thermostatsDashboardId);
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
deviceProfile = doPost("/api/deviceProfile", deviceProfile, DeviceProfile.class);
|
deviceProfile = doPost("/api/deviceProfile", deviceProfile, DeviceProfile.class);
|
||||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||||
@ -82,6 +98,10 @@ abstract public class BaseDeviceProfileEdgeTest extends AbstractEdgeTest {
|
|||||||
deviceProfileUpdateMsg = (DeviceProfileUpdateMsg) latestMessage;
|
deviceProfileUpdateMsg = (DeviceProfileUpdateMsg) latestMessage;
|
||||||
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getMostSignificantBits(), deviceProfileUpdateMsg.getFirmwareIdMSB());
|
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getMostSignificantBits(), deviceProfileUpdateMsg.getFirmwareIdMSB());
|
||||||
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getLeastSignificantBits(), deviceProfileUpdateMsg.getFirmwareIdLSB());
|
Assert.assertEquals(firmwareOtaPackageInfo.getUuidId().getLeastSignificantBits(), deviceProfileUpdateMsg.getFirmwareIdLSB());
|
||||||
|
Assert.assertEquals(softwareOtaPackageInfo.getUuidId().getMostSignificantBits(), deviceProfileUpdateMsg.getSoftwareIdMSB());
|
||||||
|
Assert.assertEquals(softwareOtaPackageInfo.getUuidId().getLeastSignificantBits(), deviceProfileUpdateMsg.getSoftwareIdLSB());
|
||||||
|
Assert.assertEquals(thermostatsDashboardId.getId().getMostSignificantBits(), deviceProfileUpdateMsg.getDefaultDashboardIdMSB());
|
||||||
|
Assert.assertEquals(thermostatsDashboardId.getId().getLeastSignificantBits(), deviceProfileUpdateMsg.getDefaultDashboardIdLSB());
|
||||||
|
|
||||||
// delete profile
|
// delete profile
|
||||||
edgeImitator.expectMessageAmount(1);
|
edgeImitator.expectMessageAmount(1);
|
||||||
@ -94,6 +114,9 @@ abstract public class BaseDeviceProfileEdgeTest extends AbstractEdgeTest {
|
|||||||
Assert.assertEquals(UpdateMsgType.ENTITY_DELETED_RPC_MESSAGE, deviceProfileUpdateMsg.getMsgType());
|
Assert.assertEquals(UpdateMsgType.ENTITY_DELETED_RPC_MESSAGE, deviceProfileUpdateMsg.getMsgType());
|
||||||
Assert.assertEquals(deviceProfile.getUuidId().getMostSignificantBits(), deviceProfileUpdateMsg.getIdMSB());
|
Assert.assertEquals(deviceProfile.getUuidId().getMostSignificantBits(), deviceProfileUpdateMsg.getIdMSB());
|
||||||
Assert.assertEquals(deviceProfile.getUuidId().getLeastSignificantBits(), deviceProfileUpdateMsg.getIdLSB());
|
Assert.assertEquals(deviceProfile.getUuidId().getLeastSignificantBits(), deviceProfileUpdateMsg.getIdLSB());
|
||||||
|
|
||||||
|
unAssignFromEdgeAndDeleteRuleChain(thermostatsRuleChainId);
|
||||||
|
unAssignFromEdgeAndDeleteDashboard(thermostatsDashboardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user