Add test for deleting device profile referenced by OTA
This commit is contained in:
parent
d4784b3096
commit
35528e687a
@ -33,14 +33,18 @@ import org.thingsboard.server.common.data.DeviceProfileType;
|
|||||||
import org.thingsboard.server.common.data.DeviceTransportType;
|
import org.thingsboard.server.common.data.DeviceTransportType;
|
||||||
import org.thingsboard.server.common.data.EntityType;
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
import org.thingsboard.server.common.data.Event;
|
import org.thingsboard.server.common.data.Event;
|
||||||
|
import org.thingsboard.server.common.data.OtaPackage;
|
||||||
import org.thingsboard.server.common.data.Tenant;
|
import org.thingsboard.server.common.data.Tenant;
|
||||||
import org.thingsboard.server.common.data.device.profile.DefaultDeviceProfileConfiguration;
|
import org.thingsboard.server.common.data.device.profile.DefaultDeviceProfileConfiguration;
|
||||||
import org.thingsboard.server.common.data.device.profile.DefaultDeviceProfileTransportConfiguration;
|
import org.thingsboard.server.common.data.device.profile.DefaultDeviceProfileTransportConfiguration;
|
||||||
import org.thingsboard.server.common.data.device.profile.DeviceProfileData;
|
import org.thingsboard.server.common.data.device.profile.DeviceProfileData;
|
||||||
import org.thingsboard.server.common.data.edge.Edge;
|
import org.thingsboard.server.common.data.edge.Edge;
|
||||||
|
import org.thingsboard.server.common.data.id.DeviceProfileId;
|
||||||
import org.thingsboard.server.common.data.id.EntityId;
|
import org.thingsboard.server.common.data.id.EntityId;
|
||||||
import org.thingsboard.server.common.data.id.HasId;
|
import org.thingsboard.server.common.data.id.HasId;
|
||||||
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.OtaPackageType;
|
||||||
import org.thingsboard.server.dao.alarm.AlarmService;
|
import org.thingsboard.server.dao.alarm.AlarmService;
|
||||||
import org.thingsboard.server.dao.asset.AssetService;
|
import org.thingsboard.server.dao.asset.AssetService;
|
||||||
import org.thingsboard.server.dao.audit.AuditLogLevelFilter;
|
import org.thingsboard.server.dao.audit.AuditLogLevelFilter;
|
||||||
@ -70,6 +74,7 @@ import org.thingsboard.server.dao.widget.WidgetTypeService;
|
|||||||
import org.thingsboard.server.dao.widget.WidgetsBundleService;
|
import org.thingsboard.server.dao.widget.WidgetsBundleService;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -253,4 +258,21 @@ public abstract class AbstractServiceTest {
|
|||||||
edge.setCloudEndpoint("http://localhost:8080");
|
edge.setCloudEndpoint("http://localhost:8080");
|
||||||
return edge;
|
return edge;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected OtaPackage constructDefaultOtaPackage(TenantId tenantId, DeviceProfileId deviceProfileId) {
|
||||||
|
OtaPackage firmware = new OtaPackage();
|
||||||
|
firmware.setTenantId(tenantId);
|
||||||
|
firmware.setDeviceProfileId(deviceProfileId);
|
||||||
|
firmware.setType(OtaPackageType.FIRMWARE);
|
||||||
|
firmware.setTitle("My firmware");
|
||||||
|
firmware.setVersion("3.3.3");
|
||||||
|
firmware.setFileName("filename.txt");
|
||||||
|
firmware.setContentType("text/plain");
|
||||||
|
firmware.setChecksumAlgorithm(ChecksumAlgorithm.SHA256);
|
||||||
|
firmware.setChecksum("4bf5122f344554c53bde2ebb8cd2b7e3d1600ad631c385a5d7cce23c7785459a");
|
||||||
|
firmware.setData(ByteBuffer.wrap(new byte[]{1}));
|
||||||
|
firmware.setDataSize(1L);
|
||||||
|
return firmware;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,8 +31,8 @@ import org.thingsboard.server.common.data.DeviceProfileInfo;
|
|||||||
import org.thingsboard.server.common.data.DeviceTransportType;
|
import org.thingsboard.server.common.data.DeviceTransportType;
|
||||||
import org.thingsboard.server.common.data.OtaPackage;
|
import org.thingsboard.server.common.data.OtaPackage;
|
||||||
import org.thingsboard.server.common.data.Tenant;
|
import org.thingsboard.server.common.data.Tenant;
|
||||||
import org.thingsboard.server.common.data.ota.ChecksumAlgorithm;
|
|
||||||
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.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.dao.exception.DataValidationException;
|
import org.thingsboard.server.dao.exception.DataValidationException;
|
||||||
@ -45,6 +45,7 @@ import java.util.concurrent.ExecutionException;
|
|||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertThrows;
|
||||||
import static org.thingsboard.server.common.data.ota.OtaPackageType.FIRMWARE;
|
import static org.thingsboard.server.common.data.ota.OtaPackageType.FIRMWARE;
|
||||||
|
|
||||||
public abstract class BaseDeviceProfileServiceTest extends AbstractServiceTest {
|
public abstract class BaseDeviceProfileServiceTest extends AbstractServiceTest {
|
||||||
@ -252,6 +253,19 @@ public abstract class BaseDeviceProfileServiceTest extends AbstractServiceTest {
|
|||||||
deviceProfileService.deleteDeviceProfile(tenantId, savedDeviceProfile.getId());
|
deviceProfileService.deleteDeviceProfile(tenantId, savedDeviceProfile.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDeleteDeviceProfileWithExistingOta() {
|
||||||
|
DeviceProfile deviceProfile = this.createDeviceProfile(tenantId, "Device Profile");
|
||||||
|
DeviceProfile savedDeviceProfile = deviceProfileService.saveDeviceProfile(deviceProfile);
|
||||||
|
|
||||||
|
OtaPackage otaPackage = constructDefaultOtaPackage(tenantId, savedDeviceProfile.getId());
|
||||||
|
otaPackageService.saveOtaPackage(otaPackage);
|
||||||
|
|
||||||
|
assertThrows("The device profile is referenced by OTA update package", DataValidationException.class, () -> {
|
||||||
|
deviceProfileService.deleteDeviceProfile(tenantId, savedDeviceProfile.getId());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDeleteDeviceProfile() {
|
public void testDeleteDeviceProfile() {
|
||||||
DeviceProfile deviceProfile = this.createDeviceProfile(tenantId, "Device Profile");
|
DeviceProfile deviceProfile = this.createDeviceProfile(tenantId, "Device Profile");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user