RM-2119: Update Java API to return the security clearance object when setting it.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@103826 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Webster
2015-05-07 13:58:16 +00:00
parent c4c21ea436
commit 28d1294252
3 changed files with 19 additions and 7 deletions

View File

@@ -50,6 +50,7 @@ public interface SecurityClearanceService
*
* @param userName The username of the user.
* @param clearanceId The identifier for the new clearance level.
* @return the user's security clearance
*/
void setUserSecurityClearance(String userName, String clearanceId);
SecurityClearance setUserSecurityClearance(String userName, String clearanceId);
}

View File

@@ -106,7 +106,7 @@ public class SecurityClearanceServiceImpl extends ServiceBaseImpl implements Sec
}
@Override
public void setUserSecurityClearance(String userName, String clearanceId)
public SecurityClearance setUserSecurityClearance(String userName, String clearanceId)
{
ParameterCheck.mandatoryString("userName", userName);
ParameterCheck.mandatoryString("clearanceId", clearanceId);
@@ -117,5 +117,7 @@ public class SecurityClearanceServiceImpl extends ServiceBaseImpl implements Sec
classificationService.getClassificationLevelById(clearanceId);
nodeService.setProperty(personNode, PROP_CLEARANCE_LEVEL, clearanceId);
return getUserSecurityClearance(userName);
}
}

View File

@@ -41,9 +41,6 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import java.io.Serializable;
import java.util.Map;
/**
* Unit tests for {@link SecurityClearanceServiceImpl}.
*
@@ -99,19 +96,31 @@ public class SecurityClearanceServiceImplUnitTest
}
/** Check that a user can have their clearance set. */
@Test public void setUserSecurityClearance_updateClearance()
@Test public void setUserSecurityClearance_setClearance()
{
// Create the user.
String userName = "User 1";
NodeRef personNode = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, userName);
PersonInfo personInfo = new PersonInfo(personNode, userName, "user", "two");
when(mockPersonService.getPerson(userName, false)).thenReturn(personNode);
when(mockPersonService.getPerson(personNode)).thenReturn(personInfo);
// Create the clearance.
String clearanceId = "ClearanceId";
ClassificationLevel level = new ClassificationLevel(clearanceId, "TopSecretKey");
when(mockClassificationService.getClassificationLevelById(clearanceId)).thenReturn(level);
when(mockNodeService.hasAspect(personNode, ASPECT_SECURITY_CLEARANCE)).thenReturn(true);
when(mockNodeService.getProperty(personNode, PROP_CLEARANCE_LEVEL)).thenReturn(clearanceId);
// Call the method under test.
securityClearanceServiceImpl.setUserSecurityClearance(userName, clearanceId);
SecurityClearance securityClearance = securityClearanceServiceImpl.setUserSecurityClearance(userName, clearanceId);
assertEquals(personInfo, securityClearance.getPersonInfo());
assertEquals(level, securityClearance.getClearanceLevel());
verify(mockNodeService).setProperty(personNode, PROP_CLEARANCE_LEVEL, clearanceId);
}