improve and fix JpaUserDaoTest
This commit is contained in:
parent
adb062a562
commit
ff1fa2d2ca
@ -21,15 +21,7 @@ import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(ClasspathSuite.class)
|
||||
@ClassnameFilters({
|
||||
"org.thingsboard.server.dao.sql.tenant.*Test",
|
||||
"org.thingsboard.server.dao.sql.component.*Test",
|
||||
"org.thingsboard.server.dao.sql.customer.*Test",
|
||||
"org.thingsboard.server.dao.sql.dashboard.*Test",
|
||||
"org.thingsboard.server.dao.sql.query.*Test",
|
||||
"org.thingsboard.server.dao.sql.device.*Test",
|
||||
"org.thingsboard.server.dao.sql.widget.*Test",
|
||||
"org.thingsboard.server.dao.sql.event.*Test",
|
||||
"org.thingsboard.server.dao.sql.user.*JpaUserCredentialsDaoTest"
|
||||
"org.thingsboard.server.dao.sql.*"
|
||||
})
|
||||
public class JpaDaoTestSuite {
|
||||
|
||||
|
||||
@ -16,9 +16,11 @@
|
||||
package org.thingsboard.server.dao.sql.user;
|
||||
|
||||
import com.datastax.oss.driver.api.core.uuid.Uuids;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.github.springtestdbunit.annotation.DatabaseSetup;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.thingsboard.server.common.data.User;
|
||||
@ -32,7 +34,6 @@ import org.thingsboard.server.dao.AbstractJpaDaoTest;
|
||||
import org.thingsboard.server.dao.service.AbstractServiceTest;
|
||||
import org.thingsboard.server.dao.user.UserDao;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@ -45,35 +46,54 @@ import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
|
||||
*/
|
||||
public class JpaUserDaoTest extends AbstractJpaDaoTest {
|
||||
|
||||
// add to count user sysadmin@thingsboard.org
|
||||
final int COUNT_CREATED_USER = 1;
|
||||
final int COUNT_SYSADMIN_USER = 90;
|
||||
UUID tenantId;
|
||||
UUID customerId;
|
||||
@Autowired
|
||||
private UserDao userDao;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
tenantId = Uuids.timeBased();
|
||||
customerId = Uuids.timeBased();
|
||||
create30TenantAdminsAnd60CustomerUsers(tenantId, customerId);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
delete30TenantAdminsAnd60CustomerUsers(tenantId, customerId);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DatabaseSetup("classpath:dbunit/user.xml")
|
||||
public void testFindAll() {
|
||||
List<User> users = userDao.find(AbstractServiceTest.SYSTEM_TENANT_ID);
|
||||
assertEquals(users.size(), 5);
|
||||
assertEquals(users.size(), COUNT_CREATED_USER + COUNT_SYSADMIN_USER);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DatabaseSetup("classpath:dbunit/user.xml")
|
||||
public void testFindByEmail() {
|
||||
User user = userDao.findByEmail(AbstractServiceTest.SYSTEM_TENANT_ID,"sysadm@thingsboard.org");
|
||||
assertNotNull("User is expected to be not null", user);
|
||||
assertEquals("9cb58ba0-27c1-11e7-93ae-92361f002671", user.getId().toString());
|
||||
assertEquals("c97ea14e-27c1-11e7-93ae-92361f002671", user.getTenantId().toString());
|
||||
assertEquals("cdf9c79e-27c1-11e7-93ae-92361f002671", user.getCustomerId().toString());
|
||||
assertEquals(Authority.SYS_ADMIN, user.getAuthority());
|
||||
assertEquals("John", user.getFirstName());
|
||||
assertEquals("Doe", user.getLastName());
|
||||
public void testFindByEmail() throws JsonProcessingException {
|
||||
User user = new User();
|
||||
user.setId(new UserId(UUID.fromString("cd481534-27cc-11e7-93ae-92361f002671")));
|
||||
user.setTenantId(TenantId.fromUUID(UUID.fromString("1edcb2c6-27cb-11e7-93ae-92361f002671")));
|
||||
user.setCustomerId(new CustomerId(UUID.fromString("51477cb4-27cb-11e7-93ae-92361f002671")));
|
||||
user.setEmail("user@thingsboard.org");
|
||||
user.setFirstName("Jackson");
|
||||
user.setLastName("Roberts");
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
String additionalInfo = "{\"key\":\"value-100\"}";
|
||||
JsonNode jsonNode = mapper.readTree(additionalInfo);
|
||||
user.setAdditionalInfo(jsonNode);
|
||||
userDao.save(AbstractServiceTest.SYSTEM_TENANT_ID, user);
|
||||
assertEquals(1 + COUNT_SYSADMIN_USER + COUNT_CREATED_USER, userDao.find(AbstractServiceTest.SYSTEM_TENANT_ID).size());
|
||||
User savedUser = userDao.findByEmail(AbstractServiceTest.SYSTEM_TENANT_ID, "user@thingsboard.org");
|
||||
assertNotNull(savedUser);
|
||||
assertEquals(additionalInfo, savedUser.getAdditionalInfo().toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DatabaseSetup("classpath:dbunit/empty_dataset.xml")
|
||||
public void testFindTenantAdmins() {
|
||||
UUID tenantId = Uuids.timeBased();
|
||||
UUID customerId = Uuids.timeBased();
|
||||
create30Adminsand60Users(tenantId, customerId);
|
||||
PageLink pageLink = new PageLink(20);
|
||||
PageData<User> tenantAdmins1 = userDao.findTenantAdmins(tenantId, pageLink);
|
||||
assertEquals(20, tenantAdmins1.getData().size());
|
||||
@ -88,11 +108,7 @@ public class JpaUserDaoTest extends AbstractJpaDaoTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@DatabaseSetup("classpath:dbunit/empty_dataset.xml")
|
||||
public void testFindCustomerUsers() {
|
||||
UUID tenantId = Uuids.timeBased();
|
||||
UUID customerId = Uuids.timeBased();
|
||||
create30Adminsand60Users(tenantId, customerId);
|
||||
PageLink pageLink = new PageLink(40);
|
||||
PageData<User> customerUsers1 = userDao.findCustomerUsers(tenantId, customerId, pageLink);
|
||||
assertEquals(40, customerUsers1.getData().size());
|
||||
@ -104,30 +120,10 @@ public class JpaUserDaoTest extends AbstractJpaDaoTest {
|
||||
PageData<User> customerUsers3 = userDao.findCustomerUsers(tenantId, customerId,
|
||||
pageLink);
|
||||
assertEquals(0, customerUsers3.getData().size());
|
||||
delete30TenantAdminsAnd60CustomerUsers(tenantId, customerId);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DatabaseSetup("classpath:dbunit/user.xml")
|
||||
public void testSave() throws IOException {
|
||||
User user = new User();
|
||||
user.setId(new UserId(UUID.fromString("cd481534-27cc-11e7-93ae-92361f002671")));
|
||||
user.setTenantId(TenantId.fromUUID(UUID.fromString("1edcb2c6-27cb-11e7-93ae-92361f002671")));
|
||||
user.setCustomerId(new CustomerId(UUID.fromString("51477cb4-27cb-11e7-93ae-92361f002671")));
|
||||
user.setEmail("user@thingsboard.org");
|
||||
user.setFirstName("Jackson");
|
||||
user.setLastName("Roberts");
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
String additionalInfo = "{\"key\":\"value-100\"}";
|
||||
JsonNode jsonNode = mapper.readTree(additionalInfo);
|
||||
user.setAdditionalInfo(jsonNode);
|
||||
userDao.save(AbstractServiceTest.SYSTEM_TENANT_ID,user);
|
||||
assertEquals(6, userDao.find(AbstractServiceTest.SYSTEM_TENANT_ID).size());
|
||||
User savedUser = userDao.findByEmail(AbstractServiceTest.SYSTEM_TENANT_ID,"user@thingsboard.org");
|
||||
assertNotNull(savedUser);
|
||||
assertEquals(additionalInfo, savedUser.getAdditionalInfo().toString());
|
||||
}
|
||||
|
||||
private void create30Adminsand60Users(UUID tenantId, UUID customerId) {
|
||||
private void create30TenantAdminsAnd60CustomerUsers(UUID tenantId, UUID customerId) {
|
||||
// Create 30 tenant admins and 60 customer users
|
||||
for (int i = 0; i < 30; i++) {
|
||||
saveUser(tenantId, NULL_UUID);
|
||||
@ -150,6 +146,14 @@ public class JpaUserDaoTest extends AbstractJpaDaoTest {
|
||||
String idString = id.toString();
|
||||
String email = idString.substring(0, idString.indexOf('-')) + "@thingsboard.org";
|
||||
user.setEmail(email);
|
||||
userDao.save(AbstractServiceTest.SYSTEM_TENANT_ID,user);
|
||||
userDao.save(AbstractServiceTest.SYSTEM_TENANT_ID, user);
|
||||
}
|
||||
|
||||
private void delete30TenantAdminsAnd60CustomerUsers(UUID tenantId, UUID customerId) {
|
||||
List<User> data = userDao.findCustomerUsers(tenantId, customerId, new PageLink(60)).getData();
|
||||
data.addAll(userDao.findTenantAdmins(tenantId, new PageLink(30)).getData());
|
||||
for (User user : data) {
|
||||
userDao.removeById(user.getTenantId(), user.getUuidId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user