Package com.taobao.metamorphosis.server

Source Code of com.taobao.metamorphosis.server.MetamorphosisStartupUnitTest

/*
* (C) 2007-2012 Alibaba Group Holding Limited.
*
* 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.
* Authors:
*   wuhua <wq163@163.com> , boyan <killme2008@gmail.com>
*/
package com.taobao.metamorphosis.server;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.io.File;
import java.util.Map;

import org.junit.Test;

import com.taobao.gecko.core.util.ResourcesUtils;
import com.taobao.metamorphosis.server.exception.MetamorphosisServerStartupException;
import com.taobao.metamorphosis.server.utils.MetaConfig;
import com.taobao.metamorphosis.server.utils.TopicConfig;


public class MetamorphosisStartupUnitTest {

    @Test(expected = MetamorphosisServerStartupException.class)
    public void testGetConfigFilePathOneArgs() {
        final String[] args = { "-f" };
        MetamorphosisStartup.getConfigFilePath(args);
    }


    @Test(expected = MetamorphosisServerStartupException.class)
    public void testGetConfigFilePathBlankArgs() {
        final String[] args = { "-f", "" };
        MetamorphosisStartup.getConfigFilePath(args);
    }


    @Test
    public void testGetConfigFilePath() {
        final String[] args = { "-f", "server.test" };
        assertEquals("server.test", MetamorphosisStartup.getConfigFilePath(args));
    }


    @Test
    public void testGetMetaConfig() throws Exception {
        final File file = ResourcesUtils.getResourceAsFile("server.ini");
        final MetaConfig config = MetamorphosisStartup.getMetaConfig(file.getAbsolutePath());
        assertEquals(1111, config.getBrokerId());
        assertEquals("test.localhost", config.getHostName());
        assertEquals(10, config.getNumPartitions());
        assertEquals(8124, config.getServerPort());
        assertEquals("/home/admin", config.getDataPath());
        assertEquals("/home/datalog", config.getDataLogPath());
        assertEquals(10000, config.getUnflushThreshold());
        assertEquals(100000, config.getUnflushInterval());
        assertEquals(1024 * 1024 * 1024, config.getMaxSegmentSize());
        assertEquals(1024 * 1024, config.getMaxTransferSize());
        assertEquals(90, config.getGetProcessThreadCount());
        assertEquals(90, config.getPutProcessThreadCount());
        assertEquals(2, config.getTopics().size());
        assertTrue(config.getTopics().contains("test1"));
        assertTrue(config.getTopics().contains("test2"));

        final Map<String, TopicConfig> topicConfigs = config.getTopicConfigMap();
        assertEquals(2, topicConfigs.size());
        assertEquals(11, topicConfigs.get("test1").getNumPartitions());
        assertEquals(13, topicConfigs.get("test2").getNumPartitions());

        assertEquals("delete,77", config.getTopicConfig("test1").getDeletePolicy());

        assertEquals("127.0.0.1:2181", config.getZkConfig().zkConnect);
        assertEquals(30000, config.getZkConfig().zkSessionTimeoutMs);
        assertEquals(40000, config.getZkConfig().zkConnectionTimeoutMs);
        assertEquals(5000, config.getZkConfig().zkSyncTimeMs);

        assertEquals("delete,999", config.getDeletePolicy());

        final TopicConfig topicConfig1 = config.getTopicConfig("test1");
        final TopicConfig topicConfig2 = config.getTopicConfig("test2");
        assertEquals("/home/admin", topicConfig1.getDataPath());
        assertEquals("/test2", topicConfig2.getDataPath());
        assertFalse(topicConfig1.isStat());
        assertTrue(topicConfig2.isStat());
    }
}
TOP

Related Classes of com.taobao.metamorphosis.server.MetamorphosisStartupUnitTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.