summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins/access-control
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-03-08 00:48:50 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-03-08 00:48:50 +0000
commitdbc2cf98b3ecbb42eea0fa218faca1f974b25bcb (patch)
tree92a5397107fd6b9e04c0e71476b6f5fc1f1b7620 /qpid/java/broker-plugins/access-control
parentd9b099731447585d1af1b375fc641b3eb6850791 (diff)
downloadqpid-python-dbc2cf98b3ecbb42eea0fa218faca1f974b25bcb.tar.gz
QPID-5611 : Change the event logger from a singleton to an instance
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1575462 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins/access-control')
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AbstractConfiguration.java10
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/PlainConfiguration.java5
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java15
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/XMLConfiguration.java31
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java10
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactory.java5
-rw-r--r--qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/PlainConfigurationTest.java11
-rw-r--r--qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactoryTest.java9
-rw-r--r--qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlTest.java42
-rw-r--r--qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java5
10 files changed, 70 insertions, 73 deletions
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AbstractConfiguration.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AbstractConfiguration.java
index f87374ac80..09ffb71519 100644
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AbstractConfiguration.java
+++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AbstractConfiguration.java
@@ -20,16 +20,20 @@
*/
package org.apache.qpid.server.security.access.config;
+import org.apache.qpid.server.logging.EventLogger;
+
import java.io.File;
public abstract class AbstractConfiguration implements ConfigurationFile
{
private File _file;
private RuleSet _config;
-
- public AbstractConfiguration(File file)
+ private final EventLogger _eventLogger;
+
+ public AbstractConfiguration(File file, final EventLogger eventLogger)
{
_file = file;
+ _eventLogger = eventLogger;
}
public File getFile()
@@ -39,7 +43,7 @@ public abstract class AbstractConfiguration implements ConfigurationFile
public RuleSet load()
{
- _config = new RuleSet();
+ _config = new RuleSet(_eventLogger);
return _config;
}
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/PlainConfiguration.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/PlainConfiguration.java
index 34585bb4f6..df5b66da84 100644
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/PlainConfiguration.java
+++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/PlainConfiguration.java
@@ -35,6 +35,7 @@ import java.util.Stack;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.security.access.ObjectType;
import org.apache.qpid.server.security.access.Operation;
import org.apache.qpid.server.security.access.Permission;
@@ -67,9 +68,9 @@ public class PlainConfiguration extends AbstractConfiguration
private StreamTokenizer _st;
- public PlainConfiguration(File file)
+ public PlainConfiguration(File file, final EventLogger eventLogger)
{
- super(file);
+ super(file, eventLogger);
}
@Override
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java
index 58f3c71c7c..6e9bc590f4 100644
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java
+++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java
@@ -38,7 +38,7 @@ import javax.security.auth.Subject;
import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
-import org.apache.qpid.server.logging.SystemLog;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.messages.AccessControlMessages;
import org.apache.qpid.server.security.Result;
import org.apache.qpid.server.security.access.ObjectProperties;
@@ -70,9 +70,11 @@ public class RuleSet
private final Map<Subject, Map<Operation, Map<ObjectType, List<Rule>>>> _cache =
new WeakHashMap<Subject, Map<Operation, Map<ObjectType, List<Rule>>>>();
private final Map<String, Boolean> _config = new HashMap<String, Boolean>();
+ private final EventLogger _eventLogger;
- public RuleSet()
+ public RuleSet(EventLogger eventLogger)
{
+ _eventLogger = eventLogger;
// set some default configuration properties
configure(DEFAULT_DENY, Boolean.TRUE);
}
@@ -321,14 +323,14 @@ public class RuleSet
switch (permission)
{
case ALLOW_LOG:
- SystemLog.message(AccessControlMessages.ALLOWED(
+ _eventLogger.message(AccessControlMessages.ALLOWED(
action.getOperation().toString(),
action.getObjectType().toString(),
action.getProperties().toString()));
case ALLOW:
return Result.ALLOWED;
case DENY_LOG:
- SystemLog.message(AccessControlMessages.DENIED(
+ _eventLogger.message(AccessControlMessages.DENIED(
action.getOperation().toString(),
action.getObjectType().toString(),
action.getProperties().toString()));
@@ -437,4 +439,9 @@ public class RuleSet
}
return objects;
}
+
+ public EventLogger getEventLogger()
+ {
+ return _eventLogger;
+ }
}
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/XMLConfiguration.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/XMLConfiguration.java
deleted file mode 100644
index a4f6f8b65a..0000000000
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/XMLConfiguration.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.server.security.access.config;
-
-import java.io.File;
-
-public class XMLConfiguration extends AbstractConfiguration
-{
- public XMLConfiguration(File file)
- {
- super(file);
- }
-}
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java
index f579ea0ec5..b56cd7c077 100644
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java
+++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java
@@ -34,6 +34,7 @@ import org.apache.commons.lang.ObjectUtils;
import org.apache.log4j.Logger;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.connection.ConnectionPrincipal;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.security.Result;
import org.apache.qpid.server.security.AccessControl;
import org.apache.qpid.server.security.access.ObjectProperties;
@@ -49,9 +50,11 @@ public class DefaultAccessControl implements AccessControl
private RuleSet _ruleSet;
private File _aclFile;
+ private final EventLogger _eventLogger;
- public DefaultAccessControl(String fileName)
+ public DefaultAccessControl(String fileName, final EventLogger eventLogger)
{
+ _eventLogger = eventLogger;
if (_logger.isDebugEnabled())
{
_logger.debug("Creating AccessControl instance using file: " + fileName);
@@ -63,6 +66,7 @@ public class DefaultAccessControl implements AccessControl
DefaultAccessControl(RuleSet rs) throws ConfigurationException
{
_ruleSet = rs;
+ _eventLogger = rs.getEventLogger();
}
public void open()
@@ -74,7 +78,7 @@ public class DefaultAccessControl implements AccessControl
throw new IllegalConfigurationException("ACL file '" + _aclFile + "' is not found");
}
- ConfigurationFile configFile = new PlainConfiguration(_aclFile);
+ ConfigurationFile configFile = new PlainConfiguration(_aclFile, _eventLogger);
_ruleSet = configFile.load();
}
}
@@ -103,7 +107,7 @@ public class DefaultAccessControl implements AccessControl
}
//verify it is parsable
- new PlainConfiguration(_aclFile).load();
+ new PlainConfiguration(_aclFile, _eventLogger).load();
}
}
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactory.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactory.java
index f4e041a8d2..af3b456083 100644
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactory.java
+++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactory.java
@@ -30,6 +30,7 @@ import java.util.Collections;
import java.util.Map;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.plugin.AccessControlFactory;
import org.apache.qpid.server.security.AccessControl;
import org.apache.qpid.server.util.ResourceBundleLoader;
@@ -43,7 +44,7 @@ public class DefaultAccessControlFactory implements AccessControlFactory
PATH
));
- public AccessControl createInstance(Map<String, Object> attributes)
+ public AccessControl createInstance(Map<String, Object> attributes, final EventLogger eventLogger)
{
if(attributes == null || !ACL_FILE_PROVIDER_TYPE.equals(attributes.get(ATTRIBUTE_TYPE)))
{
@@ -56,7 +57,7 @@ public class DefaultAccessControlFactory implements AccessControlFactory
throw new IllegalConfigurationException("Path to ACL was not specified!");
}
- return new DefaultAccessControl(path);
+ return new DefaultAccessControl(path, eventLogger);
}
@Override
diff --git a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/PlainConfigurationTest.java b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/PlainConfigurationTest.java
index e22f4af895..e457d191c9 100644
--- a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/PlainConfigurationTest.java
+++ b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/PlainConfigurationTest.java
@@ -27,14 +27,13 @@ import java.util.Map;
import junit.framework.TestCase;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.security.access.ObjectProperties;
import org.apache.qpid.server.security.access.ObjectProperties.Property;
import org.apache.qpid.server.security.access.ObjectType;
import org.apache.qpid.server.security.access.Operation;
-import org.apache.qpid.server.security.access.config.ConfigurationFile;
-import org.apache.qpid.server.security.access.config.PlainConfiguration;
-import org.apache.qpid.server.security.access.config.Rule;
-import org.apache.qpid.server.security.access.config.RuleSet;
+
+import static org.mockito.Mockito.mock;
/**
* These tests check that the ACL file parsing works correctly.
@@ -58,7 +57,7 @@ public class PlainConfigurationTest extends TestCase
aclWriter.close();
// Load ruleset
- PlainConfiguration configFile = new PlainConfiguration(acl);
+ PlainConfiguration configFile = new PlainConfiguration(acl, new EventLogger());
configFile.load();
return configFile;
}
@@ -68,7 +67,7 @@ public class PlainConfigurationTest extends TestCase
try
{
// Load ruleset
- ConfigurationFile configFile = new PlainConfiguration(new File("doesnotexist"));
+ ConfigurationFile configFile = new PlainConfiguration(new File("doesnotexist"), new EventLogger());
configFile.load();
fail("fail");
diff --git a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactoryTest.java b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactoryTest.java
index 07422e6bdb..5ed5b91cb8 100644
--- a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactoryTest.java
+++ b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlFactoryTest.java
@@ -26,19 +26,22 @@ import java.util.Map;
import java.util.regex.Pattern;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.GroupProvider;
import org.apache.qpid.server.security.AccessControl;
import org.apache.qpid.server.security.access.FileAccessControlProviderConstants;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.test.utils.TestFileUtils;
+import static org.mockito.Mockito.mock;
+
public class DefaultAccessControlFactoryTest extends QpidTestCase
{
public void testCreateInstanceWhenAclFileIsNotPresent()
{
DefaultAccessControlFactory factory = new DefaultAccessControlFactory();
Map<String, Object> attributes = new HashMap<String, Object>();
- AccessControl acl = factory.createInstance(attributes);
+ AccessControl acl = factory.createInstance(attributes, new EventLogger());
assertNull("ACL was created without a configuration file", acl);
}
@@ -49,7 +52,7 @@ public class DefaultAccessControlFactoryTest extends QpidTestCase
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(GroupProvider.TYPE, FileAccessControlProviderConstants.ACL_FILE_PROVIDER_TYPE);
attributes.put(FileAccessControlProviderConstants.PATH, aclFile.getAbsolutePath());
- AccessControl acl = factory.createInstance(attributes);
+ AccessControl acl = factory.createInstance(attributes, new EventLogger());
acl.open();
assertNotNull("ACL was not created from acl file: " + aclFile.getAbsolutePath(), acl);
@@ -65,7 +68,7 @@ public class DefaultAccessControlFactoryTest extends QpidTestCase
attributes.put(FileAccessControlProviderConstants.PATH, aclFile.getAbsolutePath());
try
{
- AccessControl control = factory.createInstance(attributes);
+ AccessControl control = factory.createInstance(attributes, new EventLogger());
control.open();
fail("It should not be possible to create and initialise ACL with non existing file");
}
diff --git a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlTest.java b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlTest.java
index f5f1866c3a..e35f4301ed 100644
--- a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlTest.java
+++ b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControlTest.java
@@ -33,7 +33,7 @@ import junit.framework.TestCase;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.qpid.server.connection.ConnectionPrincipal;
-import org.apache.qpid.server.logging.SystemLog;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.UnitTestMessageLogger;
import org.apache.qpid.server.protocol.AMQConnectionModel;
import org.apache.qpid.server.security.Result;
@@ -56,7 +56,16 @@ public class DefaultAccessControlTest extends TestCase
private static final String DENIED_GROUP = "denied_group";
private DefaultAccessControl _plugin = null; // Class under test
- private final UnitTestMessageLogger messageLogger = new UnitTestMessageLogger();
+ private UnitTestMessageLogger _messageLogger;
+ private EventLogger _eventLogger;
+
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ _messageLogger = new UnitTestMessageLogger();
+ _eventLogger = new EventLogger(_messageLogger);
+ _plugin = null;
+ }
private void setUpGroupAccessControl() throws ConfigurationException
{
@@ -66,12 +75,11 @@ public class DefaultAccessControlTest extends TestCase
private void configureAccessControl(final RuleSet rs) throws ConfigurationException
{
_plugin = new DefaultAccessControl(rs);
- SystemLog.setRootMessageLogger(messageLogger);
}
private RuleSet createGroupRuleSet()
{
- final RuleSet rs = new RuleSet();
+ final RuleSet rs = new RuleSet(_eventLogger);
// Rule expressed with username
rs.grant(0, "user1", Permission.ALLOW, Operation.ACCESS, ObjectType.VIRTUALHOST, ObjectProperties.EMPTY);
@@ -84,11 +92,6 @@ public class DefaultAccessControlTest extends TestCase
return rs;
}
- protected void tearDown() throws Exception
- {
- super.tearDown();
- }
-
/**
* ACL plugin must always abstain if there is no subject attached to the thread.
*/
@@ -153,12 +156,15 @@ public class DefaultAccessControlTest extends TestCase
@Override
public Object run()
{
- assertEquals("Expecting zero messages before test", 0, messageLogger.getLogMessages().size());
+ assertEquals("Expecting zero messages before test",
+ 0,
+ _messageLogger.getLogMessages().size());
final Result result = _plugin.authorise(Operation.ACCESS, ObjectType.VIRTUALHOST, ObjectProperties.EMPTY);
assertEquals(Result.DENIED, result);
- assertEquals("Expecting one message before test", 1, messageLogger.getLogMessages().size());
- assertTrue("Logged message does not contain expected string", messageLogger.messageContains(0, "ACL-1002"));
+ assertEquals("Expecting one message before test", 1, _messageLogger.getLogMessages().size());
+ assertTrue("Logged message does not contain expected string",
+ _messageLogger.messageContains(0, "ACL-1002"));
return null;
}
});
@@ -170,7 +176,7 @@ public class DefaultAccessControlTest extends TestCase
*/
public void testAuthoriseAccessMethodWhenAllAccessOperationsAllowedOnAllComponents() throws ConfigurationException
{
- final RuleSet rs = new RuleSet();
+ final RuleSet rs = new RuleSet(_eventLogger);
// grant user4 access right on any method in any component
rs.grant(1, "user4", Permission.ALLOW, Operation.ACCESS, ObjectType.METHOD, new ObjectProperties(ObjectProperties.STAR));
@@ -196,7 +202,7 @@ public class DefaultAccessControlTest extends TestCase
*/
public void testAuthoriseAccessMethodWhenAllAccessOperationsAllowedOnSpecifiedComponent() throws ConfigurationException
{
- final RuleSet rs = new RuleSet();
+ final RuleSet rs = new RuleSet(_eventLogger);
// grant user5 access right on any methods in "Test" component
ObjectProperties ruleProperties = new ObjectProperties(ObjectProperties.STAR);
@@ -296,7 +302,7 @@ public class DefaultAccessControlTest extends TestCase
*/
public void testAuthoriseAccessMethodWhenSpecifiedAccessOperationsAllowedOnSpecifiedComponent() throws ConfigurationException
{
- final RuleSet rs = new RuleSet();
+ final RuleSet rs = new RuleSet(_eventLogger);
// grant user6 access right on "getAttribute" method in "Test" component
ObjectProperties ruleProperties = new ObjectProperties("getAttribute");
@@ -333,7 +339,7 @@ public class DefaultAccessControlTest extends TestCase
*/
public void testAuthoriseAccessUpdateMethodWhenAllRightsGrantedOnSpecifiedMethodForAllComponents() throws ConfigurationException
{
- final RuleSet rs = new RuleSet();
+ final RuleSet rs = new RuleSet(_eventLogger);
// grant user8 all rights on method queryNames in all component
rs.grant(1, "user8", Permission.ALLOW, Operation.ALL, ObjectType.METHOD, new ObjectProperties("queryNames"));
@@ -372,7 +378,7 @@ public class DefaultAccessControlTest extends TestCase
*/
public void testAuthoriseAccessUpdateMethodWhenAllRightsGrantedOnAllMethodsInAllComponents() throws ConfigurationException
{
- final RuleSet rs = new RuleSet();
+ final RuleSet rs = new RuleSet(_eventLogger);
// grant user9 all rights on any method in all component
rs.grant(1, "user9", Permission.ALLOW, Operation.ALL, ObjectType.METHOD, new ObjectProperties());
@@ -410,7 +416,7 @@ public class DefaultAccessControlTest extends TestCase
*/
public void testAuthoriseAccessMethodWhenMatchingAccessOperationsAllowedOnSpecifiedComponent() throws ConfigurationException
{
- final RuleSet rs = new RuleSet();
+ final RuleSet rs = new RuleSet(_eventLogger);
// grant user9 all rights on "getAttribute*" methods in Test component
ObjectProperties ruleProperties = new ObjectProperties();
diff --git a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java
index 52f55f7e2d..47f7f440fa 100644
--- a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java
+++ b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java
@@ -25,6 +25,7 @@ import java.security.Principal;
import javax.security.auth.Subject;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.security.Result;
import org.apache.qpid.server.security.access.ObjectProperties;
import org.apache.qpid.server.security.access.ObjectType;
@@ -35,6 +36,8 @@ import org.apache.qpid.server.security.access.config.RuleSet;
import org.apache.qpid.server.security.auth.TestPrincipalUtils;
import org.apache.qpid.test.utils.QpidTestCase;
+import static org.mockito.Mockito.mock;
+
/**
* This test checks that the {@link RuleSet} object which forms the core of the access control plugin performs correctly.
*
@@ -62,7 +65,7 @@ public class RuleSetTest extends QpidTestCase
{
super.setUp();
- _ruleSet = new RuleSet();
+ _ruleSet = new RuleSet(new EventLogger());
}
@Override