Search in sources :

Example 16 with LoginWorker

use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.

the class DataManagerCommitConstraintTest method testUpdateConstraintNotPassed.

@Test
public void testUpdateConstraintNotPassed() throws LoginException {
    LoginWorker lw = AppBeans.get(LoginWorker.NAME);
    DataManager dataManager = AppBeans.get(DataManager.NAME);
    UserSession userSession = lw.login("constraintuserupdate", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
    assertNotNull(userSession);
    UserSessionSource uss = AppBeans.get(UserSessionSource.class);
    UserSession savedUserSession = uss.getUserSession();
    ((TestUserSessionSource) uss).setUserSession(userSession);
    try {
        dataManager = dataManager.secure();
        User user = dataManager.load(new LoadContext<>(User.class).setId(testUserUpdate1.getId()).setView(View.LOCAL));
        user.setName("newName");
        dataManager.commit(user);
        fail();
    } catch (RowLevelSecurityException e) {
        User user = dataManager.load(new LoadContext<>(User.class).setId(testUserUpdate1.getId()).setView(View.LOCAL));
        assertEquals(user.getName(), "oldName");
    } finally {
        ((TestUserSessionSource) uss).setUserSession(savedUserSession);
    }
}
Also used : LoginWorker(com.haulmont.cuba.security.app.LoginWorker) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) UserSession(com.haulmont.cuba.security.global.UserSession) Test(org.junit.Test)

Example 17 with LoginWorker

use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.

the class DataManagerCommitConstraintTest method testUpdateConstraintPassed.

@Test
public void testUpdateConstraintPassed() throws LoginException {
    LoginWorker lw = AppBeans.get(LoginWorker.NAME);
    DataManager dataManager = AppBeans.get(DataManager.NAME);
    UserSession userSession = lw.login("constraintuserupdate", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
    assertNotNull(userSession);
    UserSessionSource uss = AppBeans.get(UserSessionSource.class);
    UserSession savedUserSession = uss.getUserSession();
    ((TestUserSessionSource) uss).setUserSession(userSession);
    try {
        dataManager = dataManager.secure();
        User user = dataManager.load(new LoadContext<>(User.class).setId(testUserUpdate2.getId()).setView(View.LOCAL));
        user.setName("newName");
        dataManager.commit(user);
        user = dataManager.load(new LoadContext<>(User.class).setId(testUserUpdate2.getId()).setView(View.LOCAL));
        assertEquals(user.getName(), "newName");
        user = dataManager.load(new LoadContext<>(User.class).setId(testUserUpdate3.getId()).setView(View.LOCAL));
        user.setName("newName");
        user.setActive(true);
        dataManager.commit(user);
        user = dataManager.load(new LoadContext<>(User.class).setId(testUserUpdate3.getId()).setView(View.LOCAL));
        assertEquals(user.getName(), "newName");
    } finally {
        ((TestUserSessionSource) uss).setUserSession(savedUserSession);
    }
}
Also used : LoginWorker(com.haulmont.cuba.security.app.LoginWorker) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) UserSession(com.haulmont.cuba.security.global.UserSession) Test(org.junit.Test)

Example 18 with LoginWorker

use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.

the class DataManagerCommitConstraintTest method testDeleteConstraintPassed.

@Test
public void testDeleteConstraintPassed() throws LoginException {
    LoginWorker lw = AppBeans.get(LoginWorker.NAME);
    DataManager dataManager = AppBeans.get(DataManager.NAME);
    UserSession userSession = lw.login("constraintuserupdate", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
    assertNotNull(userSession);
    UserSessionSource uss = AppBeans.get(UserSessionSource.class);
    UserSession savedUserSession = uss.getUserSession();
    ((TestUserSessionSource) uss).setUserSession(userSession);
    try {
        dataManager = dataManager.secure();
        User user = dataManager.load(new LoadContext<>(User.class).setId(testUserDelete2.getId()).setView(View.LOCAL));
        dataManager.remove(user);
        user = dataManager.load(new LoadContext<>(User.class).setId(testUserDelete2.getId()).setView(View.LOCAL));
        assertNull(user);
    } finally {
        ((TestUserSessionSource) uss).setUserSession(savedUserSession);
    }
}
Also used : LoginWorker(com.haulmont.cuba.security.app.LoginWorker) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) UserSession(com.haulmont.cuba.security.global.UserSession) Test(org.junit.Test)

