//
// Copyright 2010 Cinch Logic Pty Ltd.
//
// http://www.chililog.com
//
// Licensed 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.chililog.server.common;
import static org.junit.Assert.*;
import java.net.UnknownHostException;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.chililog.server.common.AppProperties;
import org.chililog.server.common.SystemProperties;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* JUnit test cases for <code>AppProperties</code>
*
* @author vibul
*
*/
public class AppPropertiesTest {
private static Logger _logger = Logger.getLogger(AppPropertiesTest.class);
@BeforeClass
public static void testClassInit() throws Exception {
// Reload properties
SystemProperties.getInstance().loadProperties();
}
@Before
@After
public void testCleanup() throws Exception {
// Reload properties so that we start with default
SystemProperties.getInstance().loadProperties();
}
@Test
public void testDbIpAddress() throws UnknownHostException {
String s = AppProperties.getInstance().getDbIpAddress();
assertEquals("localhost", s);
}
@Test
public void testDbIpPort() throws UnknownHostException {
int s = AppProperties.getInstance().getDbIpPort();
assertEquals(27017, s);
}
@Test
public void testDbName() throws UnknownHostException {
String s = AppProperties.getInstance().getDbName();
assertEquals("chililog", s);
}
@Test
public void testDbUserName() throws UnknownHostException {
String s = AppProperties.getInstance().getDbUserName();
assertEquals("chililog", s);
}
@Test
public void testDbPassowrd() throws UnknownHostException {
String s = AppProperties.getInstance().getDbPassword();
assertEquals("chililog12", s);
}
@Test
public void testDbConnectionsPerHost() throws UnknownHostException {
int i = AppProperties.getInstance().getDbConnectionsPerHost();
assertEquals(10, i);
}
@Test
public void testMqJournallingEnabled() throws UnknownHostException {
assertFalse(AppProperties.getInstance().getMqJournallingEnabled());
}
@Test
public void testMqJournalDirectory() throws UnknownHostException {
String s = AppProperties.getInstance().getMqJournalDirectory();
assertEquals("/tmp/chililog/journal", s);
}
@Test
public void testMqPagingDirectory() throws UnknownHostException {
String s = AppProperties.getInstance().getMqPagingDirectory();
assertEquals("/tmp/chililog/paging", s);
}
@Test
public void testMqSecurityInvalidationInterval() throws UnknownHostException {
int i = AppProperties.getInstance().getMqSecurityInvalidationInterval();
assertEquals(0, i);
}
@Test
public void testMqClusteredEnabled() throws UnknownHostException {
assertFalse(AppProperties.getInstance().getMqClusteredEnabled());
}
@Test
public void testMqRedeliveryMaxAttempts() throws UnknownHostException {
assertEquals(3, AppProperties.getInstance().getMqRedeliveryMaxAttempts());
}
@Test
public void testMqRedeliveryDelayMilliSeconds() throws UnknownHostException {
assertEquals(3000, AppProperties.getInstance().getMqRedeliveryDelayMilliseconds());
}
@Test
public void testPubSubCoreProtocolEnabled() throws UnknownHostException {
assertTrue(AppProperties.getInstance().getPubSubCoreProtocolEnabled());
}
@Test
public void testPubSubJsonHttpEnabled() throws UnknownHostException {
assertTrue(AppProperties.getInstance().getPubSubJsonHttpEnabled());
}
@Test
public void testPubSubJsonHttpHost() throws UnknownHostException {
String s = AppProperties.getInstance().getPubSubJsonHttpHost();
assertEquals("0.0.0.0", s);
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.PUB_SUB_JSON_HTTP_HOST));
}
@Test
public void testPubSubJsonHttpPort() throws UnknownHostException {
int s = AppProperties.getInstance().getPubSubJsonHttpPort();
assertEquals(61615, s);
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.PUB_SUB_JSON_HTTP_PORT));
}
@Test
public void testPubSubJsonHttpNettyWorkerThreadPoolSize() throws UnknownHostException {
int s = AppProperties.getInstance().getPubSubJsonHttpNettyWorkerThreadPoolSize();
assertEquals(0, s);
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.PUB_SUB_JSON_HTTP_NETTY_WORKER_THREAD_POOL_SIZE));
}
@Test
public void testPubSubJsonHttpNettyHandlerThreadPoolSize() throws UnknownHostException {
int s = AppProperties.getInstance().getPubSubJsonHttpNettyHandlerThreadPoolSize();
assertEquals(16, s);
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.PUB_SUB_JSON_HTTP_NETTY_HANDLER_THREAD_POOL_SIZE));
}
@Test
public void testPubSubJsonHttpSSLEnabled() throws UnknownHostException {
boolean b = AppProperties.getInstance().getPubSubJsonHttpSslEnabled();
assertFalse(b);
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.PUB_SUB_JSON_HTTP_SSL_ENABLED));
}
@Test
public void testPubSubJsonHttpKeyStorePath() throws UnknownHostException {
String s = AppProperties.getInstance().getPubSubJsonHttpKeyStorePath();
assertTrue(StringUtils.isBlank(s));
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.PUB_SUB_JSON_HTTP_KEY_STORE_PATH));
}
@Test
public void testPubSubJsonHttpKeyStorePassword() throws UnknownHostException {
String s = AppProperties.getInstance().getPubSubJsonHttpKeyStorePassword();
assertTrue(StringUtils.isBlank(s));
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.PUB_SUB_JSON_HTTP_KEY_STORE_PASSWORD));
}
@Test
public void testPubSubJsonHttpKeyStoreKeyPassword() throws UnknownHostException {
String s = AppProperties.getInstance().getPubSubJsonHttpKeyStoreKeyPassword();
assertTrue(StringUtils.isBlank(s));
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.PUB_SUB_JSON_HTTP_KEY_STORE_KEY_PASSWORD));
}
@Test
public void testWorkbenchEnabled() throws UnknownHostException {
assertTrue(AppProperties.getInstance().getWorkbenchEnabled());
}
@Test
public void testWorkbenchHost() throws UnknownHostException {
String s = AppProperties.getInstance().getWorkbenchHost();
assertEquals("0.0.0.0", s);
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_HOST));
}
@Test
public void testWorkbenchPort() throws UnknownHostException {
int s = AppProperties.getInstance().getWorkbenchPort();
assertEquals(8989, s);
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_PORT));
}
@Test
public void testWorkbenchNettyWorkerThreadPoolSize() throws UnknownHostException {
int s = AppProperties.getInstance().getWorkbenchNettyWorkerThreadPoolSize();
assertEquals(0, s);
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_NETTY_WORKER_THREAD_POOL_SIZE));
}
@Test
public void testWorkbenchNettyHandlerThreadPoolSize() throws UnknownHostException {
int s = AppProperties.getInstance().getWorkbenchNettyHandlerThreadPoolSize();
assertEquals(16, s);
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_NETTY_HANDLER_THREAD_POOL_SIZE));
}
@Test
public void testWorkbenchNettyHandlerThreadPoolMaxChannelMemorySize() throws UnknownHostException {
long s = AppProperties.getInstance().getWorkbenchNettyHandlerThreadPoolMaxChannelMemorySize();
assertEquals(0, s);
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.WORKBENCH_NETTY_HANDLER_THREAD_POOL_MAX_CHANNEL_MEMORY_SIZE));
}
@Test
public void testWorkbenchNettyHandlerThreadPoolMaxTotalMemorySize() throws UnknownHostException {
long s = AppProperties.getInstance().getWorkbenchNettyHandlerThreadPoolMaxTotalMemorySize();
assertEquals(0, s);
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.WORKBENCH_NETTY_HANDLER_THREAD_POOL_MAX_TOTAL_MEMORY_SIZE));
}
@Test
public void testWorkbenchNettyHandlerThreadPoolKeepAliveSeconds() throws UnknownHostException {
int s = AppProperties.getInstance().getWorkbenchNettyHandlerThreadPoolKeepAliveSeconds();
assertEquals(3, s);
assertTrue(AppProperties.getInstance().toString()
.contains(AppProperties.WORKBENCH_NETTY_HANDLER_THREAD_POOL_KEEP_ALIVE_SECONDS));
}
@Test
public void testWorkbenchSSLEnabled() throws UnknownHostException {
boolean b = AppProperties.getInstance().getWorkbenchSslEnabled();
assertFalse(b);
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_SSL_ENABLED));
}
@Test
public void testWorkbenchKeyStorePath() throws UnknownHostException {
String s = AppProperties.getInstance().getWorkbenchKeyStorePath();
assertTrue(StringUtils.isBlank(s));
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_KEY_STORE_PATH));
}
@Test
public void testWorkbenchKeyStorePassword() throws UnknownHostException {
String s = AppProperties.getInstance().getWorkbenchKeyStorePassword();
assertTrue(StringUtils.isBlank(s));
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_KEY_STORE_PASSWORD));
}
@Test
public void testWorkbenchKeyStoreKeyPassword() throws UnknownHostException {
String s = AppProperties.getInstance().getWorkbenchKeyStoreKeyPassword();
assertTrue(StringUtils.isBlank(s));
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_KEY_STORE_KEY_PASSWORD));
}
@Test
public void testWorkbenchKeyStaticFilesDirectory() throws UnknownHostException {
String s = AppProperties.getInstance().getWorkbenchStaticFilesDirectory();
assertTrue(s.equals("./src/main/sc2") || s.equals("../workbench")); // cater for debug and release builds
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_STATIC_FILES_DIRECTORY));
}
@Test
public void testWorkbenchStaticFilesCacheSeconds() throws UnknownHostException {
int s = AppProperties.getInstance().getWorkbenchStaticFilesCacheSeconds();
assertTrue(s == 3 || s == 31535000); // cater for debug and release builds
assertTrue(AppProperties.getInstance().toString().contains(AppProperties.WORKBENCH_STATIC_FILES_CACHE_SECONDS));
}
@Test
public void testToString() {
String s = AppProperties.getInstance().toString();
assertTrue(StringUtils.isNotBlank(s));
_logger.debug("\n" + s);
}
}