diff options
Diffstat (limited to 'qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java')
-rw-r--r-- | qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java | 130 |
1 files changed, 39 insertions, 91 deletions
diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java index a05a30b459..2caf85966c 100644 --- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java +++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java @@ -27,7 +27,6 @@ import java.io.File; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.Set; import java.util.UUID; import org.apache.qpid.server.configuration.ConfigurationEntry; @@ -39,26 +38,24 @@ import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.stats.StatisticsGatherer; +import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade; +import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacadeFactory; import org.apache.qpid.server.util.BrokerTestHelper; -import org.apache.qpid.server.virtualhost.StandardVirtualHostFactory; import org.apache.qpid.test.utils.QpidTestCase; -import org.apache.qpid.test.utils.TestFileUtils; import org.apache.qpid.util.FileUtils; -import com.sleepycat.je.EnvironmentConfig; import com.sleepycat.je.rep.ReplicatedEnvironment; import com.sleepycat.je.rep.ReplicationConfig; public class VirtualHostTest extends QpidTestCase { - private Broker _broker; + private Broker<?> _broker; private StatisticsGatherer _statisticsGatherer; private RecovererProvider _recovererProvider; - private File _configFile; private File _bdbStorePath; - private VirtualHost _host; + private VirtualHost<?> _host; private ConfigurationEntryStore _store; @Override @@ -72,7 +69,6 @@ public class VirtualHostTest extends QpidTestCase when(taslExecutor.isTaskExecutorThread()).thenReturn(true); when(_broker.getTaskExecutor()).thenReturn(taslExecutor); - _statisticsGatherer = mock(StatisticsGatherer.class); _bdbStorePath = new File(TMP_FOLDER, getTestName() + "." + System.currentTimeMillis()); @@ -91,10 +87,6 @@ public class VirtualHostTest extends QpidTestCase } finally { - if (_configFile != null) - { - _configFile.delete(); - } if (_bdbStorePath != null) { FileUtils.delete(_bdbStorePath, true); @@ -103,106 +95,62 @@ public class VirtualHostTest extends QpidTestCase } } - - public void testCreateBdbVirtualHostFromConfigurationFile() - { - String hostName = getName(); - long logFileMax = 2000000; - _host = createHostFromConfiguration(hostName, logFileMax); - _host.setDesiredState(State.INITIALISING, State.ACTIVE); - assertEquals("Unexpected host name", hostName, _host.getName()); - assertEquals("Unexpected host type", StandardVirtualHostFactory.TYPE, _host.getType()); - assertEquals("Unexpected store type", new BDBMessageStoreFactory().getType(), _host.getAttribute(VirtualHost.STORE_TYPE)); - assertEquals("Unexpected store path", _bdbStorePath.getAbsolutePath(), _host.getAttribute(VirtualHost.STORE_PATH)); - - BDBMessageStore messageStore = (BDBMessageStore) _host.getMessageStore(); - EnvironmentConfig envConfig = messageStore.getEnvironmentFacade().getEnvironment().getConfig(); - assertEquals("Unexpected JE log file max", String.valueOf(logFileMax), envConfig.getConfigParam(EnvironmentConfig.LOG_FILE_MAX)); - - } - - public void testCreateBdbHaVirtualHostFromConfigurationFile() + public void testCreateBdbHaVirtualHostFromConfigurationEntry() { - String hostName = getName(); - String repStreamTimeout = "2 h"; String nodeName = "node"; String groupName = "group"; String nodeHostPort = "localhost:" + findFreePort(); String helperHostPort = nodeHostPort; String durability = "NO_SYNC,SYNC,NONE"; - _host = createHaHostFromConfiguration(hostName, groupName, nodeName, nodeHostPort, helperHostPort, durability, repStreamTimeout); + String virtualHostName = getName(); + + Map<String, Object> messageStoreSettings = new HashMap<String, Object>(); + messageStoreSettings.put(ReplicatedEnvironmentFacadeFactory.NODE_NAME, nodeName); + messageStoreSettings.put(ReplicatedEnvironmentFacadeFactory.GROUP_NAME, groupName); + messageStoreSettings.put(ReplicatedEnvironmentFacadeFactory.NODE_ADDRESS, nodeHostPort); + messageStoreSettings.put(ReplicatedEnvironmentFacadeFactory.HELPER_ADDRESS, helperHostPort); + messageStoreSettings.put(ReplicatedEnvironmentFacadeFactory.DURABILITY, durability); + + messageStoreSettings.put(MessageStore.STORE_PATH, _bdbStorePath.getAbsolutePath()); + messageStoreSettings.put(ReplicatedEnvironmentFacadeFactory.REPLICATION_CONFIG, + Collections.singletonMap(ReplicationConfig.REP_STREAM_TIMEOUT, repStreamTimeout)); + + Map<String, Object> virtualHostAttributes = new HashMap<String, Object>(); + virtualHostAttributes.put(VirtualHost.NAME, virtualHostName); + virtualHostAttributes.put(VirtualHost.TYPE, BDBHAVirtualHostFactory.TYPE); + virtualHostAttributes.put(VirtualHost.MESSAGE_STORE_SETTINGS, messageStoreSettings); + + _host = createHost(virtualHostAttributes); _host.setDesiredState(State.INITIALISING, State.ACTIVE); - assertEquals("Unexpected host name", hostName, _host.getName()); + + assertEquals("Unexpected virtual host name", virtualHostName, _host.getName()); assertEquals("Unexpected host type", BDBHAVirtualHostFactory.TYPE, _host.getType()); - assertEquals("Unexpected store type", ReplicatedEnvironmentFacade.TYPE, _host.getAttribute(VirtualHost.STORE_TYPE)); - assertEquals("Unexpected store path", _bdbStorePath.getAbsolutePath(), _host.getAttribute(VirtualHost.STORE_PATH)); + + assertEquals(messageStoreSettings, _host.getMessageStoreSettings()); BDBMessageStore messageStore = (BDBMessageStore) _host.getMessageStore(); ReplicatedEnvironment environment = (ReplicatedEnvironment) messageStore.getEnvironmentFacade().getEnvironment(); - ReplicationConfig repConfig = environment.getRepConfig(); - assertEquals("Unexpected JE replication groupName", groupName, repConfig.getConfigParam(ReplicationConfig.GROUP_NAME)); - assertEquals("Unexpected JE replication nodeName", nodeName, repConfig.getConfigParam(ReplicationConfig.NODE_NAME)); - assertEquals("Unexpected JE replication nodeHostPort", nodeHostPort, repConfig.getConfigParam(ReplicationConfig.NODE_HOST_PORT)); - assertEquals("Unexpected JE replication nodeHostPort", helperHostPort, repConfig.getConfigParam(ReplicationConfig.HELPER_HOSTS)); - assertEquals("Unexpected JE replication nodeHostPort", "false", repConfig.getConfigParam(ReplicationConfig.DESIGNATED_PRIMARY)); - assertEquals("Unexpected JE replication stream timeout", repStreamTimeout, repConfig.getConfigParam(ReplicationConfig.REP_STREAM_TIMEOUT)); - } + ReplicationConfig replicationConfig = environment.getRepConfig(); - private VirtualHost createHost(Map<String, Object> attributes, Set<UUID> children) - { - ConfigurationEntry entry = new ConfigurationEntry(UUID.randomUUID(), VirtualHost.class.getSimpleName(), attributes, - children, _store); + assertEquals(nodeName, environment.getNodeName()); + assertEquals(groupName, environment.getGroup().getName()); + assertEquals(nodeHostPort, replicationConfig.getNodeHostPort()); + assertEquals(helperHostPort, replicationConfig.getHelperHosts()); + assertEquals(durability, environment.getConfig().getDurability().toString()); + assertEquals("Unexpected JE replication stream timeout", repStreamTimeout, replicationConfig.getConfigParam(ReplicationConfig.REP_STREAM_TIMEOUT)); - return new VirtualHostRecoverer(_statisticsGatherer).create(_recovererProvider, entry, _broker); } - private VirtualHost createHost(Map<String, Object> attributes) - { - return createHost(attributes, Collections.<UUID> emptySet()); - } - private VirtualHost createHostFromConfiguration(String hostName, long logFileMax) + private VirtualHost<?> createHost(Map<String, Object> attributes) { - String content = "<virtualhosts><virtualhost><name>" + hostName + "</name><" + hostName + ">" - + "<store><class>" + BDBMessageStore.class.getName() + "</class>" - + "<environment-path>" + _bdbStorePath.getAbsolutePath() + "</environment-path>" - + "<envConfig><name>" + EnvironmentConfig.LOG_FILE_MAX + "</name><value>" + logFileMax + "</value></envConfig>" - + "</store>" - + "</" + hostName + "></virtualhost></virtualhosts>"; - Map<String, Object> attributes = writeConfigAndGenerateAttributes(content); - return createHost(attributes); - } - + ConfigurationEntry entry = new ConfigurationEntry(UUID.randomUUID(), VirtualHost.class.getSimpleName(), attributes, + Collections.<UUID>emptySet(), _store); - private VirtualHost createHaHostFromConfiguration(String hostName, String groupName, String nodeName, String nodeHostPort, String helperHostPort, String durability, String repStreamTimeout) - { - String content = "<virtualhosts><virtualhost><name>" + hostName + "</name><" + hostName + ">" - + "<type>" + BDBHAVirtualHostFactory.TYPE + "</type>" - + "<store><class>" + BDBMessageStore.class.getName() + "</class>" - + "<environment-path>" + _bdbStorePath.getAbsolutePath() + "</environment-path>" - + "<highAvailability>" - + "<groupName>" + groupName + "</groupName>" - + "<nodeName>" + nodeName + "</nodeName>" - + "<nodeHostPort>" + nodeHostPort + "</nodeHostPort>" - + "<helperHostPort>" + helperHostPort + "</helperHostPort>" - + "<durability>" + durability.replaceAll(",", "\\\\,") + "</durability>" - + "</highAvailability>" - + "<repConfig><name>" + ReplicationConfig.REP_STREAM_TIMEOUT + "</name><value>" + repStreamTimeout + "</value></repConfig>" - + "</store>" - + "</" + hostName + "></virtualhost></virtualhosts>"; - Map<String, Object> attributes = writeConfigAndGenerateAttributes(content); - return createHost(attributes); + return new VirtualHostRecoverer(_statisticsGatherer).create(_recovererProvider, entry, _broker); } - private Map<String, Object> writeConfigAndGenerateAttributes(String content) - { - _configFile = TestFileUtils.createTempFile(this, ".virtualhost.xml", content); - Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(VirtualHost.NAME, getName()); - attributes.put(VirtualHost.CONFIG_PATH, _configFile.getAbsolutePath()); - return attributes; - } }
\ No newline at end of file |