|
|
|
@ -35,8 +35,6 @@ import org.thingsboard.server.common.data.OtaPackage; |
|
|
|
import org.thingsboard.server.common.data.StringUtils; |
|
|
|
import org.thingsboard.server.common.data.Tenant; |
|
|
|
import org.thingsboard.server.common.data.TenantProfile; |
|
|
|
import org.thingsboard.server.common.data.asset.Asset; |
|
|
|
import org.thingsboard.server.common.data.asset.AssetProfile; |
|
|
|
import org.thingsboard.server.common.data.id.CustomerId; |
|
|
|
import org.thingsboard.server.common.data.id.TenantId; |
|
|
|
import org.thingsboard.server.common.data.ota.ChecksumAlgorithm; |
|
|
|
@ -50,6 +48,7 @@ import org.thingsboard.server.dao.device.DeviceCredentialsService; |
|
|
|
import org.thingsboard.server.dao.device.DeviceProfileService; |
|
|
|
import org.thingsboard.server.dao.device.DeviceService; |
|
|
|
import org.thingsboard.server.dao.exception.DataValidationException; |
|
|
|
import org.thingsboard.server.dao.exception.DeviceCredentialsValidationException; |
|
|
|
import org.thingsboard.server.dao.ota.OtaPackageService; |
|
|
|
import org.thingsboard.server.dao.tenant.TenantProfileService; |
|
|
|
|
|
|
|
@ -129,6 +128,30 @@ public class DeviceServiceTest extends AbstractServiceTest { |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void testSaveDevicesWithTheSameAccessToken() { |
|
|
|
Device device = new Device(); |
|
|
|
device.setTenantId(tenantId); |
|
|
|
device.setName(StringUtils.randomAlphabetic(10)); |
|
|
|
device.setType("default"); |
|
|
|
String accessToken = StringUtils.generateSafeToken(10); |
|
|
|
Device savedDevice = deviceService.saveDeviceWithAccessToken(device, accessToken); |
|
|
|
|
|
|
|
DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(tenantId, savedDevice.getId()); |
|
|
|
Assert.assertEquals(accessToken, deviceCredentials.getCredentialsId()); |
|
|
|
|
|
|
|
Device duplicatedDevice = new Device(); |
|
|
|
duplicatedDevice.setTenantId(tenantId); |
|
|
|
duplicatedDevice.setName(StringUtils.randomAlphabetic(10)); |
|
|
|
duplicatedDevice.setType("default"); |
|
|
|
assertThatThrownBy(() -> deviceService.saveDeviceWithAccessToken(duplicatedDevice, accessToken)) |
|
|
|
.isInstanceOf(DeviceCredentialsValidationException.class) |
|
|
|
.hasMessageContaining("Device credentials are already assigned to another device!"); |
|
|
|
|
|
|
|
Device deviceByName = deviceService.findDeviceByTenantIdAndName(tenantId, duplicatedDevice.getName()); |
|
|
|
Assertions.assertNull(deviceByName); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void testCountByTenantId() { |
|
|
|
Assert.assertEquals(0, deviceService.countByTenantId(tenantId)); |
|
|
|
|