You can use Create in streaming pipelines as well but you want to ensure
that --streaming is passed as a flag.
You could update the existing test target and force --streaming to be
inserted for example here:
https://github.com/lukecwik/incubator-beam/blob/8097972b4d0ed759aa45f6710ac02b982c6e8deb/runners/google-cloud-dataflow-java/build.gradle#L156

Create can't exercise a lot of complex windowing/triggering semantics
though or can not produce deterministic output which is why TestStream was
created which is like Create but allows you to control watermark and
processing time advancement. This allows for more complicated triggering
and execution but it only works with portable Dataflow pipelines that also
use this additional experiment ('use_unified_worker') which can be launched
with this target:
https://github.com/lukecwik/incubator-beam/blob/8097972b4d0ed759aa45f6710ac02b982c6e8deb/runners/google-cloud-dataflow-java/build.gradle#L246
We are looking to have the first API stable version using the portability
framework with 2.21.0 which should mean that tests that run outside of
Google will be possible.


On Thu, Apr 9, 2020 at 7:17 AM Steve Niemitz <sniem...@apache.org> wrote:

> I was trying to run a @ValidatesRunner test for the streaming dataflow
> runner, but I actually can't find any way to run them in streaming.  It
> looks like all the tests are set up using the Create transform,
> which generates a batch pipeline.
>
> Are there actually no @ValidatesRunner tests for the streaming dataflow
> runner?  That seems like a big gap in coverage.  Am I missing a setting
> somewhere?
>

Reply via email to