Package com.taobao.metamorphosis.http

Source Code of com.taobao.metamorphosis.http.MetamorphosisOnJettyBrokerTest

/*
* (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.http;

import java.io.IOException;
import java.util.Properties;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

import com.meterware.httpunit.PostMethodWebRequest;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
import com.taobao.metamorphosis.server.assembly.MetaMorphosisBroker;
import com.taobao.metamorphosis.server.utils.MetaConfig;


@Ignore
public class MetamorphosisOnJettyBrokerTest {

    private static MetamorphosisOnJettyBroker broker = null;
    private static final Log logger = LogFactory.getLog(MetamorphosisOnJettyBrokerTest.class);
    private final String message = "testMetaOnJetty";


    @BeforeClass
    public static void setUp() throws IOException {
        final MetaConfig metaConfig = new MetaConfig();
        metaConfig.setBrokerId(100);
        metaConfig.setHostName("localhost");
        metaConfig.setServerPort(8199);

        broker = new MetamorphosisOnJettyBroker();
        final MetaMorphosisBroker metaBroker = new MetaMorphosisBroker(metaConfig);
        final Properties properites = new Properties();
        properites.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("jettyBroker.properties"));
        broker.init(metaBroker, properites);
        broker.start();
    }


    @Test
    public void testPutMessage() {
        logger.info("produce��Ϣ��");
        final WebConversation wc = new WebConversation();
        try {
            final WebRequest request =
                    new PostMethodWebRequest("http://localhost:8080/put?topic=test&partition=1&offset=1");
            request.setParameter("data", com.meterware.httpunit.Base64.encode("hello"));
            final WebResponse response = wc.getResource(request);
            logger.info(response.getText());
        }
        catch (final Exception e) {
            logger.error(e.getMessage(), e);
            assert false;
        }
    }


    @Test
    public void testGetMessage() {
        logger.info("consume��Ϣ��");
        final WebConversation wc = new WebConversation();
        try {
            final WebResponse wr = wc.getResponse("http://localhost:8080/get?topic=test&partition=1&offset=1");
            assert wr.getText().equals(this.message);
        }
        catch (final Exception e) {
            logger.error(e);
            assert false;
        }
    }


    @Test
    public void testGetOffset() {
        logger.info("�����Ϣ��offset��");
        final WebConversation wc = new WebConversation();
        try {
            final WebResponse wr = wc.getResponse("http://localhost:8080/offset?topic=test&partition=1&offset=1");
            logger.info(wr.getText());
        }
        catch (final Exception e) {
            logger.error(e);
            assert false;
        }
    }


    @AfterClass
    public static void tearDown() {
        broker.stop();
    }

}
TOP

Related Classes of com.taobao.metamorphosis.http.MetamorphosisOnJettyBrokerTest

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.