mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 23:45:44 +01:00
add unit test for DefaultSecuritySystem
This commit is contained in:
@@ -151,6 +151,7 @@ public class AbstractTestBase
|
||||
try
|
||||
{
|
||||
preTearDown();
|
||||
clearSubject();
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -179,7 +180,7 @@ public class AbstractTestBase
|
||||
//~--- methods --------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Clears Shiro's thread state, ensuring the thread remains clean for
|
||||
* Clears Shiro's thread state, ensuring the thread remains clean for
|
||||
* future test execution.
|
||||
*/
|
||||
protected void clearSubject()
|
||||
|
||||
@@ -41,6 +41,7 @@ import org.apache.shiro.authz.Permission;
|
||||
import org.apache.shiro.subject.PrincipalCollection;
|
||||
import org.apache.shiro.subject.SimplePrincipalCollection;
|
||||
import org.apache.shiro.subject.Subject;
|
||||
import org.apache.shiro.subject.Subject.Builder;
|
||||
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
@@ -136,6 +137,20 @@ public final class MockUtil
|
||||
* @return
|
||||
*/
|
||||
public static Subject createUserSubject()
|
||||
{
|
||||
return createUserSubject(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
*
|
||||
* @param securityManager
|
||||
* @return
|
||||
*/
|
||||
public static Subject createUserSubject(
|
||||
org.apache.shiro.mgt.SecurityManager securityManager)
|
||||
{
|
||||
SimplePrincipalCollection collection = new SimplePrincipalCollection();
|
||||
User user = UserTestData.createTrillian();
|
||||
@@ -143,8 +158,18 @@ public final class MockUtil
|
||||
collection.add(user.getName(), "junit");
|
||||
collection.add(user, "junit");
|
||||
|
||||
return new Subject.Builder().principals(collection).authenticated(
|
||||
true).buildSubject();
|
||||
Builder builder;
|
||||
|
||||
if (securityManager != null)
|
||||
{
|
||||
builder = new Subject.Builder(securityManager);
|
||||
}
|
||||
else
|
||||
{
|
||||
builder = new Subject.Builder();
|
||||
}
|
||||
|
||||
return builder.principals(collection).authenticated(true).buildSubject();
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user