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)

Reply via email to