[
https://issues.apache.org/jira/browse/BEAM-155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15343172#comment-15343172
]
ASF GitHub Bot commented on BEAM-155:
-------------------------------------
GitHub user tgroh opened a pull request:
https://github.com/apache/incubator-beam/pull/518
[BEAM-155] Support Windowed Assertions in PAssert
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:
- [ ] Make sure the PR title is formatted like:
`[BEAM-<Jira issue #>] Description of pull request`
- [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
- [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
number, if there is one.
- [ ] If this contribution is large, please file an Apache
[Individual Contributor License
Agreement](https://www.apache.org/licenses/icla.txt).
---
This allows users to write assertions that a specific window contains
contents,
rather than the entire PCollection. This improves the power of assertions
and
allows per-window assertions to be written independently of each other,
which
allows for tests that are easier to comprehend.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tgroh/incubator-beam multi_pane_passert
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-beam/pull/518.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #518
----
commit 28338a6de04609b6dcee3b68abbbe0424552d5e1
Author: Thomas Groh <[email protected]>
Date: 2016-06-17T22:19:26Z
Key with integers in GatherAllPanes
Ensures that runners which do not support null values can handle
GatherAllPanes.
commit 3972260442f52b8d4d806426d3cbcfc2252b6c49
Author: Thomas Groh <[email protected]>
Date: 2016-06-20T21:38:11Z
Use GatherAllPanes in PAssert
Instead of explicitly grouping by key, gather all the panes across the
input window.
commit 6ec58a8a074f8b04bd64776c0eee4a5bd0d0c4ae
Author: Thomas Groh <[email protected]>
Date: 2016-06-20T21:39:54Z
Update test for GatherAllPanes
commit b1b14f73cd51b4b409ca22e46cc22b3d916c905c
Author: Thomas Groh <[email protected]>
Date: 2016-06-21T17:44:43Z
Add StaticWindows
This is a windowFn that ignores the input and always assigns to the same
input. It returns the provided window as the side input window if and
only if that window is present within its set of windows.
----
> Support asserting the contents of windows and panes in PAssert
> --------------------------------------------------------------
>
> Key: BEAM-155
> URL: https://issues.apache.org/jira/browse/BEAM-155
> Project: Beam
> Issue Type: Improvement
> Components: sdk-java-core
> Reporter: Thomas Groh
> Assignee: Thomas Groh
>
> This consists of reifying the output windows and panes, and running asserts
> per-window about the contents of panes.
> This includes aggregated matching and final pane matching, e.g.
> PAssert.that(output).byOnTimePane().hasOutputElements(foo, bar);
> // For discarding mode - could have emitted (say) [spam, eggs], [spam], [],
> [sausage], []
> PAssert.that(output).byFinalPane().hasOutputElements(spam, eggs, sausage,
> spam);
> // For accumulating mode without late data
> PAssert.that(output).finalPane().containsInAnyOrder(spam, eggs, sausage,
> spam);
> // For accumulating mode with late data
> PAssert.that(output).finalPane().containsInAnyOrder(foo,
> bar).mayAlsoContain(baz, rab);
> See also:
> https://docs.google.com/document/d/1fZUUbG2LxBtqCVabQshldXIhkMcXepsbv2vuuny8Ix4/edit#
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)