Example 19 with LoginWorker

use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.

the class DistinctConstraintTest method test.

@Test
public void test() throws LoginException {
    LoginWorker lw = AppBeans.get(LoginWorker.NAME);
    UserSession userSession = lw.login(USER_LOGIN, passwordEncryption.getPlainHash(USER_PASSW), Locale.getDefault());
    assertNotNull(userSession);
    UserSessionSource uss = AppBeans.get(UserSessionSource.class);
    UserSession savedUserSession = uss.getUserSession();
    ((TestUserSessionSource) uss).setUserSession(userSession);
    try {
        DataManager dm = AppBeans.get(DataManager.NAME);
        LoadContext<User> loadContext = new LoadContext<>(User.class).setId(user2Id).setView(View.LOCAL);
        User user = dm.load(loadContext);
        assertNotNull(user);
    } finally {
        ((TestUserSessionSource) uss).setUserSession(savedUserSession);
    }
}
Also used : LoginWorker(com.haulmont.cuba.security.app.LoginWorker) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) UserSession(com.haulmont.cuba.security.global.UserSession) Test(org.junit.Test)

Example 20 with LoginWorker

use of com.haulmont.cuba.security.app.LoginWorker in project cuba by cuba-platform.

the class InMemoryConstraintTest method testConstraintByAttributeNotInView.

@Test
public void testConstraintByAttributeNotInView() throws LoginException {
    LoginWorker lw = AppBeans.get(LoginWorker.NAME);
    UserSession userSession = lw.login("constraintUser4", passwordEncryption.getPlainHash(PASSWORD), Locale.getDefault());
    assertNotNull(userSession);
    UserSessionSource uss = AppBeans.get(UserSessionSource.class);
    UserSession savedUserSession = uss.getUserSession();
    ((TestUserSessionSource) uss).setUserSession(userSession);
    try {
        DataManager dataManager = AppBeans.get(DataManager.NAME);
        dataManager = dataManager.secure();
        LoadContext loadContext = new LoadContext(User.class).setView(View.MINIMAL);
        loadContext.setQuery(new LoadContext.Query("select u from sec$User u where u.login = 'constraintUser4' order by u.login desc"));
        loadContext.getQuery().setMaxResults(30);
        loadContext.getQuery().setFirstResult(0);
        List<User> resultList = dataManager.loadList(loadContext);
        assertEquals(1, resultList.size());
        assertEquals("constraintUser4", resultList.get(0).getLogin());
    } finally {
        ((TestUserSessionSource) uss).setUserSession(savedUserSession);
    }
}
Also used : LoginWorker(com.haulmont.cuba.security.app.LoginWorker) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) TestUserSessionSource(com.haulmont.cuba.testsupport.TestUserSessionSource) UserSession(com.haulmont.cuba.security.global.UserSession)

Aggregations

LoginWorker (com.haulmont.cuba.security.app.LoginWorker)25 UserSession (com.haulmont.cuba.security.global.UserSession)25 TestUserSessionSource (com.haulmont.cuba.testsupport.TestUserSessionSource)23 Test (org.junit.Test)16 List (java.util.List)8 ArrayList (java.util.ArrayList)7 ConfigStorageService (com.haulmont.cuba.core.app.ConfigStorageService)4 KeyValueEntity (com.haulmont.cuba.core.entity.KeyValueEntity)3 Server (com.haulmont.cuba.core.entity.Server)2 Transaction (com.haulmont.cuba.core.Transaction)1 DataService (com.haulmont.cuba.core.app.DataService)1 ConstraintData (com.haulmont.cuba.security.global.ConstraintData)1