diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java index 99129020cd46bffa7a4185ad24dc675579535c62..5253f69be8e56a71d9d3843190df94f6f0fee68b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java @@ -274,7 +274,7 @@ public abstract class AbstractServer<T> extends AbstractServiceWithLogger<T> imp if (systemUser.getRoleAssignments().isEmpty()) { final RoleAssignmentPE roleAssignment = - createInstanceAdminRoleAssigment(systemUser, systemUser); + createInstanceAdminRoleAssigment(systemUser, person); daoFactory.getRoleAssignmentDAO().createRoleAssignment(roleAssignment); } } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java index 3249a9f0a8b8051ddc04705a9de9bd5d41373dfc..a87d57294e1624e6eb5b2abc27dc5aa67bcc21b7 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java @@ -20,11 +20,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Set; import org.apache.commons.lang.builder.EqualsBuilder; -import org.hamcrest.BaseMatcher; -import org.hamcrest.Description; import org.hamcrest.core.IsEqual; import org.jmock.Expectations; import org.springframework.dao.DataIntegrityViolationException; @@ -209,20 +206,15 @@ public final class CommonServerTest extends AbstractServerTestCase person.setDisplaySettings(systemPerson.getDisplaySettings()); one(personDAO).createPerson(with(new PersonWithDisplaySettingsMatcher(person))); - one(personDAO).updatePerson(with(new BaseMatcher<PersonPE>() - { - public boolean matches(Object item) - { - Set<RoleAssignmentPE> roles = ((PersonPE) item).getAllPersonRoles(); - return roles.size() == 1 - && roles.iterator().next().getRole().equals(RoleCode.ADMIN); - } - - public void describeTo(Description description) - { - description.appendValue(person); - } - })); + + // assign instance admin role + final RoleAssignmentPE roleAssignmentPE = new RoleAssignmentPE(); + roleAssignmentPE.setDatabaseInstance(daoFactory.getHomeDatabaseInstance()); + roleAssignmentPE.setRegistrator(systemPerson); + roleAssignmentPE.setRole(RoleCode.ADMIN); + person.addRoleAssignment(roleAssignmentPE); + + one(roleAssignmentDAO).createRoleAssignment(with(roleAssignmentPE)); } });