This is an automated email from the ASF dual-hosted git repository.
robertwb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new 2959fcc BEAM-7477 add is not empty helper test method (#8742)
2959fcc is described below
commit 2959fcc062cd38d5e490fa18bf5f424c04f655d4
Author: Rakesh Kumar <[email protected]>
AuthorDate: Mon Jun 3 03:42:28 2019 -0700
BEAM-7477 add is not empty helper test method (#8742)
---
sdks/python/apache_beam/testing/util.py | 14 ++++++++++++++
sdks/python/apache_beam/testing/util_test.py | 11 +++++++++++
2 files changed, 25 insertions(+)
diff --git a/sdks/python/apache_beam/testing/util.py
b/sdks/python/apache_beam/testing/util.py
index 7e68540..3099b0f 100644
--- a/sdks/python/apache_beam/testing/util.py
+++ b/sdks/python/apache_beam/testing/util.py
@@ -40,6 +40,7 @@ __all__ = [
'assert_that',
'equal_to',
'is_empty',
+ 'is_not_empty',
# open_shards is internal and has no backwards compatibility guarantees.
'open_shards',
'TestWindowedValue',
@@ -150,6 +151,19 @@ def is_empty():
return _empty
+def is_not_empty():
+ """
+ This is test method which makes sure that the pcol is not empty and it has
+ some data in it.
+ :return:
+ """
+ def _not_empty(actual):
+ actual = list(actual)
+ if not actual:
+ raise BeamAssertException('Failed assert: pcol is empty')
+ return _not_empty
+
+
def assert_that(actual, matcher, label='assert_that',
reify_windows=False, use_global_window=True):
"""A PTransform that checks a PCollection has an expected value.
diff --git a/sdks/python/apache_beam/testing/util_test.py
b/sdks/python/apache_beam/testing/util_test.py
index 83b68e8..1fd1da6 100644
--- a/sdks/python/apache_beam/testing/util_test.py
+++ b/sdks/python/apache_beam/testing/util_test.py
@@ -23,10 +23,12 @@ import unittest
from apache_beam import Create
from apache_beam.testing.test_pipeline import TestPipeline
+from apache_beam.testing.util import BeamAssertException
from apache_beam.testing.util import TestWindowedValue
from apache_beam.testing.util import assert_that
from apache_beam.testing.util import equal_to
from apache_beam.testing.util import is_empty
+from apache_beam.testing.util import is_not_empty
from apache_beam.transforms.window import GlobalWindow
from apache_beam.transforms.window import IntervalWindow
from apache_beam.utils.timestamp import MIN_TIMESTAMP
@@ -99,6 +101,15 @@ class UtilTest(unittest.TestCase):
with TestPipeline() as p:
assert_that(p | Create([1, 2, 3]), is_empty())
+ def test_assert_that_passes_is_not_empty(self):
+ with TestPipeline() as p:
+ assert_that(p | Create([1, 2, 3]), is_not_empty())
+
+ def test_assert_that_fails_on_empty_expected(self):
+ with self.assertRaises(BeamAssertException):
+ with TestPipeline() as p:
+ assert_that(p | Create([]), is_not_empty())
+
if __name__ == '__main__':
unittest.main()