mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-14 17:26:22 +01:00
Security System: Query permission.xmls from uber classloader.
Allows for finding permission.xmls from plugins. Adds an examplary permission.xml for git plugin.
This commit is contained in:
@@ -35,26 +35,28 @@ package sonia.scm.security;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
|
||||
import org.apache.shiro.authz.UnauthorizedException;
|
||||
import org.apache.shiro.mgt.DefaultSecurityManager;
|
||||
import org.apache.shiro.realm.SimpleAccountRealm;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import sonia.scm.AbstractTestBase;
|
||||
import sonia.scm.plugin.PluginLoader;
|
||||
import sonia.scm.store.JAXBConfigurationEntryStoreFactory;
|
||||
import sonia.scm.util.ClassLoaders;
|
||||
import sonia.scm.util.MockUtil;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import java.util.List;
|
||||
|
||||
import static org.hamcrest.Matchers.containsInAnyOrder;
|
||||
import static org.hamcrest.Matchers.greaterThan;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
@@ -62,6 +64,12 @@ import java.util.List;
|
||||
public class DefaultSecuritySystemTest extends AbstractTestBase
|
||||
{
|
||||
|
||||
private JAXBConfigurationEntryStoreFactory jaxbConfigurationEntryStoreFactory;
|
||||
private PluginLoader pluginLoader;
|
||||
@InjectMocks
|
||||
private DefaultSecuritySystem securitySystem;
|
||||
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
@@ -69,12 +77,12 @@ public class DefaultSecuritySystemTest extends AbstractTestBase
|
||||
@Before
|
||||
public void createSecuritySystem()
|
||||
{
|
||||
JAXBConfigurationEntryStoreFactory factory =
|
||||
new JAXBConfigurationEntryStoreFactory(contextProvider , repositoryLocationResolver, new UUIDKeyGenerator() );
|
||||
jaxbConfigurationEntryStoreFactory =
|
||||
spy(new JAXBConfigurationEntryStoreFactory(contextProvider , repositoryLocationResolver, new UUIDKeyGenerator() ) {});
|
||||
pluginLoader = mock(PluginLoader.class);
|
||||
when(pluginLoader.getUberClassLoader()).thenReturn(ClassLoaders.getContextClassLoader(DefaultSecuritySystem.class));
|
||||
|
||||
securitySystem = new DefaultSecuritySystem(factory);
|
||||
|
||||
// ScmEventBus.getInstance().register(listener);
|
||||
MockitoAnnotations.initMocks(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -325,9 +333,4 @@ public class DefaultSecuritySystemTest extends AbstractTestBase
|
||||
|
||||
setSubject(MockUtil.createUserSubject(sm));
|
||||
}
|
||||
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
/** Field description */
|
||||
private DefaultSecuritySystem securitySystem;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user