Ejemplo n.º 1
0
        public void TestRouteSingle()
        {
            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.EndTest();
            }                                                                       // excluded

            var viewExpr    = "every tag=" + typeof(SupportBean).FullName;
            var patternStmt = _epService.EPAdministrator.CreatePattern(viewExpr);

            var listener = new SingleRouteUpdateListener {
                RouteEvent = RouteEvent
            };

            patternStmt.Events += listener.Update;

            // Send first event that triggers the loop
            SendEvent(0);

            // Should have fired X times
            Assert.AreEqual(1000, listener.Count);

            // test route map and XML doc - smoke test
            patternStmt.Events += (sender, e) =>
            {
                var theEvent = GetXMLEvent("<root><value>5</value></root>");
                e.ServiceProvider.EPRuntime.Route(theEvent);
                e.ServiceProvider.EPRuntime.Route(new Dictionary <string, object>(), "MyMap");
            };
        }
        private void RunAssertionRouteTimer(EPServiceProvider epService)
        {
            var epl         = "every tag=" + typeof(SupportBean).FullName;
            var patternStmt = epService.EPAdministrator.CreatePattern(epl);

            epService.EPRuntime.SendEvent(new CurrentTimeEvent(0));

            // define time-based pattern and listener
            epl = "timer:at(*,*,*,*,*,*)";
            var atPatternStmt = epService.EPAdministrator.CreatePattern(epl);
            var timeListener  = new SingleRouteUpdateListener(epService, RouteEvent);

            atPatternStmt.Events += timeListener.Update;

            // register regular listener
            var eventListener = new SingleRouteUpdateListener(epService, RouteEvent);

            patternStmt.Events += eventListener.Update;

            Assert.AreEqual(0, timeListener.Count);
            Assert.AreEqual(0, eventListener.Count);

            epService.EPRuntime.SendEvent(new CurrentTimeEvent(10000));

            Assert.AreEqual(1, timeListener.Count);
            Assert.AreEqual(1000, eventListener.Count);
        }
Ejemplo n.º 3
0
            public void Run(RegressionEnvironment env)
            {
                var epl = "@Name('s0') select * from pattern[every tag=SupportBean]";
                env.CompileDeploy(epl);

                var listener = new SingleRouteUpdateListener(env.Runtime);
                env.Statement("s0").AddListener(listener);

                // Send first event that triggers the loop
                SendEvent(env.Runtime, 0);

                // Should have fired X times
                Assert.AreEqual(1000, listener.Count);

                env.UndeployAll();
            }
Ejemplo n.º 4
0
            public void Run(RegressionEnvironment env)
            {
                env.AdvanceTime(0);

                var epl = "@Name('s0') select * from pattern[every tag=SupportBean]";
                var eventListener = new SingleRouteUpdateListener(env.Runtime);
                env.CompileDeploy(epl).Statement("s0").AddListener(eventListener);

                epl = "@Name('s1') select * from pattern[every timer:at(*,*,*,*,*,*)]";
                var timeListener = new SingleRouteUpdateListener(env.Runtime);
                env.CompileDeploy(epl).Statement("s1").AddListener(timeListener);

                Assert.AreEqual(0, timeListener.Count);
                Assert.AreEqual(0, eventListener.Count);

                env.AdvanceTime(10000);

                Assert.AreEqual(1, timeListener.Count);
                Assert.AreEqual(1000, eventListener.Count);

                env.UndeployAll();
            }
        /// <summary>
        /// Test route of an event within a listener.
        /// The Listener when it receives an event will generate a single new event
        /// that it routes back into the runtime, up to X number of times.
        /// </summary>
        private void RunAssertionRouteSingle(EPServiceProvider epService)
        {
            var epl         = "every tag=" + typeof(SupportBean).FullName;
            var patternStmt = epService.EPAdministrator.CreatePattern(epl);

            var listener = new SingleRouteUpdateListener(epService, RouteEvent);

            patternStmt.Events += listener.Update;

            // Send first event that triggers the loop
            sendEvent(epService, 0);

            // Should have fired X times
            Assert.AreEqual(1000, listener.Count);

            // test route map and XML doc - smoke test
            patternStmt.Events += (sender, args) => {
                var theEvent = GetXMLEvent("<root><value>5</value></root>");
                epService.EPRuntime.Route(theEvent);
                epService.EPRuntime.Route(new Dictionary <string, object>(), "MyMap");
            };
        }
Ejemplo n.º 6
0
        public void TestRouteTimer()
        {
            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.EndTest();
            }                                                                       // excluded

            String      viewExpr    = "every tag=" + typeof(SupportBean).FullName;
            EPStatement patternStmt = _epService.EPAdministrator.CreatePattern(viewExpr);

            _epService.EPRuntime.SendEvent(new CurrentTimeEvent(0));

            // define time-based pattern and listener
            viewExpr = "timer:at(*,*,*,*,*,*)";
            EPStatement atPatternStmt = _epService.EPAdministrator.CreatePattern(viewExpr);
            SingleRouteUpdateListener timeListener = new SingleRouteUpdateListener {
                RouteEvent = RouteEvent
            };

            atPatternStmt.Events += timeListener.Update;

            // register regular listener
            SingleRouteUpdateListener eventListener = new SingleRouteUpdateListener {
                RouteEvent = RouteEvent
            };

            patternStmt.Events += eventListener.Update;

            Assert.AreEqual(0, timeListener.Count);
            Assert.AreEqual(0, eventListener.Count);

            _epService.EPRuntime.SendEvent(new CurrentTimeEvent(10000));

            Assert.AreEqual(1, timeListener.Count);
            Assert.AreEqual(1000, eventListener.Count);
        }