Search in sources :

Example 21 with User

use of org.thingsboard.server.common.data.User in project thingsboard by thingsboard.

the class BaseUserServiceTest method testSaveUser.

@Test
public void testSaveUser() {
    User tenantAdminUser = userService.findUserByEmail("tenant@thingsboard.org");
    User user = new User();
    user.setAuthority(Authority.TENANT_ADMIN);
    user.setTenantId(tenantAdminUser.getTenantId());
    user.setEmail("tenant2@thingsboard.org");
    User savedUser = userService.saveUser(user);
    Assert.assertNotNull(savedUser);
    Assert.assertNotNull(savedUser.getId());
    Assert.assertTrue(savedUser.getCreatedTime() > 0);
    Assert.assertEquals(user.getEmail(), savedUser.getEmail());
    Assert.assertEquals(user.getTenantId(), savedUser.getTenantId());
    Assert.assertEquals(user.getAuthority(), savedUser.getAuthority());
    UserCredentials userCredentials = userService.findUserCredentialsByUserId(savedUser.getId());
    Assert.assertNotNull(userCredentials);
    Assert.assertNotNull(userCredentials.getId());
    Assert.assertNotNull(userCredentials.getUserId());
    Assert.assertNotNull(userCredentials.getActivateToken());
    savedUser.setFirstName("Joe");
    savedUser.setLastName("Downs");
    userService.saveUser(savedUser);
    savedUser = userService.findUserById(savedUser.getId());
    Assert.assertEquals("Joe", savedUser.getFirstName());
    Assert.assertEquals("Downs", savedUser.getLastName());
    userService.deleteUser(savedUser.getId());
}
Also used : User(org.thingsboard.server.common.data.User) UserCredentials(org.thingsboard.server.common.data.security.UserCredentials) Test(org.junit.Test)

Example 22 with User

use of org.thingsboard.server.common.data.User in project thingsboard by thingsboard.

the class BaseUserServiceTest method testFindCustomerUsers.

@Test
public void testFindCustomerUsers() {
    User customerUser = userService.findUserByEmail("customer@thingsboard.org");
    TextPageData<User> pageData = userService.findCustomerUsers(customerUser.getTenantId(), customerUser.getCustomerId(), new TextPageLink(10));
    Assert.assertFalse(pageData.hasNext());
    List<User> users = pageData.getData();
    Assert.assertEquals(1, users.size());
    Assert.assertEquals(customerUser, users.get(0));
    Tenant tenant = new Tenant();
    tenant.setTitle("Test tenant");
    tenant = tenantService.saveTenant(tenant);
    TenantId tenantId = tenant.getId();
    Customer customer = new Customer();
    customer.setTitle("Test customer");
    customer.setTenantId(tenantId);
    customer = customerService.saveCustomer(customer);
    CustomerId customerId = customer.getId();
    List<User> customerUsers = new ArrayList<>();
    for (int i = 0; i < 156; i++) {
        User user = new User();
        user.setAuthority(Authority.CUSTOMER_USER);
        user.setTenantId(tenantId);
        user.setCustomerId(customerId);
        user.setEmail("testCustomer" + i + "@thingsboard.org");
        customerUsers.add(userService.saveUser(user));
    }
    List<User> loadedCustomerUsers = new ArrayList<>();
    TextPageLink pageLink = new TextPageLink(33);
    do {
        pageData = userService.findCustomerUsers(tenantId, customerId, pageLink);
        loadedCustomerUsers.addAll(pageData.getData());
        if (pageData.hasNext()) {
            pageLink = pageData.getNextPageLink();
        }
    } while (pageData.hasNext());
    Collections.sort(customerUsers, idComparator);
    Collections.sort(loadedCustomerUsers, idComparator);
    Assert.assertEquals(customerUsers, loadedCustomerUsers);
    tenantService.deleteTenant(tenantId);
    pageData = userService.findCustomerUsers(tenantId, customerId, pageLink);
    Assert.assertFalse(pageData.hasNext());
    Assert.assertTrue(pageData.getData().isEmpty());
}
Also used : TenantId(org.thingsboard.server.common.data.id.TenantId) User(org.thingsboard.server.common.data.User) TextPageLink(org.thingsboard.server.common.data.page.TextPageLink) Tenant(org.thingsboard.server.common.data.Tenant) Customer(org.thingsboard.server.common.data.Customer) ArrayList(java.util.ArrayList) CustomerId(org.thingsboard.server.common.data.id.CustomerId) Test(org.junit.Test)

