/* * Copyright (c) 2005-2011 Grameen Foundation USA * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. * * See also http://www.apache.org/licenses/LICENSE-2.0.html for an * explanation of the license and how it is applied. */ package org.mifos.security.rolesandpermission.business; import org.junit.Test; /** * FIXME - keithw - rewrite all test behaviours as unit tests */ public class RoleBORewriteTest { @Test public void shouldRewriteAllTestsBelowAsUnitTests() { } // @Test // public void testGetRole() throws Exception { // RolesPermissionsPersistence persistence = new RolesPermissionsPersistence(); // RoleBO roleBO = persistence.getRole("Admin"); // Assert.assertNotNull(roleBO); // Assert.assertEquals("Admin", roleBO.getName()); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITIES_FOR_ROLE, roleBO.getActivities().size()); // } // // @Test // public void testCreateRole() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, roleBO.getActivities().size()); // Assert.assertEquals(roleBO.getCreatedBy(), Short.valueOf("1")); // Assert.assertEquals(DateUtils.getCurrentDateWithoutTimeStamp(), DateUtils.getDateWithoutTimeStamp(roleBO // .getCreatedDate().getTime())); // // RolesPermissionsPersistence.delete(roleBO); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // Assert.assertNull(roleBO); // } // // @Test // public void testCreateFailureWhenRoleNameIsNull() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = null; // try { // roleBO = new RoleBO(TestObjectFactory.getContext(), null, activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLENAMENOTSPECIFIED, e.getKey()); // } // // try { // roleBO = new RoleBO(TestObjectFactory.getContext(), "", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLENAMENOTSPECIFIED, e.getKey()); // } // } // // @Test // public void testCreateFailureForEmptyRoleName() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = null; // try { // roleBO = new RoleBO(TestObjectFactory.getContext(), "", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLENAMENOTSPECIFIED, e.getKey()); // } // } // // @Test // public void testCreateFailureForDuplicateRoleName() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = null; // try { // roleBO = new RoleBO(TestObjectFactory.getContext(), "Admin", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLEALREADYEXIST, e.getKey()); // } // } // // @Test // public void testCreateFailureForNullActivities() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = null; // try { // roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", null); // roleBO.save(); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLEWITHNOACTIVITIES, e.getKey()); // } // } // // @Test // public void testCreateFailureForEmptyActivities() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = null; // try { // roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", new ArrayList<ActivityEntity>()); // roleBO.save(); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLEWITHNOACTIVITIES, e.getKey()); // } // } // // @Test // public void testDeleteRole() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, roleBO.getActivities().size()); // Assert.assertEquals(roleBO.getCreatedBy(), Short.valueOf("1")); // Assert.assertEquals(DateUtils.getCurrentDateWithoutTimeStamp(), DateUtils.getDateWithoutTimeStamp(roleBO // .getCreatedDate().getTime())); // roleBO.delete(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // Assert.assertNull(roleBO); // } // // @Test // public void testDeleteRoleFailureForRoleAssignedToPersonnel() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // RoleBO roleBO = RolesPermissionsPersistence.getRole("Admin"); // try { // roleBO.delete(); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLEASSIGNEDTOPERSONNEL, e.getKey()); // } finally { // roleBO = RolesPermissionsPersistence.getRole("Admin"); // Assert.assertNotNull(roleBO); // } // } // // @Test // public void testUpdateRemoveActivities() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // ActivityEntity activity_1 = roleBO.getActivities().get(0); // for (Iterator<ActivityEntity> iter = activities.iterator(); iter.hasNext();) { // ActivityEntity activityEntity = iter.next(); // if (activityEntity.getId().equals(activity_1.getId())) { // iter.remove(); // } // } // // ActivityEntity activity_2 = roleBO.getActivities().get(1); // for (Iterator<ActivityEntity> iter = activities.iterator(); iter.hasNext();) { // ActivityEntity activityEntity = iter.next(); // if (activityEntity.getId().equals(activity_2.getId())) { // iter.remove(); // } // } // roleBO.update(PersonnelConstants.SYSTEM_USER, "Test Role", activities); // StaticHibernateUtil.flushSession(); // // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT - 2, roleBO.getActivities().size()); // Assert.assertEquals(roleBO.getUpdatedBy(), Short.valueOf("1")); // Assert.assertEquals(DateUtils.getCurrentDateWithoutTimeStamp(), DateUtils.getDateWithoutTimeStamp(roleBO // .getUpdatedDate().getTime())); // RoleActivityEntity roleActivityEntity = getRoleActivity(roleBO.getId(), activity_1.getId()); // Assert.assertNull(roleActivityEntity); // roleActivityEntity = getRoleActivity(roleBO.getId(), activity_2.getId()); // Assert.assertNull(roleActivityEntity); // // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // // @Test // public void testUpdateAddingActivities() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // ActivityEntity activity_1 = activities.get(0); // activities.remove(0); // ActivityEntity activity_2 = activities.get(1); // activities.remove(1); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT - 2, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT - 2, roleBO.getActivities().size()); // RoleActivityEntity roleActivityEntity = getRoleActivity(roleBO.getId(), activity_1.getId()); // Assert.assertNull(roleActivityEntity); // roleActivityEntity = getRoleActivity(roleBO.getId(), activity_2.getId()); // Assert.assertNull(roleActivityEntity); // // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT - 2, activities.size()); // activities.add(activity_1); // activities.add(activity_2); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // // roleBO.update(PersonnelConstants.SYSTEM_USER, "Test Role", activities); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, roleBO.getActivities().size()); // Assert.assertEquals(roleBO.getUpdatedBy(), Short.valueOf("1")); // Assert.assertEquals(DateUtils.getCurrentDateWithoutTimeStamp(), DateUtils.getDateWithoutTimeStamp(roleBO // .getUpdatedDate().getTime())); // roleActivityEntity = getRoleActivity(roleBO.getId(), activity_1.getId()); // Assert.assertNotNull(roleActivityEntity); // roleActivityEntity = getRoleActivity(roleBO.getId(), activity_2.getId()); // Assert.assertNotNull(roleActivityEntity); // // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // // @Test // public void testUpdateForChangingName() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // roleBO.update(PersonnelConstants.SYSTEM_USER, "New role", activities); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("New role"); // // Assert.assertEquals("New role", roleBO.getName()); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, roleBO.getActivities().size()); // Assert.assertEquals(roleBO.getUpdatedBy(), Short.valueOf("1")); // Assert.assertEquals(DateUtils.getCurrentDateWithoutTimeStamp(), DateUtils.getDateWithoutTimeStamp(roleBO // .getUpdatedDate().getTime())); // // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // // @Test // public void testUpdateFailureForDuplicateName() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // try { // roleBO.update(PersonnelConstants.SYSTEM_USER, "Admin", activities); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLEALREADYEXIST, e.getKey()); // } finally { // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // } // // @Test // public void testUpdateFailureForRoleNameAsNull() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // try { // roleBO.update(PersonnelConstants.SYSTEM_USER, null, activities); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLENAMENOTSPECIFIED, e.getKey()); // } finally { // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // } // // @Test // public void testUpdateFailureForRoleNameAsEmptyString() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // try { // roleBO.update(PersonnelConstants.SYSTEM_USER, "", activities); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLENAMENOTSPECIFIED, e.getKey()); // } finally { // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // } // // @Test // public void testUpdateFailureForNullActivities() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // try { // roleBO.update(PersonnelConstants.SYSTEM_USER, "Test Role", null); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLEWITHNOACTIVITIES, e.getKey()); // } finally { // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // } // // @Test // public void testUpdateFailureForEmptyActivities() throws Exception { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // roleBO.save(); // StaticHibernateUtil.flushSession(); // roleBO = RolesPermissionsPersistence.getRole("Test Role"); // try { // roleBO.update(PersonnelConstants.SYSTEM_USER, "Test Role", new ArrayList<ActivityEntity>()); // StaticHibernateUtil.flushSession(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertEquals(RolesAndPermissionConstants.KEYROLEWITHNOACTIVITIES, e.getKey()); // } finally { // roleBO.delete(); // StaticHibernateUtil.flushSession(); // } // } // // private RoleActivityEntity getRoleActivity(Short roleId, Short activityId) { // Query query = StaticHibernateUtil // .getSessionTL() // .createQuery( // "from org.mifos.security.rolesandpermission.business.RoleActivityEntity roleActivity where roleActivity.role=? and roleActivity.activity=?"); // query.setShort(0, roleId); // query.setShort(1, activityId); // RoleActivityEntity roleActivityEntity = (RoleActivityEntity) query.uniqueResult(); // return roleActivityEntity; // } // // @Test // @Ignore // public void testSaveRoleForInvalidConnection() throws Exception { // try { // RolesPermissionsPersistence RolesPermissionsPersistence = new RolesPermissionsPersistence(); // List<ActivityEntity> activities = RolesPermissionsPersistence.getActivities(); // Assert.assertEquals(RoleTestUtil.EXPECTED_ACTIVITY_COUNT, activities.size()); // RoleBO roleBO = new RoleBO(TestObjectFactory.getContext(), "Test Role", activities); // // roleBO.save(); // Assert.fail(); // } catch (RolesPermissionException e) { // Assert.assertTrue(true); // } finally { // StaticHibernateUtil.flushSession(); // } // // } }