package org.marketcetera.modules.cep.esper; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.marketcetera.core.ExpectedTestFailure; import org.marketcetera.module.*; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Tests the {@link CEPEsperProcessor} module. * * @author anshul@marketcetera.com */ @ClassVersion("$Id: ParameterVerfiicationTest.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$ public class ParameterVerfiicationTest extends ModuleTestBase { private static ModuleURN TEST_URN = new ModuleURN(CEPEsperFactory.PROVIDER_URN, "toli"); private CEPEsperProcessor esperPr; @Before public void before() { esperPr = new CEPEsperProcessor(TEST_URN); } /** * Verifies failures when incorrect request parameters are provided. * * @throws Exception if there were unexpected failures. */ @Test public void invalidRequests_null() throws Exception { // null request new ExpectedFailure<IllegalRequestParameterValue>(org.marketcetera.module.Messages.ILLEGAL_REQ_PARM_VALUE, TEST_URN.getValue(), null) { protected void run() throws Exception{ esperPr.requestData(new DataRequest(TEST_URN, null), null); } }; } // what if we just send it an empty array as a request? @Test public void invalidRequests_EmptyArray() throws Exception { final String[] emptyParams = new String[0]; new ExpectedTestFailure(IllegalRequestParameterValue.class, org.marketcetera.module.Messages.ILLEGAL_REQ_PARM_VALUE.getText(TEST_URN.getValue(), emptyParams)) { protected void execute() throws Throwable { esperPr.requestData(new DataRequest(TEST_URN, emptyParams), null); } }.run(); } @Test public void invalidRequests_InvalidReq() throws Exception { // invalide syntax final String query = "v lesu rodilas yolochka"; esperPr.preStart(); new ExpectedTestFailure(IllegalRequestParameterValue.class) { protected void execute() throws Exception { esperPr.requestData(new DataRequest(TEST_URN, query), null); } }.run(); } @Test public void invalidRequests_Pattern() throws Exception { // invalid pattern syntax final String query = "p:v lesu rodilas yolochka"; esperPr.preStart(); new ExpectedTestFailure(IllegalRequestParameterValue.class) { protected void execute() throws Throwable { esperPr.requestData(new DataRequest(TEST_URN, query), null); } }.run(); } /** * Verifies the provider and module infos. * * @throws Exception if there were unexpected errors */ @Test public void providerInfo() throws Exception { assertProviderInfo(mManager, CEPEsperFactory.PROVIDER_URN, new String[]{ModuleURN.class.getName()}, new Class[]{ModuleURN.class}, Messages.PROVIDER_DESCRIPTION.getText(), true, true); } @Before public void setup() throws Exception { mManager = new ModuleManager(); mManager.init(); } @After public void cleanup() throws Exception { mManager.stop(); mManager = null; } private ModuleManager mManager; }