System and method for supporting a sliding window for testing an event processing system
First Claim
1. A method for testing an event processing system, comprising:
- declaring input data, output data, and a processing rule for a test in a test file, wherein the test file is associated with a test schema that is designed for testing the event processing system;
associating each input event of a stream of input events with a time stamp;
associating each of one or more expected output events with a shared timestamp;
sending the stream of input events to an event processing system;
applying a sliding window on the stream of input events that are sent to the event processing system;
processing, with said event processing system, the stream of input events in a batch mode with one or more sliding cycles, wherein said sliding window includes one or more input events from the stream of input events in a sliding cycle that corresponds to the one or more expected output events;
receiving one or more actual output events at an end of said sliding cycle in the batch mode from the event processing system, each of the one or more actual output events associated with a timestamp; and
using said one or more expected output events to verify said one or more actual output events, including;
verifying whether the timestamp associated with each said actual output event matches the shared timestamp associated with said one or more expected output events in the sliding window, anddetermining that an assert fails when at least one timestamp associated with said one or more actual output events does not match the shared timestamp associated with said one or more expected output events in the sliding window.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods can use a testing framework for testing an event processing system. The testing framework operates to apply a sliding window on a stream of input events that are sent to an event processing system, wherein said event processing system processes the stream of input events in a batch mode with one or more sliding cycles, and wherein said sliding window includes one or more input events in a sliding cycle that correspond to a plurality of expected output events. Furthermore, the testing framework can receive a plurality of actual output events at an end of said sliding cycle in the batch mode from the event processing system, and uses said one or more expected output events to verify said one or more actual output events.
74 Citations
20 Claims
-
1. A method for testing an event processing system, comprising:
-
declaring input data, output data, and a processing rule for a test in a test file, wherein the test file is associated with a test schema that is designed for testing the event processing system; associating each input event of a stream of input events with a time stamp; associating each of one or more expected output events with a shared timestamp; sending the stream of input events to an event processing system; applying a sliding window on the stream of input events that are sent to the event processing system; processing, with said event processing system, the stream of input events in a batch mode with one or more sliding cycles, wherein said sliding window includes one or more input events from the stream of input events in a sliding cycle that corresponds to the one or more expected output events; receiving one or more actual output events at an end of said sliding cycle in the batch mode from the event processing system, each of the one or more actual output events associated with a timestamp; and using said one or more expected output events to verify said one or more actual output events, including; verifying whether the timestamp associated with each said actual output event matches the shared timestamp associated with said one or more expected output events in the sliding window, and determining that an assert fails when at least one timestamp associated with said one or more actual output events does not match the shared timestamp associated with said one or more expected output events in the sliding window. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for testing an event processing system, comprising:
-
one or more microprocessors; a testing framework, running on the one or more microprocessors, wherein input data, output data, and a processing rule for a test is declared in a test file, wherein the test file is associated with a test schema that is designed for testing the event processing system, and wherein the testing framework operates to; associate each input event in a stream of input events with a timestamp; associate each of one or more expected output events with a shared timestamp; apply a sliding window on a stream of input events that are sent to an event processing system, wherein said event processing system processes the stream of input events in a batch mode with one or more sliding cycles, and wherein said sliding window includes one or more input events in a sliding cycle that correspond to one or more expected output events, each expected output event associated with a timestamp; receive one or more actual output events at an end of said sliding cycle in the batch mode from the event processing system; and use said one or more expected output events to verify said one or more actual output events, including the framework being further configured to; verify whether the timestamp associated with each said actual output event matches the shared timestamp associated with said one or more expected output events in the sliding window; and determine that an assert fails when at least one timestamp associated with said one or more actual output events does not match the shared timestamp associated with said one or more expected output events in the sliding window. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory machine readable storage medium having instructions stored thereon that when executed cause a system to perform the steps comprising:
-
declaring input data, output data, and a processing rule for a test in a test file, wherein the test file is associated with a test schema that is designed for testing the event processing system; associating each input event of a stream of input events with a time stamp; associating each of one or more expected output events with a shared timestamp; sending the stream of input events to an event processing system; applying a sliding window on the stream of input events that are sent to the event processing system; processing, with said event processing system, the stream of input events in a batch mode with one or more sliding cycles, wherein said sliding window includes one or more input events from the stream of input events in a sliding cycle that corresponds to the one or more expected output events; receiving one or more actual output events at an end of said sliding cycle in the batch mode from the event processing system, each of the one or more actual output events associated with a timestamp; and using said one or more expected output events to verify said one or more actual output events, including; verifying whether the timestamp associated with each said actual output event matches the shared timestamp associated with said one or more expected output events in the sliding window, and determining that an assert fails when at least one timestamp associated with said one or more actual output events does not match the shared timestamp associated with said one or more expected output events in the sliding window.
-
Specification