/* *************************************************************************************** * Copyright (C) 2006 EsperTech, Inc. All rights reserved. * * http://www.espertech.com/esper * * http://www.espertech.com * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the GPL license * * a copy of which has been included with this distribution in the license.txt file. * *************************************************************************************** */ package com.espertech.esperio.http; import com.espertech.esper.client.Configuration; import com.espertech.esper.client.EPServiceProvider; import com.espertech.esper.client.EPServiceProviderManager; import com.espertech.esper.client.EPStatement; import com.espertech.esper.client.scopetest.SupportUpdateListener; import com.espertech.esperio.http.config.ConfigurationHTTPAdapter; import com.espertech.esperio.http.config.Request; import junit.framework.TestCase; public class TestHTTPAdapterOutput extends TestCase { private final static String ENGINE_URI = "TestHTTPAdapterOutput"; private SupportUpdateListener listener; public void setUp() throws Exception { listener = new SupportUpdateListener(); } public void testRequest() throws Exception { ConfigurationHTTPAdapter adapterConfig = new ConfigurationHTTPAdapter(); Request requestOne = new Request(); requestOne.setStream("SupportBean"); requestOne.setUri("http://localhost:8078/root"); adapterConfig.getRequests().add(requestOne); Request requestTwo = new Request(); requestTwo.setStream("SupportBean"); requestTwo.setUri("http://localhost:8077/root/${stream}/${stringProp}/${intProp}"); adapterConfig.getRequests().add(requestTwo); EsperIOHTTPAdapter adapter = new EsperIOHTTPAdapter(adapterConfig, ENGINE_URI); Configuration engineConfig = new Configuration(); engineConfig.addEventType("SupportBean", SupportBean.class); engineConfig.addEventType("SupportBeanTwo", SupportBeanTwo.class); EPServiceProvider provider = EPServiceProviderManager.getProvider(ENGINE_URI, engineConfig); adapter.start(); EPStatement stmt = provider.getEPAdministrator().createEPL("insert into SupportBean select id as stringProp, 5 as intProp from SupportBeanTwo"); stmt.addListener(listener); SupportHTTPServer server8078 = new SupportHTTPServer(8078); server8078.start(); provider.getEPRuntime().sendEvent(new SupportBeanTwo("E1")); assertEquals(1, SupportHTTPServerReqestHandler.getTargets().size()); assertEquals("/root?stream=SupportBean&intProp=5&stringProp=E1", SupportHTTPServerReqestHandler.getAndResetTargets().get(0)); provider.getEPRuntime().sendEvent(new SupportBeanTwo("E3")); assertEquals("/root?stream=SupportBean&intProp=5&stringProp=E3", SupportHTTPServerReqestHandler.getAndResetTargets().get(0)); server8078.stop(); Thread.sleep(5000); SupportHTTPServer server8077 = new SupportHTTPServer(8077); server8077.start(); provider.getEPRuntime().sendEvent(new SupportBeanTwo("E2")); assertEquals(1, SupportHTTPServerReqestHandler.getTargets().size()); assertEquals("/root/SupportBean/E2/5", SupportHTTPServerReqestHandler.getAndResetTargets().get(0)); provider.getEPRuntime().sendEvent(new SupportBeanTwo("E4")); assertEquals("/root/SupportBean/E4/5", SupportHTTPServerReqestHandler.getAndResetTargets().get(0)); server8077.stop(); adapter.destroy(); provider.destroy(); } }