Joe created BEAM-3755: ------------------------- Summary: Unable to Test Session "with gap duration" Windowing Key: BEAM-3755 URL: https://issues.apache.org/jira/browse/BEAM-3755 Project: Beam Issue Type: Bug Components: testing Affects Versions: 2.2.0 Environment: Java Reporter: Joe Assignee: Jason Kuster
Trying to write a unit test to verify the windowing behavior for session with gap duration, but my assumption is that there is a merging of IntervalWindows that normally happens that is not happening for my test pipeline, because my actual pipeline seems to work as expected, but my test fails. I have been using these resources: [http://www.waitingforcode.com/apache-beam/windows-apache-beam/read] [https://beam.apache.org/blog/2016/10/20/test-stream.html] Here is an example of the issue: {code:java} String guid = "user1"; UniqueUserKey uniqueUser = makeUniqueUserKey(guid); // the first value to makePageView results in the timestamp: new Instant(value) TimestampedValue<KV<UniqueUserKey, PageLoadEvent>> homepage = makePageView(1, "HomePage", "homepage", guid, uniqueUser); TimestampedValue<KV<UniqueUserKey, PageLoadEvent>> productDetails1 = makePageView(2, "Product Details", "product_details", guid, uniqueUser); TestStream<KV<UniqueUserKey, PageLoadEvent>> testStream = TestStream.create(KvCoder.of(ProtoCoder.of(UniqueUserKey.class), ProtoCoder.of(PageLoadEvent.class))) .addElements(homepage) .addElements(productDetails1) .advanceWatermarkTo(new Instant(8)) .advanceWatermarkToInfinity(); IntervalWindow window1 = new IntervalWindow(new Instant(1), new Instant(3)); // This fails because productDetails1 is not in the window PAssert.that(firstTransform).inFinalPane(window1).containsInAnyOrder( homepage.getValue(), productDetails1.getValue()); pipeline.run().waitUntilFinish();{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)