mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
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:
@@ -50,6 +50,7 @@ public interface SecurityClearanceService
|
|||||||
*
|
*
|
||||||
* @param userName The username of the user.
|
* @param userName The username of the user.
|
||||||
* @param clearanceId The identifier for the new clearance level.
|
* @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);
|
||||||
}
|
}
|
||||||
|
@@ -106,7 +106,7 @@ public class SecurityClearanceServiceImpl extends ServiceBaseImpl implements Sec
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setUserSecurityClearance(String userName, String clearanceId)
|
public SecurityClearance setUserSecurityClearance(String userName, String clearanceId)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("userName", userName);
|
ParameterCheck.mandatoryString("userName", userName);
|
||||||
ParameterCheck.mandatoryString("clearanceId", clearanceId);
|
ParameterCheck.mandatoryString("clearanceId", clearanceId);
|
||||||
@@ -117,5 +117,7 @@ public class SecurityClearanceServiceImpl extends ServiceBaseImpl implements Sec
|
|||||||
classificationService.getClassificationLevelById(clearanceId);
|
classificationService.getClassificationLevelById(clearanceId);
|
||||||
|
|
||||||
nodeService.setProperty(personNode, PROP_CLEARANCE_LEVEL, clearanceId);
|
nodeService.setProperty(personNode, PROP_CLEARANCE_LEVEL, clearanceId);
|
||||||
|
|
||||||
|
return getUserSecurityClearance(userName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -41,9 +41,6 @@ import org.mockito.InjectMocks;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unit tests for {@link SecurityClearanceServiceImpl}.
|
* Unit tests for {@link SecurityClearanceServiceImpl}.
|
||||||
*
|
*
|
||||||
@@ -99,19 +96,31 @@ public class SecurityClearanceServiceImplUnitTest
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Check that a user can have their clearance set. */
|
/** Check that a user can have their clearance set. */
|
||||||
@Test public void setUserSecurityClearance_updateClearance()
|
@Test public void setUserSecurityClearance_setClearance()
|
||||||
{
|
{
|
||||||
// Create the user.
|
// Create the user.
|
||||||
String userName = "User 1";
|
String userName = "User 1";
|
||||||
|
|
||||||
NodeRef personNode = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, userName);
|
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(userName, false)).thenReturn(personNode);
|
||||||
|
when(mockPersonService.getPerson(personNode)).thenReturn(personInfo);
|
||||||
|
|
||||||
// Create the clearance.
|
// Create the clearance.
|
||||||
String clearanceId = "ClearanceId";
|
String clearanceId = "ClearanceId";
|
||||||
ClassificationLevel level = new ClassificationLevel(clearanceId, "TopSecretKey");
|
ClassificationLevel level = new ClassificationLevel(clearanceId, "TopSecretKey");
|
||||||
when(mockClassificationService.getClassificationLevelById(clearanceId)).thenReturn(level);
|
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.
|
// 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);
|
verify(mockNodeService).setProperty(personNode, PROP_CLEARANCE_LEVEL, clearanceId);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user