summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/test
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2013-04-19 15:50:21 +0000
committerAlex Rudyy <orudyy@apache.org>2013-04-19 15:50:21 +0000
commitd792f4deff8d3ce6b4672c7156ad56eb4438c01d (patch)
tree168c7f96f14cd252a237adfd83a7acb968c59715 /qpid/java/broker/src/test
parent31524543f12e083c30d55b72b5ade680ab3f48ae (diff)
downloadqpid-python-d792f4deff8d3ce6b4672c7156ad56eb4438c01d.tar.gz
QPID-4752: Make the GroupProvider a full broker-level configuration entry instead of a broker attribute.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1469916 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/test')
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java3
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java8
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java8
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerTest.java37
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupProviderAttributeDescriptions.properties19
5 files changed, 53 insertions, 22 deletions
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
index 5a8580fd26..5c3f062cae 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
@@ -49,6 +49,7 @@ import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
+import org.apache.qpid.server.model.adapter.GroupProviderFactory;
import org.apache.qpid.server.model.adapter.PortFactory;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.stats.StatisticsGatherer;
@@ -70,7 +71,7 @@ public class BrokerRecovererTest extends TestCase
{
super.setUp();
- _brokerRecoverer = new BrokerRecoverer(mock(AuthenticationProviderFactory.class), mock(PortFactory.class), mock(StatisticsGatherer.class),
+ _brokerRecoverer = new BrokerRecoverer(mock(AuthenticationProviderFactory.class), mock(GroupProviderFactory.class), mock(PortFactory.class), mock(StatisticsGatherer.class),
mock(VirtualHostRegistry.class), mock(LogRecorder.class), mock(RootMessageLogger.class), mock(TaskExecutor.class), mock(BrokerOptions.class));
when(_brokerEntry.getId()).thenReturn(_brokerId);
when(_brokerEntry.getChildren()).thenReturn(_brokerEntryChildren);
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java
index 6713574e4b..d6f03a9758 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java
@@ -30,6 +30,7 @@ import org.apache.qpid.server.configuration.ConfigurationEntry;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.GroupProvider;
+import org.apache.qpid.server.model.adapter.GroupProviderFactory;
import org.apache.qpid.server.plugin.GroupManagerFactory;
import org.apache.qpid.server.plugin.QpidServiceLoader;
import org.apache.qpid.server.security.group.GroupManager;
@@ -46,6 +47,7 @@ public class GroupProviderRecovererTest extends TestCase
private QpidServiceLoader<GroupManagerFactory> _groupManagerServiceLoader;
private Broker _broker;
private ConfigurationEntry _configurationEntry;
+ private GroupProviderFactory _groupProviderFactory;
@SuppressWarnings("unchecked")
protected void setUp() throws Exception
@@ -58,6 +60,7 @@ public class GroupProviderRecovererTest extends TestCase
_groupManagerServiceLoader = mock(QpidServiceLoader.class);
when(_groupManagerServiceLoader.instancesOf(GroupManagerFactory.class)).thenReturn(Collections.singletonList(_factory ));
+ _groupProviderFactory = new GroupProviderFactory(_groupManagerServiceLoader);
_broker = mock(Broker.class);
@@ -70,8 +73,9 @@ public class GroupProviderRecovererTest extends TestCase
{
GroupManager groupManager = mock(GroupManager.class);
String name = groupManager.getClass().getSimpleName();
+ _attributes.put(GroupProvider.NAME, name);
when(_factory.createInstance(_attributes)).thenReturn(groupManager);
- GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupManagerServiceLoader);
+ GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupProviderFactory);
GroupProvider groupProvider = groupProviderRecoverer.create(null, _configurationEntry, _broker);
assertNotNull("Null group provider", groupProvider);
assertEquals("Unexpected name", name, groupProvider.getName());
@@ -82,7 +86,7 @@ public class GroupProviderRecovererTest extends TestCase
{
when(_factory.createInstance(_attributes)).thenReturn(null);
- GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupManagerServiceLoader);
+ GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupProviderFactory);
try
{
groupProviderRecoverer.create(null, _configurationEntry, _broker);
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java
index 934c0082ea..90308d316b 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerFactoryTest.java
@@ -35,8 +35,8 @@ public class FileGroupManagerFactoryTest extends TestCase
public void testInstanceCreated() throws Exception
{
- _configuration.put(GroupProvider.TYPE, FileGroupManagerFactory.FILE_GROUP_MANAGER_TYPE);
- _configuration.put(FileGroupManagerFactory.FILE, _emptyButValidGroupFile);
+ _configuration.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
+ _configuration.put(FileGroupManagerFactory.PATH, _emptyButValidGroupFile);
GroupManager manager = _factory.createInstance(_configuration);
assertNotNull(manager);
@@ -60,8 +60,8 @@ public class FileGroupManagerFactoryTest extends TestCase
public void testRejectsConfigThatIsMissingAttributeValue() throws Exception
{
- _configuration.put(GroupProvider.TYPE, FileGroupManagerFactory.FILE_GROUP_MANAGER_TYPE);
- _configuration.put(FileGroupManagerFactory.FILE, null);
+ _configuration.put(GroupProvider.TYPE, FileGroupManagerFactory.GROUP_FILE_PROVIDER_TYPE);
+ _configuration.put(FileGroupManagerFactory.PATH, null);
try
{
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerTest.java
index b83d25b206..152703d548 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupManagerTest.java
@@ -20,13 +20,11 @@
package org.apache.qpid.server.security.group;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.security.Principal;
import java.util.Properties;
import java.util.Set;
-import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.security.auth.UsernamePrincipal;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -62,17 +60,26 @@ public class FileGroupManagerTest extends QpidTestCase
public void testNonExistentGroupFile() throws Exception
{
- final String filePath = "/does.not.exist/";
-
+ final String filePath = TMP_FOLDER + File.separator + "non.existing";
+ File file = new File(filePath);
+ if (file.exists())
+ {
+ file.delete();
+ }
+ assertFalse("File should not exist", file.exists());
try
{
_manager = new FileGroupManager(filePath);
- fail("expected exception was not thrown");
+ assertFalse("File should be created", file.exists());
+ _manager.onCreate();
+ assertTrue("File should be created", file.exists());
+ _manager.open();
+ Set<Principal> groups = _manager.getGroupPrincipals();
+ assertTrue("No group should exist", groups.isEmpty());
}
- catch(IllegalConfigurationException ce)
+ finally
{
- assertNotNull(ce.getCause());
- assertTrue(ce.getCause() instanceof FileNotFoundException);
+ file.delete();
}
}
@@ -80,7 +87,7 @@ public class FileGroupManagerTest extends QpidTestCase
{
final String groupFileName = writeGroupFile();
_manager = new FileGroupManager(groupFileName);
-
+ _manager.open();
Set<Principal> principals = _manager.getGroupPrincipalsForUser("user1");
assertEquals(1, principals.size());
assertTrue(principals.contains(new GroupPrincipal("myGroup")));
@@ -90,7 +97,7 @@ public class FileGroupManagerTest extends QpidTestCase
{
final String groupFileName = writeGroupFile();
_manager = new FileGroupManager(groupFileName);
-
+ _manager.open();
Set<Principal> principals = _manager.getUserPrincipalsForGroup("myGroup");
assertEquals(1, principals.size());
assertTrue(principals.contains(new UsernamePrincipal("user1")));
@@ -100,7 +107,7 @@ public class FileGroupManagerTest extends QpidTestCase
{
final String groupFileName = writeGroupFile(MY_GROUP, MYGROUP_USERS, MY_GROUP2, MYGROUP_USERS);
_manager = new FileGroupManager(groupFileName);
-
+ _manager.open();
Set<Principal> principals = _manager.getGroupPrincipals();
assertEquals(2, principals.size());
assertTrue(principals.contains(new GroupPrincipal("myGroup")));
@@ -111,7 +118,7 @@ public class FileGroupManagerTest extends QpidTestCase
{
final String groupFileName = writeGroupFile();
_manager = new FileGroupManager(groupFileName);
-
+ _manager.open();
Set<Principal> principals = _manager.getGroupPrincipals();
assertEquals(1, principals.size());
@@ -126,7 +133,7 @@ public class FileGroupManagerTest extends QpidTestCase
{
final String groupFileName = writeGroupFile(MY_GROUP, MYGROUP_USERS);
_manager = new FileGroupManager(groupFileName);
-
+ _manager.open();
Set<Principal> principals = _manager.getGroupPrincipals();
assertEquals(1, principals.size());
@@ -140,7 +147,7 @@ public class FileGroupManagerTest extends QpidTestCase
{
final String groupFileName = writeGroupFile(MY_GROUP, MYGROUP_USERS);
_manager = new FileGroupManager(groupFileName);
-
+ _manager.open();
Set<Principal> principals = _manager.getUserPrincipalsForGroup("myGroup");
assertEquals(1, principals.size());
assertFalse(principals.contains(new UsernamePrincipal("user2")));
@@ -156,7 +163,7 @@ public class FileGroupManagerTest extends QpidTestCase
{
final String groupFileName = writeGroupFile(MY_GROUP, MYGROUP_USERS);
_manager = new FileGroupManager(groupFileName);
-
+ _manager.open();
Set<Principal> principals = _manager.getUserPrincipalsForGroup("myGroup");
assertEquals(1, principals.size());
assertTrue(principals.contains(new UsernamePrincipal("user1")));
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupProviderAttributeDescriptions.properties b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupProviderAttributeDescriptions.properties
new file mode 100644
index 0000000000..2c2d2ab9e3
--- /dev/null
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/group/FileGroupProviderAttributeDescriptions.properties
@@ -0,0 +1,19 @@
+#
+# 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.
+
+path= File location*