package edu.ualberta.med.biobank.test.wrappers; import java.util.Arrays; import org.junit.Assert; import org.junit.Test; import edu.ualberta.med.biobank.common.wrappers.MembershipWrapper; import edu.ualberta.med.biobank.common.wrappers.RoleWrapper; import edu.ualberta.med.biobank.common.wrappers.UserWrapper; import edu.ualberta.med.biobank.server.applicationservice.exceptions.BiobankSessionException; import edu.ualberta.med.biobank.test.TestDatabase; import edu.ualberta.med.biobank.test.internal.MembershipHelper; import edu.ualberta.med.biobank.test.internal.RoleHelper; import edu.ualberta.med.biobank.test.internal.UserHelper; @Deprecated public class TestRole extends TestDatabase { @Test public void testGettersAndSetters() throws Exception { String name = "testGettersAndSetters" + r.nextInt(); RoleWrapper role = RoleHelper.addRole(name, true); testGettersAndSetters(role); } @Test public void testDeleteIsUsedInMembership() throws Exception { String name = "addMembershipsWithRole" + r.nextInt(); UserWrapper user = UserHelper.addUser(name, null, true); RoleWrapper role = RoleHelper.addRole(name, false); MembershipWrapper mwr = MembershipHelper .newMembership(user, null, null); mwr.addToRoleCollection(Arrays.asList(role)); user.persist(); user.reload(); Assert.assertEquals(1, user.getMembershipCollection(false).size()); role.reload(); try { role.delete(); } catch (BiobankSessionException bse) { Assert.assertTrue( "Can't delete because it is still used in memberships", true); } catch (Exception e) { Assert .fail("If try to delete when used in a membership, the query will fail because of foreign keys problems"); } user.getMembershipCollection(false).get(0).delete(); // should be able to delete it now role.delete(); } }