Example 23 with User

use of org.thingsboard.server.common.data.User in project thingsboard by thingsboard.

the class BaseUserServiceTest method testSaveUserWithoutTenant.

@Test(expected = DataValidationException.class)
public void testSaveUserWithoutTenant() {
    User tenantAdminUser = userService.findUserByEmail("tenant@thingsboard.org");
    tenantAdminUser.setTenantId(null);
    userService.saveUser(tenantAdminUser);
}
Also used : User(org.thingsboard.server.common.data.User) Test(org.junit.Test)

Example 24 with User

use of org.thingsboard.server.common.data.User in project thingsboard by thingsboard.

the class JpaUserDaoTest method testFindCustomerUsers.

@Test
@DatabaseSetup("classpath:dbunit/empty_dataset.xml")
public void testFindCustomerUsers() {
    UUID tenantId = UUIDs.timeBased();
    UUID customerId = UUIDs.timeBased();
    create30Adminsand60Users(tenantId, customerId);
    List<User> customerUsers1 = userDao.findCustomerUsers(tenantId, customerId, new TextPageLink(40));
    assertEquals(40, customerUsers1.size());
    List<User> customerUsers2 = userDao.findCustomerUsers(tenantId, customerId, new TextPageLink(20, null, customerUsers1.get(39).getId().getId(), null));
    assertEquals(20, customerUsers2.size());
    List<User> customerUsers3 = userDao.findCustomerUsers(tenantId, customerId, new TextPageLink(20, null, customerUsers2.get(19).getId().getId(), null));
    assertEquals(0, customerUsers3.size());
}
Also used : User(org.thingsboard.server.common.data.User) TextPageLink(org.thingsboard.server.common.data.page.TextPageLink) NULL_UUID(org.thingsboard.server.dao.model.ModelConstants.NULL_UUID) UUID(java.util.UUID) AbstractJpaDaoTest(org.thingsboard.server.dao.AbstractJpaDaoTest) Test(org.junit.Test) DatabaseSetup(com.github.springtestdbunit.annotation.DatabaseSetup)

Example 25 with User

use of org.thingsboard.server.common.data.User in project thingsboard by thingsboard.

the class JpaUserDaoTest method saveUser.

private void saveUser(UUID tenantId, UUID customerId) {
    User user = new User();
    UUID id = UUIDs.timeBased();
    user.setId(new UserId(id));
    user.setTenantId(new TenantId(tenantId));
    user.setCustomerId(new CustomerId(customerId));
    if (customerId == NULL_UUID) {
        user.setAuthority(Authority.TENANT_ADMIN);
    } else {
        user.setAuthority(Authority.CUSTOMER_USER);
    }
    String idString = id.toString();
    String email = idString.substring(0, idString.indexOf('-')) + "@thingsboard.org";
    user.setEmail(email);
    userDao.save(user);
}
Also used : TenantId(org.thingsboard.server.common.data.id.TenantId) User(org.thingsboard.server.common.data.User) UserId(org.thingsboard.server.common.data.id.UserId) CustomerId(org.thingsboard.server.common.data.id.CustomerId) NULL_UUID(org.thingsboard.server.dao.model.ModelConstants.NULL_UUID) UUID(java.util.UUID)

Aggregations

User (org.thingsboard.server.common.data.User)63 Test (org.junit.Test)37 Tenant (org.thingsboard.server.common.data.Tenant)33 Customer (org.thingsboard.server.common.data.Customer)16 TenantId (org.thingsboard.server.common.data.id.TenantId)14 TextPageLink (org.thingsboard.server.common.data.page.TextPageLink)12 UserCredentials (org.thingsboard.server.common.data.security.UserCredentials)12 ArrayList (java.util.ArrayList)10 CustomerId (org.thingsboard.server.common.data.id.CustomerId)10 SecurityUser (org.thingsboard.server.service.security.model.SecurityUser)10 Matchers.containsString (org.hamcrest.Matchers.containsString)9 Before (org.junit.Before)9 UserId (org.thingsboard.server.common.data.id.UserId)9 TypeReference (com.fasterxml.jackson.core.type.TypeReference)6 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)6 ThingsboardException (org.thingsboard.server.exception.ThingsboardException)6 JsonNode (com.fasterxml.jackson.databind.JsonNode)4 DatabaseSetup (com.github.springtestdbunit.annotation.DatabaseSetup)4 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)4 UsernameNotFoundException (org.springframework.security.core.userdetails.UsernameNotFoundException)4