private void assertConcat(String c1, String c2, String c3) { EventBean event = testListener.getLastNewData()[0]; assertEquals(c1, event.get("c1")); assertEquals(c2, event.get("c2")); assertEquals(c3, event.get("c3")); testListener.reset(); }
private void runAssertionSingleMethod() { String fields[] = new String[] {"val"}; epService.getEPRuntime().sendEvent(new SupportBean("a", 2)); ArrayAssertionUtil.assertProps(listener.assertOneGetNewAndReset(), fields, new Object[] {8}); listener.reset(); }
private void runAssertion(long timestamp) { String[] fields = "engineURI,statementName".split(","); assertEquals(4, listener.getNewDataList().size()); EventBean[] received = listener.getNewDataListFlattened(); ArrayAssertionUtil.assertProps(received[0], fields, new Object[] {"MyURI", "cpuStmtOne"}); ArrayAssertionUtil.assertProps(received[1], fields, new Object[] {"MyURI", "cpuStmtTwo"}); ArrayAssertionUtil.assertProps(received[2], fields, new Object[] {"MyURI", "wallStmtThree"}); ArrayAssertionUtil.assertProps(received[3], fields, new Object[] {"MyURI", "wallStmtFour"}); long cpuOne = (Long) received[0].get("cpuTime"); long cpuTwo = (Long) received[1].get("cpuTime"); long wallOne = (Long) received[2].get("wallTime"); long wallTwo = (Long) received[3].get("wallTime"); assertTrue("cpuOne=" + cpuOne, cpuOne > cpuGoalOneNano); assertTrue("cpuTwo=" + cpuTwo, cpuTwo > cpuGoalTwoNano); assertTrue("wallOne=" + wallOne, (wallOne + 50) > wallGoalOneMsec); assertTrue("wallTwo=" + wallTwo, (wallTwo + 50) > wallGoalTwoMsec); for (int i = 0; i < 4; i++) { assertEquals(1L, received[i].get("numOutputIStream")); assertEquals(0L, received[i].get("numOutputRStream")); assertEquals(timestamp, received[i].get("timestamp")); } listener.reset(); }
public void testOperators() { String viewExpr = "select longBoxed % intBoxed as myMod " + " from " + SupportBean.class.getName() + ".win:length(3) where not(longBoxed > intBoxed)"; selectTestView = epService.getEPAdministrator().createEPL(viewExpr); selectTestView.addListener(testListener); sendEvent(1, 1, (short) 0); assertEquals(0l, testListener.getLastNewData()[0].get("myMod")); testListener.reset(); sendEvent(2, 1, (short) 0); assertFalse(testListener.getAndClearIsInvoked()); sendEvent(2, 3, (short) 0); assertEquals(2l, testListener.getLastNewData()[0].get("myMod")); testListener.reset(); }
public void testMinMaxWindowStats_Compile() throws Exception { String viewExpr = "select max(longBoxed, intBoxed) as myMax, " + "max(longBoxed, intBoxed, shortBoxed) as myMaxEx, " + "min(longBoxed, intBoxed) as myMin, " + "min(longBoxed, intBoxed, shortBoxed) as myMinEx" + " from " + SupportBean.class.getName() + ".win:length(3)"; EPStatementObjectModel model = epService.getEPAdministrator().compileEPL(viewExpr); model = (EPStatementObjectModel) SerializableObjectCopier.copy(model); assertEquals(viewExpr, model.toEPL()); selectTestView = epService.getEPAdministrator().create(model); selectTestView.addListener(testListener); testListener.reset(); runMinMaxWindowStats(); }
public void testMinMaxWindowStats_OM() throws Exception { String viewExpr = "select max(longBoxed, intBoxed) as myMax, " + "max(longBoxed, intBoxed, shortBoxed) as myMaxEx, " + "min(longBoxed, intBoxed) as myMin, " + "min(longBoxed, intBoxed, shortBoxed) as myMinEx" + " from " + SupportBean.class.getName() + ".win:length(3)"; EPStatementObjectModel model = new EPStatementObjectModel(); model.setSelectClause( SelectClause.create() .add(Expressions.max("longBoxed", "intBoxed"), "myMax") .add( Expressions.max( Expressions.property("longBoxed"), Expressions.property("intBoxed"), Expressions.property("shortBoxed")), "myMaxEx") .add(Expressions.min("longBoxed", "intBoxed"), "myMin") .add( Expressions.min( Expressions.property("longBoxed"), Expressions.property("intBoxed"), Expressions.property("shortBoxed")), "myMinEx")); model.setFromClause( FromClause.create( FilterStream.create(SupportBean.class.getName()) .addView("win", "length", Expressions.constant(3)))); model = (EPStatementObjectModel) SerializableObjectCopier.copy(model); assertEquals(viewExpr, model.toEPL()); selectTestView = epService.getEPAdministrator().create(model); selectTestView.addListener(testListener); testListener.reset(); runMinMaxWindowStats(); }
public void testMinMaxWindowStats() { setUpMinMax(); testListener.reset(); runMinMaxWindowStats(); }
public void testEnabledDisableStatement() { String[] fields = new String[] {"statementName"}; EPStatement[] statements = new EPStatement[5]; Configuration config = getConfig(-1, 10000, true); ConfigurationMetricsReporting.StmtGroupMetrics configOne = new ConfigurationMetricsReporting.StmtGroupMetrics(); configOne.setInterval(-1); configOne.addIncludeLike("%@METRIC%"); config.getEngineDefaults().getMetricsReporting().addStmtGroup("metrics", configOne); epService = EPServiceProviderManager.getProvider("MyURI", config); epService.initialize(); sendTimer(1000); statements[0] = epService .getEPAdministrator() .createEPL("select * from " + StatementMetric.class.getName(), "MyStatement@METRIC"); statements[0].addListener(listenerStmtMetric); statements[1] = epService .getEPAdministrator() .createEPL( "select * from SupportBean(intPrimitive=1).win:keepall() where 2=2", "stmtone"); sendEvent("E1", 1, cpuGoalOneNano); statements[2] = epService .getEPAdministrator() .createEPL( "select * from SupportBean(intPrimitive>0).std:lastevent() where 1=1", "stmttwo"); sendEvent("E2", 1, cpuGoalOneNano); sendTimer(11000); ArrayAssertionUtil.assertPropsPerRow( listenerStmtMetric.getNewDataListFlattened(), fields, new Object[][] {{"stmtone"}, {"stmttwo"}}); listenerStmtMetric.reset(); sendEvent("E1", 1, cpuGoalOneNano); sendTimer(21000); ArrayAssertionUtil.assertPropsPerRow( listenerStmtMetric.getNewDataListFlattened(), fields, new Object[][] {{"stmtone"}, {"stmttwo"}}); listenerStmtMetric.reset(); epService.getEPAdministrator().getConfiguration().setMetricsReportingStmtDisabled("stmtone"); sendEvent("E1", 1, cpuGoalOneNano); sendTimer(31000); ArrayAssertionUtil.assertPropsPerRow( listenerStmtMetric.getNewDataListFlattened(), fields, new Object[][] {{"stmttwo"}}); listenerStmtMetric.reset(); epService.getEPAdministrator().getConfiguration().setMetricsReportingStmtEnabled("stmtone"); epService.getEPAdministrator().getConfiguration().setMetricsReportingStmtDisabled("stmttwo"); sendEvent("E1", 1, cpuGoalOneNano); sendTimer(41000); ArrayAssertionUtil.assertPropsPerRow( listenerStmtMetric.getNewDataListFlattened(), fields, new Object[][] {{"stmtone"}}); listenerStmtMetric.reset(); }
public void testRevisionGen() { Random random = new Random(); Map<String, Map<String, String>> last = new HashMap<String, Map<String, String>>(); int count = 0; String[] groups = new String[] {"K0", "K1", "K2", "K4"}; EPStatement consumerOne = epService.getEPAdministrator().createEPL("select * from RevQuote"); consumerOne.addListener(listenerOne); for (int i = 0; i < groups.length; i++) { String key = groups[i]; Object event = new SupportRevisionFull( key, "0-" + next(count), "1-" + next(count), "2-" + next(count), "3-" + next(count), "4-" + next(count), "5-" + next(count)); add( last, key, "0-" + next(count), "1-" + next(count), "2-" + next(count), "3-" + next(count), "4-" + next(count), "5-" + next(count)); epService.getEPRuntime().sendEvent(event); } listenerOne.reset(); for (int i = 0; i < 10000; i++) { if (i % 20000 == 0) { log.debug(".testRevisionGen Loop " + i); } int typeNum = random.nextInt(6); String key = groups[random.nextInt(groups.length)]; count++; Object event; if (typeNum == 0) { event = new SupportRevisionFull( key, "0-" + next(count), "1-" + next(count), "2-" + next(count), "3-" + next(count), "4-" + next(count), "5-" + next(count)); add( last, key, "0-" + next(count), "1-" + next(count), "2-" + next(count), "3-" + next(count), "4-" + next(count), "5-" + next(count)); } else if (typeNum == 1) { event = new SupportDeltaOne(key, "1-" + next(count), "5-" + next(count)); add(last, key, null, "1-" + next(count), null, null, null, "5-" + next(count)); } else if (typeNum == 2) { event = new SupportDeltaTwo(key, "0-" + next(count), "2-" + next(count), "3-" + next(count)); add( last, key, "0-" + next(count), null, "2-" + next(count), "3-" + next(count), null, null); } else if (typeNum == 3) { event = new SupportDeltaThree(key, "0-" + next(count), "4-" + next(count)); add(last, key, "0-" + next(count), null, null, null, "4-" + next(count), null); } else if (typeNum == 4) { event = new SupportDeltaFour(key, "0-" + next(count), "2-" + next(count), "5-" + next(count)); add( last, key, "0-" + next(count), null, "2-" + next(count), null, null, "5-" + next(count)); } else if (typeNum == 5) { event = new SupportDeltaFive(key, "1-" + next(count), "5-" + next(count)); add(last, key, null, "1-" + next(count), null, null, null, "5-" + next(count)); } else { throw new IllegalStateException(); } epService.getEPRuntime().sendEvent(event); assertEvent(last, listenerOne.assertOneGetNewAndReset(), count); } }
public void testOnDelete() { EPStatement consumerOne = epService.getEPAdministrator().createEPL("select irstream * from RevQuote"); consumerOne.addListener(listenerOne); epService .getEPAdministrator() .createEPL("on SupportBean(intPrimitive=2) as sb delete from RevQuote where string = p2"); log("a00"); epService .getEPRuntime() .sendEvent(new SupportRevisionFull("a", "a00", "a10", "a20", "a30", "a40", "a50")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"a", "a00", "a10", "a20", "a30", "a40", "a50"}); epService.getEPRuntime().sendEvent(new SupportDeltaThree("x", "03", "41")); assertFalse(listenerOne.isInvoked()); epService .getEPAdministrator() .createEPL("on SupportBean(intPrimitive=3) as sb delete from RevQuote where string = p3"); log("b00"); epService .getEPRuntime() .sendEvent(new SupportRevisionFull("b", "b00", "b10", "b20", "b30", "b40", "b50")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"b", "b00", "b10", "b20", "b30", "b40", "b50"}); log("a01"); epService.getEPRuntime().sendEvent(new SupportDeltaThree("a", "a01", "a41")); ArrayAssertionUtil.assertProps( listenerOne.getLastNewData()[0], fields, new Object[] {"a", "a01", "a10", "a20", "a30", "a41", "a50"}); ArrayAssertionUtil.assertProps( listenerOne.getLastOldData()[0], fields, new Object[] {"a", "a00", "a10", "a20", "a30", "a40", "a50"}); listenerOne.reset(); log("c00"); epService .getEPRuntime() .sendEvent(new SupportRevisionFull("c", "c00", "c10", "c20", "c30", "c40", "c50")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"c", "c00", "c10", "c20", "c30", "c40", "c50"}); epService .getEPAdministrator() .createEPL("on SupportBean(intPrimitive=0) as sb delete from RevQuote where string = p0"); log("c11"); epService.getEPRuntime().sendEvent(new SupportDeltaFive("c", "c11", "c51")); ArrayAssertionUtil.assertProps( listenerOne.getLastNewData()[0], fields, new Object[] {"c", "c00", "c11", "c20", "c30", "c40", "c51"}); ArrayAssertionUtil.assertProps( listenerOne.getLastOldData()[0], fields, new Object[] {"c", "c00", "c10", "c20", "c30", "c40", "c50"}); listenerOne.reset(); epService .getEPAdministrator() .createEPL("on SupportBean(intPrimitive=1) as sb delete from RevQuote where string = p1"); log("d00"); epService .getEPRuntime() .sendEvent(new SupportRevisionFull("d", "d00", "d10", "d20", "d30", "d40", "d50")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"d", "d00", "d10", "d20", "d30", "d40", "d50"}); log("d01"); epService.getEPRuntime().sendEvent(new SupportDeltaFour("d", "d01", "d21", "d51")); ArrayAssertionUtil.assertProps( listenerOne.getLastNewData()[0], fields, new Object[] {"d", "d01", "d10", "d21", "d30", "d40", "d51"}); ArrayAssertionUtil.assertProps( listenerOne.getLastOldData()[0], fields, new Object[] {"d", "d00", "d10", "d20", "d30", "d40", "d50"}); listenerOne.reset(); ArrayAssertionUtil.assertEqualsExactOrder( stmtCreateWin.iterator(), fields, new Object[][] { {"b", "b00", "b10", "b20", "b30", "b40", "b50"}, {"a", "a01", "a10", "a20", "a30", "a41", "a50"}, {"c", "c00", "c11", "c20", "c30", "c40", "c51"}, {"d", "d01", "d10", "d21", "d30", "d40", "d51"} }); epService .getEPAdministrator() .createEPL("on SupportBean(intPrimitive=4) as sb delete from RevQuote where string = p4"); epService.getEPRuntime().sendEvent(new SupportBean("abc", 1)); assertFalse(listenerOne.isInvoked()); log("delete b"); epService.getEPRuntime().sendEvent(new SupportBean("b40", 4)); // delete b ArrayAssertionUtil.assertProps( listenerOne.assertOneGetOldAndReset(), fields, new Object[] {"b", "b00", "b10", "b20", "b30", "b40", "b50"}); ArrayAssertionUtil.assertEqualsExactOrder( stmtCreateWin.iterator(), fields, new Object[][] { {"a", "a01", "a10", "a20", "a30", "a41", "a50"}, {"c", "c00", "c11", "c20", "c30", "c40", "c51"}, {"d", "d01", "d10", "d21", "d30", "d40", "d51"} }); log("delete d"); epService.getEPRuntime().sendEvent(new SupportBean("d21", 2)); // delete d ArrayAssertionUtil.assertProps( listenerOne.assertOneGetOldAndReset(), fields, new Object[] {"d", "d01", "d10", "d21", "d30", "d40", "d51"}); ArrayAssertionUtil.assertEqualsExactOrder( stmtCreateWin.iterator(), fields, new Object[][] { {"a", "a01", "a10", "a20", "a30", "a41", "a50"}, {"c", "c00", "c11", "c20", "c30", "c40", "c51"} }); log("delete a"); epService.getEPRuntime().sendEvent(new SupportBean("a30", 3)); // delete a ArrayAssertionUtil.assertProps( listenerOne.assertOneGetOldAndReset(), fields, new Object[] {"a", "a01", "a10", "a20", "a30", "a41", "a50"}); ArrayAssertionUtil.assertEqualsExactOrder( stmtCreateWin.iterator(), fields, new Object[][] {{"c", "c00", "c11", "c20", "c30", "c40", "c51"}}); log("delete c"); epService.getEPRuntime().sendEvent(new SupportBean("c11", 1)); // delete c ArrayAssertionUtil.assertProps( listenerOne.assertOneGetOldAndReset(), fields, new Object[] {"c", "c00", "c11", "c20", "c30", "c40", "c51"}); ArrayAssertionUtil.assertEqualsExactOrder(stmtCreateWin.iterator(), fields, null); epService.getEPRuntime().sendEvent(new SupportBean("c11", 1)); assertFalse(listenerOne.isInvoked()); }
public void testRevision() { EPStatement consumerOne = epService.getEPAdministrator().createEPL("select * from RevQuote"); consumerOne.addListener(listenerOne); EPStatement consumerTwo = epService .getEPAdministrator() .createEPL( "select k0, count(*) as count, sum(Long.parseLong(p0)) as sum from RevQuote group by k0"); consumerTwo.addListener(listenerTwo); EPStatement consumerThree = epService.getEPAdministrator().createEPL("select * from RevQuote output every 2 events"); consumerThree.addListener(listenerThree); String[] agg = "k0,count,sum".split(","); epService .getEPRuntime() .sendEvent(new SupportRevisionFull("k00", "01", "p10", "20", "p30", "40", "50")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "01", "p10", "20", "p30", "40", "50"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "01", "p10", "20", "p30", "40", "50"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 1L}); assertFalse(listenerThree.isInvoked()); epService.getEPRuntime().sendEvent(new SupportDeltaThree("k00", "03", "41")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "03", "p10", "20", "p30", "41", "50"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "03", "p10", "20", "p30", "41", "50"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 3L}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[0], fields, new Object[] {"k00", "01", "p10", "20", "p30", "40", "50"}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[1], fields, new Object[] {"k00", "03", "p10", "20", "p30", "41", "50"}); listenerThree.reset(); epService.getEPRuntime().sendEvent(new SupportDeltaOne("k00", "p11", "51")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "03", "p11", "20", "p30", "41", "51"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "03", "p11", "20", "p30", "41", "51"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 3L}); assertFalse(listenerThree.isInvoked()); epService.getEPRuntime().sendEvent(new SupportDeltaTwo("k00", "04", "21", "p31")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "04", "p11", "21", "p31", "41", "51"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "04", "p11", "21", "p31", "41", "51"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 4L}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[0], fields, new Object[] {"k00", "03", "p11", "20", "p30", "41", "51"}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[1], fields, new Object[] {"k00", "04", "p11", "21", "p31", "41", "51"}); listenerThree.reset(); epService.getEPRuntime().sendEvent(new SupportDeltaFour("k00", "05", "22", "52")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "05", "p11", "22", "p31", "41", "52"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "05", "p11", "22", "p31", "41", "52"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 5L}); assertFalse(listenerThree.isInvoked()); epService.getEPRuntime().sendEvent(new SupportDeltaFive("k00", "p12", "53")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "05", "p12", "22", "p31", "41", "53"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "05", "p12", "22", "p31", "41", "53"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 5L}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[0], fields, new Object[] {"k00", "05", "p11", "22", "p31", "41", "52"}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[1], fields, new Object[] {"k00", "05", "p12", "22", "p31", "41", "53"}); listenerThree.reset(); epService .getEPRuntime() .sendEvent(new SupportRevisionFull("k00", "06", "p13", "23", "p32", "42", "54")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "06", "p13", "23", "p32", "42", "54"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "06", "p13", "23", "p32", "42", "54"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 6L}); assertFalse(listenerThree.isInvoked()); epService.getEPRuntime().sendEvent(new SupportDeltaOne("k00", "p14", "55")); ArrayAssertionUtil.assertProps( listenerOne.assertOneGetNewAndReset(), fields, new Object[] {"k00", "06", "p14", "23", "p32", "42", "55"}); ArrayAssertionUtil.assertProps( stmtCreateWin.iterator().next(), fields, new Object[] {"k00", "06", "p14", "23", "p32", "42", "55"}); ArrayAssertionUtil.assertProps( listenerTwo.assertOneGetNewAndReset(), agg, new Object[] {"k00", 1L, 6L}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[0], fields, new Object[] {"k00", "06", "p13", "23", "p32", "42", "54"}); ArrayAssertionUtil.assertProps( listenerThree.getLastNewData()[1], fields, new Object[] {"k00", "06", "p14", "23", "p32", "42", "55"}); listenerThree.reset(); }