[
https://issues.apache.org/jira/browse/BEAM-3755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17546799#comment-17546799
]
Kenneth Knowles commented on BEAM-3755:
---------------------------------------
This issue has been migrated to https://github.com/apache/beam/issues/18630
> 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
> Priority: P3
>
> 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
(v8.20.7#820007)