Search in sources :

Example 31 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class OptionsGroupDsTest method testValueChangeListener.

@Test
public void testValueChangeListener() {
    OptionsGroup optionsGroup = uiComponents.create(OptionsGroup.NAME);
    // listener before datasource
    boolean[] valueWasChanged = { false };
    Consumer<HasValue.ValueChangeEvent> listener = e -> valueWasChanged[0] = true;
    optionsGroup.addValueChangeListener(listener);
    Datasource<Role> roleDs = getTestRoleDatasource();
    roleDs.getItem().setType(RoleType.READONLY);
    optionsGroup.setDatasource(roleDs, "type");
    assertTrue(valueWasChanged[0]);
    // reset state
    valueWasChanged[0] = false;
    optionsGroup.removeValueChangeListener(listener);
    optionsGroup.setDatasource(null, null);
    // datasource before listener
    optionsGroup.setDatasource(roleDs, "type");
    optionsGroup.addValueChangeListener(listener);
    roleDs.getItem().setType(RoleType.DENYING);
    assertTrue(valueWasChanged[0]);
}
Also used : Test(org.junit.jupiter.api.Test) Consumer(java.util.function.Consumer) OptionsGroup(com.haulmont.cuba.gui.components.OptionsGroup) HasValue(com.haulmont.cuba.gui.components.HasValue) Datasource(com.haulmont.cuba.gui.data.Datasource) Role(com.haulmont.cuba.security.entity.Role) Assertions(org.junit.jupiter.api.Assertions) Disabled(org.junit.jupiter.api.Disabled) RoleType(com.haulmont.cuba.security.entity.RoleType) Role(com.haulmont.cuba.security.entity.Role) OptionsGroup(com.haulmont.cuba.gui.components.OptionsGroup) Test(org.junit.jupiter.api.Test)

Example 32 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class UserRoleTest method test.

@Test
public void test() {
    Transaction tx = cont.persistence().createTransaction();
    try {
        EntityManager em = cont.persistence().getEntityManager();
        Role role = new Role();
        role.setName("testRole1");
        em.persist(role);
        Group group = new Group();
        group.setName("testGroup1");
        em.persist(group);
        User user = new User();
        UUID userId = user.getId();
        user.setLogin("testUser1");
        user.setName("Test User 1");
        user.setGroup(group);
        em.persist(user);
        UserRole userRole = new UserRole();
        userRole.setUser(user);
        userRole.setRole(role);
        em.persist(userRole);
        tx.commitRetaining();
        em = cont.persistence().getEntityManager();
        user = em.find(User.class, userId);
        List<UserRole> userRoles = user.getUserRoles();
        assertEquals(1, userRoles.size());
        for (UserRole ur : userRoles) {
            Role r = ur.getRole();
            assertEquals(role.getName(), r.getName());
        }
    } finally {
        tx.end();
    }
}
Also used : Role(com.haulmont.cuba.security.entity.Role) UserRole(com.haulmont.cuba.security.entity.UserRole) Group(com.haulmont.cuba.security.entity.Group) EntityManager(com.haulmont.cuba.core.EntityManager) User(com.haulmont.cuba.security.entity.User) Transaction(com.haulmont.cuba.core.Transaction) UserRole(com.haulmont.cuba.security.entity.UserRole) UUID(java.util.UUID) Test(org.junit.jupiter.api.Test)

Example 33 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class RelationsTest method testRole.

@Test
public void testRole() {
    UUID roleId = createRole();
    Transaction tx = cont.persistence().createTransaction();
    try {
        EntityManager em = cont.persistence().getEntityManager();
        Role role = em.find(Role.class, roleId);
        em.remove(role);
        tx.commit();
    } finally {
        tx.end();
    }
}
Also used : Role(com.haulmont.cuba.security.entity.Role) UserRole(com.haulmont.cuba.security.entity.UserRole) EntityManager(com.haulmont.cuba.core.EntityManager) Transaction(com.haulmont.cuba.core.Transaction) UUID(java.util.UUID) Test(org.junit.jupiter.api.Test)

Example 34 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class SystemInfoWindow method generateInsert.

public void generateInsert() {
    setCopyButtonVisible();
    scriptArea.setEditable(true);
    if (item instanceof Role) {
        View localView = metadata.getViewRepository().getView(Role.class, View.LOCAL);
        View roleView = new View(localView, Role.class, "role-export-view", true).addProperty("permissions", metadata.getViewRepository().getView(Permission.class, View.LOCAL));
        item = getDsContext().getDataSupplier().reload(item, roleView);
        StringBuilder result = new StringBuilder();
        result.append(sqlGenerationService.generateInsertScript(item)).append("\n");
        for (Permission permission : ((Role) item).getPermissions()) {
            result.append(sqlGenerationService.generateInsertScript(permission)).append("\n");
        }
        scriptArea.setValue(result.toString());
    } else {
        scriptArea.setValue(sqlGenerationService.generateInsertScript(item));
    }
    showScriptArea();
}
Also used : Role(com.haulmont.cuba.security.entity.Role) Permission(com.haulmont.cuba.security.entity.Permission) View(com.haulmont.cuba.core.global.View)

Aggregations

Role (com.haulmont.cuba.security.entity.Role)34 Test (org.junit.jupiter.api.Test)20 Datasource (com.haulmont.cuba.gui.data.Datasource)12 HasValue (com.haulmont.cuba.gui.components.HasValue)10 RoleType (com.haulmont.cuba.security.entity.RoleType)10 User (com.haulmont.cuba.security.entity.User)10 UserRole (com.haulmont.cuba.security.entity.UserRole)10 Consumer (java.util.function.Consumer)10 Assertions (org.junit.jupiter.api.Assertions)10 Disabled (org.junit.jupiter.api.Disabled)10 OptionsGroup (com.haulmont.cuba.gui.components.OptionsGroup)7 OptionsList (com.haulmont.cuba.gui.components.OptionsList)6 Group (com.haulmont.cuba.security.entity.Group)6 EntityManager (com.haulmont.cuba.core.EntityManager)5 Permission (com.haulmont.cuba.security.entity.Permission)5 TestCase.assertEquals (junit.framework.TestCase.assertEquals)5 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)5 Transaction (com.haulmont.cuba.core.Transaction)4 UUID (java.util.UUID)3 BeforeEach (org.junit.jupiter.api.BeforeEach)3