This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 39db1b1  Publishing website 2020/07/15 00:02:02 at commit 3f3bd49
39db1b1 is described below

commit 39db1b10a366e757f18ab04fd7900d0229fa4617
Author: jenkins <[email protected]>
AuthorDate: Wed Jul 15 00:02:02 2020 +0000

    Publishing website 2020/07/15 00:02:02 at commit 3f3bd49
---
 .../pipelines/test-your-pipeline/index.html        | 141 +++++++++++++++------
 website/generated-content/sitemap.xml              |   2 +-
 2 files changed, 105 insertions(+), 38 deletions(-)

diff --git 
a/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
 
b/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
index 68fa566..f67b9d7 100644
--- 
a/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
+++ 
b/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
@@ -1,51 +1,93 @@
 <!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta 
http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport 
content="width=device-width,initial-scale=1"><title>Test Your 
Pipeline</title><meta name=description content="Apache Beam is an open source, 
unified model and set of language-specific SDKs for defining and executing data 
processing workflows, and also data ingestion and integration flows, supporting 
Enterprise Integration Patterns (EIPs) and Domain Spe [...]
 <span class=sr-only>Toggle navigation</span>
 <span class=icon-bar></span><span class=icon-bar></span><span 
class=icon-bar></span></button>
-<a href=/ class=navbar-brand><img alt=Brand style=height:25px 
src=/images/beam_logo_navbar.png></a></div><div class="navbar-mask 
closed"></div><div id=navbar class="navbar-container closed"><ul class="nav 
navbar-nav"><li><a href=/get-started/beam-overview/>Get Started</a></li><li><a 
href=/documentation/>Documentation</a></li><li><a 
href=/documentation/sdks/java/>Languages</a></li><li><a 
href=/documentation/runners/capability-matrix/>RUNNERS</a></li><li><a 
href=/roadmap/>Roadmap</a></li>< [...]
+<a href=/ class=navbar-brand><img alt=Brand style=height:25px 
src=/images/beam_logo_navbar.png></a></div><div class="navbar-mask 
closed"></div><div id=navbar class="navbar-container closed"><ul class="nav 
navbar-nav"><li><a href=/get-started/beam-overview/>Get Started</a></li><li><a 
href=/documentation/>Documentation</a></li><li><a 
href=/documentation/sdks/java/>Languages</a></li><li><a 
href=/documentation/runners/capability-matrix/>RUNNERS</a></li><li><a 
href=/roadmap/>Roadmap</a></li>< [...]
+    <span 
class=o>...</span></code></pre></div></div><blockquote><p><strong>Note:</strong>
 Read about testing unbounded pipelines in Beam in <a 
href=/blog/2016/10/20/test-stream.html>this blog post</a>.</p></blockquote><h3 
id=using-the-create-transform>Using the Create Transform</h3><p>You can use the 
<code>Create</code> transform to create a <code>PCollection</code> out of a 
standard in-memory collection class, such as Java or Python <code>List</code>. 
See <a href=/documentation/program [...]
 
 <span class=c1>// Check whether a PCollection contains some elements in any 
order.
 </span><span class=c1></span><span class=n>PAssert</span><span 
class=o>.</span><span class=na>that</span><span class=o>(</span><span 
class=n>output</span><span class=o>)</span>
 <span class=o>.</span><span class=na>containsInAnyOrder</span><span 
class=o>(</span>
   <span class=s>&#34;elem1&#34;</span><span class=o>,</span>
   <span class=s>&#34;elem3&#34;</span><span class=o>,</span>
-  <span class=s>&#34;elem2&#34;</span><span 
class=o>);</span></code></pre></div></div><p>Any code that uses 
<code>PAssert</code> must link in <code>JUnit</code> and <code>Hamcrest</code>. 
If you&rsquo;re using Maven, you can link in <code>Hamcrest</code> by adding 
the following dependency to your project&rsquo;s <code>pom.xml</code> 
file:</p><div class=language-java><div class=highlight><pre class=chroma><code 
class=language-java data-lang=java><span class=o>&lt;</span><span class=n>depe 
[...]
+  <span class=s>&#34;elem2&#34;</span><span 
class=o>);</span></code></pre></div></div><div class=language-py><div 
class=highlight><pre class=chroma><code class=language-py data-lang=py><span 
class=kn>from</span> <span class=nn>apache_beam.testing.util</span> <span 
class=kn>import</span> <span class=n>assert_that</span>
+<span class=kn>from</span> <span class=nn>apache_beam.testing.util</span> 
<span class=kn>import</span> <span class=n>equal_to</span>
+
+<span class=n>output</span> <span class=o>=</span> <span class=o>...</span>
+
+<span class=c1># Check whether a PCollection contains some elements in any 
order.</span>
+<span class=n>assert_that</span><span class=p>(</span>
+    <span class=n>output</span><span class=p>,</span>
+    <span class=n>equal_to</span><span class=p>([</span><span 
class=s2>&#34;elem1&#34;</span><span class=p>,</span> <span 
class=s2>&#34;elem3&#34;</span><span class=p>,</span> <span 
class=s2>&#34;elem2&#34;</span><span 
class=p>]))</span></code></pre></div></div><p class=language-java>Any Java code 
that uses <code>PAssert</code> must link in <code>JUnit</code> and 
<code>Hamcrest</code>. If you&rsquo;re using Maven, you can link in 
<code>Hamcrest</code> by adding the following dependency t [...]
     <span class=o>&lt;</span><span class=n>groupId</span><span 
class=o>&gt;</span><span class=n>org</span><span class=o>.</span><span 
class=na>hamcrest</span><span class=o>&lt;/</span><span 
class=n>groupId</span><span class=o>&gt;</span>
     <span class=o>&lt;</span><span class=n>artifactId</span><span 
class=o>&gt;</span><span class=n>hamcrest</span><span class=o>-</span><span 
class=n>all</span><span class=o>&lt;/</span><span 
class=n>artifactId</span><span class=o>&gt;</span>
     <span class=o>&lt;</span><span class=n>version</span><span 
class=o>&gt;</span><span class=n>1</span><span class=o>.</span><span 
class=na>3</span><span class=o>&lt;/</span><span class=n>version</span><span 
class=o>&gt;</span>
     <span class=o>&lt;</span><span class=n>scope</span><span 
class=o>&gt;</span><span class=n>test</span><span class=o>&lt;/</span><span 
class=n>scope</span><span class=o>&gt;</span>
-<span class=o>&lt;/</span><span class=n>dependency</span><span 
class=o>&gt;</span></code></pre></div></div><p>For more information on how 
these classes work, see the <a 
href=https://beam.apache.org/releases/javadoc/2.22.0/index.html?org/apache/beam/sdk/testing/package-summary.html>org.apache.beam.sdk.testing</a>
 package documentation.</p><h3 id=an-example-test-for-a-composite-transform>An 
Example Test for a Composite Transform</h3><p>The following code shows a 
complete test for a composi [...]
-
-<span class=c1>// Our static input data, which will make up the initial 
PCollection.
-</span><span class=c1></span><span class=kd>static</span> <span 
class=kd>final</span> <span class=n>String</span><span class=o>[]</span> <span 
class=n>WORDS_ARRAY</span> <span class=o>=</span> <span class=k>new</span> 
<span class=n>String</span><span class=o>[]</span> <span class=o>{</span>
-<span class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;there&#34;</span><span class=o>,</span> <span 
class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;sue&#34;</span><span class=o>,</span> <span 
class=s>&#34;bob&#34;</span><span class=o>,</span>
-<span class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;sue&#34;</span><span class=o>,</span> <span 
class=s>&#34;&#34;</span><span class=o>,</span> <span 
class=s>&#34;&#34;</span><span class=o>,</span> <span 
class=s>&#34;ZOW&#34;</span><span class=o>,</span> <span 
class=s>&#34;bob&#34;</span><span class=o>,</span> <span 
class=s>&#34;&#34;</span><span class=o>};</span>
-
-<span class=kd>static</span> <span class=kd>final</span> <span 
class=n>List</span><span class=o>&lt;</span><span class=n>String</span><span 
class=o>&gt;</span> <span class=n>WORDS</span> <span class=o>=</span> <span 
class=n>Arrays</span><span class=o>.</span><span class=na>asList</span><span 
class=o>(</span><span class=n>WORDS_ARRAY</span><span class=o>);</span>
-
-<span class=kd>public</span> <span class=kt>void</span> <span 
class=nf>testCount</span><span class=o>()</span> <span class=o>{</span>
-  <span class=c1>// Create a test pipeline.
-</span><span class=c1></span>  <span class=n>Pipeline</span> <span 
class=n>p</span> <span class=o>=</span> <span class=n>TestPipeline</span><span 
class=o>.</span><span class=na>create</span><span class=o>();</span>
-
-  <span class=c1>// Create an input PCollection.
-</span><span class=c1></span>  <span class=n>PCollection</span><span 
class=o>&lt;</span><span class=n>String</span><span class=o>&gt;</span> <span 
class=n>input</span> <span class=o>=</span> <span class=n>p</span><span 
class=o>.</span><span class=na>apply</span><span class=o>(</span><span 
class=n>Create</span><span class=o>.</span><span class=na>of</span><span 
class=o>(</span><span class=n>WORDS</span><span class=o>)).</span><span 
class=na>setCoder</span><span class=o>(</span><span class [...]
-
-  <span class=c1>// Apply the Count transform under test.
-</span><span class=c1></span>  <span class=n>PCollection</span><span 
class=o>&lt;</span><span class=n>KV</span><span class=o>&lt;</span><span 
class=n>String</span><span class=o>,</span> <span class=n>Long</span><span 
class=o>&gt;&gt;</span> <span class=n>output</span> <span class=o>=</span>
-    <span class=n>input</span><span class=o>.</span><span 
class=na>apply</span><span class=o>(</span><span class=n>Count</span><span 
class=o>.&lt;</span><span class=n>String</span><span class=o>&gt;</span><span 
class=n>perElement</span><span class=o>());</span>
-
-  <span class=c1>// Assert on the results.
-</span><span class=c1></span>  <span class=n>PAssert</span><span 
class=o>.</span><span class=na>that</span><span class=o>(</span><span 
class=n>output</span><span class=o>)</span>
-    <span class=o>.</span><span class=na>containsInAnyOrder</span><span 
class=o>(</span>
-        <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;hi&#34;</span><span 
class=o>,</span> <span class=n>4L</span><span class=o>),</span>
-        <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span 
class=s>&#34;there&#34;</span><span class=o>,</span> <span 
class=n>1L</span><span class=o>),</span>
-        <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;sue&#34;</span><span 
class=o>,</span> <span class=n>2L</span><span class=o>),</span>
-        <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;bob&#34;</span><span 
class=o>,</span> <span class=n>2L</span><span class=o>),</span>
-        <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;&#34;</span><span 
class=o>,</span> <span class=n>3L</span><span class=o>),</span>
-        <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;ZOW&#34;</span><span 
class=o>,</span> <span class=n>1L</span><span class=o>));</span>
-
-  <span class=c1>// Run the pipeline.
-</span><span class=c1></span>  <span class=n>p</span><span 
class=o>.</span><span class=na>run</span><span class=o>();</span>
-<span class=o>}</span></code></pre></div></div><h2 
id=testing-a-pipeline-end-to-end>Testing a Pipeline End-to-End</h2><p>You can 
use the test classes in the Beam SDKs (such as <code>TestPipeline</code> and 
<code>PAssert</code> in the Beam SDK for Java) to test an entire pipeline 
end-to-end. Typically, to test an entire pipeline, you do the 
following:</p><ul><li>For every source of input data to your pipeline, create 
some known static test input data.</li><li>Create some static test outpu [...]
+<span class=o>&lt;/</span><span class=n>dependency</span><span 
class=o>&gt;</span></code></pre></div></div><p>For more information on how 
these classes work, see the <a 
href=https://beam.apache.org/releases/javadoc/2.22.0/index.html?org/apache/beam/sdk/testing/package-summary.html>org.apache.beam.sdk.testing</a>
 package documentation.</p><h3 id=an-example-test-for-a-composite-transform>An 
Example Test for a Composite Transform</h3><p>The following code shows a 
complete test for a composi [...]
+
+  <span class=c1>// Our static input data, which will make up the initial 
PCollection.
+</span><span class=c1></span>  <span class=kd>static</span> <span 
class=kd>final</span> <span class=n>String</span><span class=o>[]</span> <span 
class=n>WORDS_ARRAY</span> <span class=o>=</span> <span class=k>new</span> 
<span class=n>String</span><span class=o>[]</span> <span class=o>{</span>
+  <span class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;there&#34;</span><span class=o>,</span> <span 
class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;sue&#34;</span><span class=o>,</span> <span 
class=s>&#34;bob&#34;</span><span class=o>,</span>
+  <span class=s>&#34;hi&#34;</span><span class=o>,</span> <span 
class=s>&#34;sue&#34;</span><span class=o>,</span> <span 
class=s>&#34;&#34;</span><span class=o>,</span> <span 
class=s>&#34;&#34;</span><span class=o>,</span> <span 
class=s>&#34;ZOW&#34;</span><span class=o>,</span> <span 
class=s>&#34;bob&#34;</span><span class=o>,</span> <span 
class=s>&#34;&#34;</span><span class=o>};</span>
+
+  <span class=kd>static</span> <span class=kd>final</span> <span 
class=n>List</span><span class=o>&lt;</span><span class=n>String</span><span 
class=o>&gt;</span> <span class=n>WORDS</span> <span class=o>=</span> <span 
class=n>Arrays</span><span class=o>.</span><span class=na>asList</span><span 
class=o>(</span><span class=n>WORDS_ARRAY</span><span class=o>);</span>
+
+  <span class=kd>public</span> <span class=kt>void</span> <span 
class=nf>testCount</span><span class=o>()</span> <span class=o>{</span>
+    <span class=c1>// Create a test pipeline.
+</span><span class=c1></span>    <span class=n>Pipeline</span> <span 
class=n>p</span> <span class=o>=</span> <span class=n>TestPipeline</span><span 
class=o>.</span><span class=na>create</span><span class=o>();</span>
+
+    <span class=c1>// Create an input PCollection.
+</span><span class=c1></span>    <span class=n>PCollection</span><span 
class=o>&lt;</span><span class=n>String</span><span class=o>&gt;</span> <span 
class=n>input</span> <span class=o>=</span> <span class=n>p</span><span 
class=o>.</span><span class=na>apply</span><span class=o>(</span><span 
class=n>Create</span><span class=o>.</span><span class=na>of</span><span 
class=o>(</span><span class=n>WORDS</span><span class=o>));</span>
+
+    <span class=c1>// Apply the Count transform under test.
+</span><span class=c1></span>    <span class=n>PCollection</span><span 
class=o>&lt;</span><span class=n>KV</span><span class=o>&lt;</span><span 
class=n>String</span><span class=o>,</span> <span class=n>Long</span><span 
class=o>&gt;&gt;</span> <span class=n>output</span> <span class=o>=</span>
+      <span class=n>input</span><span class=o>.</span><span 
class=na>apply</span><span class=o>(</span><span class=n>Count</span><span 
class=o>.&lt;</span><span class=n>String</span><span class=o>&gt;</span><span 
class=n>perElement</span><span class=o>());</span>
+
+    <span class=c1>// Assert on the results.
+</span><span class=c1></span>    <span class=n>PAssert</span><span 
class=o>.</span><span class=na>that</span><span class=o>(</span><span 
class=n>output</span><span class=o>)</span>
+      <span class=o>.</span><span class=na>containsInAnyOrder</span><span 
class=o>(</span>
+          <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;hi&#34;</span><span 
class=o>,</span> <span class=n>4L</span><span class=o>),</span>
+          <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span 
class=s>&#34;there&#34;</span><span class=o>,</span> <span 
class=n>1L</span><span class=o>),</span>
+          <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;sue&#34;</span><span 
class=o>,</span> <span class=n>2L</span><span class=o>),</span>
+          <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;bob&#34;</span><span 
class=o>,</span> <span class=n>2L</span><span class=o>),</span>
+          <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;&#34;</span><span 
class=o>,</span> <span class=n>3L</span><span class=o>),</span>
+          <span class=n>KV</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=s>&#34;ZOW&#34;</span><span 
class=o>,</span> <span class=n>1L</span><span class=o>));</span>
+
+    <span class=c1>// Run the pipeline.
+</span><span class=c1></span>    <span class=n>p</span><span 
class=o>.</span><span class=na>run</span><span class=o>();</span>
+  <span class=o>}</span>
+<span class=o>}</span></code></pre></div></div><div class=language-py><div 
class=highlight><pre class=chroma><code class=language-py data-lang=py><span 
class=kn>from</span> <span class=nn>apache_beam.testing.util</span> <span 
class=kn>import</span> <span class=n>assert_that</span>
+<span class=kn>from</span> <span class=nn>apache_beam.testing.util</span> 
<span class=kn>import</span> <span class=n>equal_to</span>
+
+<span class=k>class</span> <span class=nc>CountTest</span><span 
class=p>(</span><span class=n>unittest</span><span class=o>.</span><span 
class=n>TestCase</span><span class=p>):</span>
+
+  <span class=c1># Our static input data, which will make up the initial 
PCollection.</span>
+  <span class=n>WORDS</span> <span class=o>=</span> <span class=p>[</span>
+      <span class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;there&#34;</span><span class=p>,</span> <span 
class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;sue&#34;</span><span class=p>,</span> <span 
class=s2>&#34;bob&#34;</span><span class=p>,</span>
+      <span class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;sue&#34;</span><span class=p>,</span> <span 
class=s2>&#34;&#34;</span><span class=p>,</span> <span 
class=s2>&#34;&#34;</span><span class=p>,</span> <span 
class=s2>&#34;ZOW&#34;</span><span class=p>,</span> <span 
class=s2>&#34;bob&#34;</span><span class=p>,</span> <span 
class=s2>&#34;&#34;</span>
+  <span class=p>]</span>
+
+  <span class=k>def</span> <span class=nf>test_count</span><span 
class=p>(</span><span class=bp>self</span><span class=p>):</span>
+    <span class=c1># Create a test pipeline.</span>
+    <span class=k>with</span> <span class=n>beam</span><span 
class=o>.</span><span class=n>TestPipeline</span> <span class=k>as</span> <span 
class=n>p</span><span class=p>:</span>
+
+      <span class=c1># Create an input PCollection.</span>
+      <span class=nb>input</span> <span class=o>=</span> <span 
class=n>p</span> <span class=o>|</span> <span class=n>beam</span><span 
class=o>.</span><span class=n>Create</span><span class=p>(</span><span 
class=n>WORDS</span><span class=p>);</span>
+
+      <span class=c1># Apply the Count transform under test.</span>
+      <span class=n>output</span> <span class=o>=</span> <span 
class=nb>input</span> <span class=o>|</span> <span class=n>beam</span><span 
class=o>.</span><span class=n>combiners</span><span class=o>.</span><span 
class=n>Count</span><span class=o>.</span><span class=n>PerElement</span><span 
class=p>();</span>
+
+      <span class=c1># Assert on the results.</span>
+      <span class=n>assert_that</span><span class=p>(</span>
+        <span class=n>output</span><span class=p>,</span>
+        <span class=n>equal_to</span><span class=p>([</span>
+            <span class=p>(</span><span class=s2>&#34;hi&#34;</span><span 
class=p>,</span> <span class=mi>4</span><span class=p>),</span>
+            <span class=p>(</span><span class=s2>&#34;there&#34;</span><span 
class=p>,</span> <span class=mi>1</span><span class=p>),</span>
+            <span class=p>(</span><span class=s2>&#34;sue&#34;</span><span 
class=p>,</span> <span class=mi>2</span><span class=p>),</span>
+            <span class=p>(</span><span class=s2>&#34;bob&#34;</span><span 
class=p>,</span> <span class=mi>2</span><span class=p>),</span>
+            <span class=p>(</span><span class=s2>&#34;&#34;</span><span 
class=p>,</span> <span class=mi>3</span><span class=p>),</span>
+            <span class=p>(</span><span class=s2>&#34;ZOW&#34;</span><span 
class=p>,</span> <span class=mi>1</span><span class=p>)])</span>
+
+      <span class=c1># The pipeline will run and verify the 
results.</span></code></pre></div></div><h2 
id=testing-a-pipeline-end-to-end>Testing a Pipeline End-to-End</h2><p>You can 
use the test classes in the Beam SDKs (such as <code>TestPipeline</code> and 
<code>PAssert</code> in the Beam SDK for Java) to test an entire pipeline 
end-to-end. Typically, to test an entire pipeline, you do the 
following:</p><ul><li>For every source of input data to your pipeline, create 
some known static t [...]
 
     <span class=c1>// Our static input data, which will comprise the initial 
PCollection.
 </span><span class=c1></span>    <span class=kd>static</span> <span 
class=kd>final</span> <span class=n>String</span><span class=o>[]</span> <span 
class=n>WORDS_ARRAY</span> <span class=o>=</span> <span class=k>new</span> 
<span class=n>String</span><span class=o>[]</span> <span class=o>{</span>
@@ -64,7 +106,7 @@
       <span class=n>Pipeline</span> <span class=n>p</span> <span 
class=o>=</span> <span class=n>TestPipeline</span><span class=o>.</span><span 
class=na>create</span><span class=o>();</span>
 
       <span class=c1>// Create a PCollection from the WORDS static input data.
-</span><span class=c1></span>      <span class=n>PCollection</span><span 
class=o>&lt;</span><span class=n>String</span><span class=o>&gt;</span> <span 
class=n>input</span> <span class=o>=</span> <span class=n>p</span><span 
class=o>.</span><span class=na>apply</span><span class=o>(</span><span 
class=n>Create</span><span class=o>.</span><span class=na>of</span><span 
class=o>(</span><span class=n>WORDS</span><span class=o>)).</span><span 
class=na>setCoder</span><span class=o>(</span><span c [...]
+</span><span class=c1></span>      <span class=n>PCollection</span><span 
class=o>&lt;</span><span class=n>String</span><span class=o>&gt;</span> <span 
class=n>input</span> <span class=o>=</span> <span class=n>p</span><span 
class=o>.</span><span class=na>apply</span><span class=o>(</span><span 
class=n>Create</span><span class=o>.</span><span class=na>of</span><span 
class=o>(</span><span class=n>WORDS</span><span class=o>));</span>
 
       <span class=c1>// Run ALL the pipeline&#39;s transforms (in this case, 
the CountWords composite transform).
 </span><span class=c1></span>      <span class=n>PCollection</span><span 
class=o>&lt;</span><span class=n>String</span><span class=o>&gt;</span> <span 
class=n>output</span> <span class=o>=</span> <span class=n>input</span><span 
class=o>.</span><span class=na>apply</span><span class=o>(</span><span 
class=k>new</span> <span class=n>CountWords</span><span class=o>());</span>
@@ -75,7 +117,32 @@
       <span class=c1>// Run the pipeline.
 </span><span class=c1></span>      <span class=n>p</span><span 
class=o>.</span><span class=na>run</span><span class=o>();</span>
     <span class=o>}</span>
-<span class=o>}</span></code></pre></div></div></div></div><footer 
class=footer><div class=footer__contained><div class=footer__cols><div 
class=footer__cols__col><div class=footer__cols__col__logo><img 
src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div 
class=footer__cols__col__logo><img src=/images/apache_logo_circle.svg 
class=footer__logo alt="Apache logo"></div></div><div class="footer__cols__col 
footer__cols__col--md"><div class=footer__cols__col__title>Sta [...]
+<span class=o>}</span></code></pre></div></div><div class=language-py><div 
class=highlight><pre class=chroma><code class=language-py data-lang=py><span 
class=k>class</span> <span class=nc>WordCountTest</span><span 
class=p>(</span><span class=n>unittest</span><span class=o>.</span><span 
class=n>TestCase</span><span class=p>):</span>
+
+  <span class=c1># Our input data, which will make up the initial 
PCollection.</span>
+  <span class=n>WORDS</span> <span class=o>=</span> <span class=p>[</span>
+      <span class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;there&#34;</span><span class=p>,</span> <span 
class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;sue&#34;</span><span class=p>,</span> <span 
class=s2>&#34;bob&#34;</span><span class=p>,</span>
+      <span class=s2>&#34;hi&#34;</span><span class=p>,</span> <span 
class=s2>&#34;sue&#34;</span><span class=p>,</span> <span 
class=s2>&#34;&#34;</span><span class=p>,</span> <span 
class=s2>&#34;&#34;</span><span class=p>,</span> <span 
class=s2>&#34;ZOW&#34;</span><span class=p>,</span> <span 
class=s2>&#34;bob&#34;</span><span class=p>,</span> <span 
class=s2>&#34;&#34;</span>
+  <span class=p>]</span>
+
+  <span class=c1># Our output data, which is the expected data that the final 
PCollection must match.</span>
+  <span class=n>EXPECTED_COUNTS</span> <span class=o>=</span> <span 
class=p>[</span><span class=s2>&#34;hi: 5&#34;</span><span class=p>,</span> 
<span class=s2>&#34;there: 1&#34;</span><span class=p>,</span> <span 
class=s2>&#34;sue: 2&#34;</span><span class=p>,</span> <span class=s2>&#34;bob: 
2&#34;</span><span class=p>]</span>
+
+  <span class=c1># Example test that tests the pipeline&#39;s 
transforms.</span>
+
+  <span class=k>def</span> <span class=nf>test_count_words</span><span 
class=p>(</span><span class=bp>self</span><span class=p>):</span>
+    <span class=k>with</span> <span class=n>TestPipeline</span><span 
class=p>()</span> <span class=k>as</span> <span class=n>p</span><span 
class=p>:</span>
+
+      <span class=c1># Create a PCollection from the WORDS static input 
data.</span>
+      <span class=nb>input</span> <span class=o>=</span> <span 
class=n>p</span> <span class=o>|</span> <span class=n>beam</span><span 
class=o>.</span><span class=n>Create</span><span class=p>(</span><span 
class=n>WORDS</span><span class=p>)</span>
+
+      <span class=c1># Run ALL the pipeline&#39;s transforms (in this case, 
the CountWords composite transform).</span>
+      <span class=n>output</span> <span class=o>=</span> <span 
class=nb>input</span> <span class=o>|</span> <span 
class=n>CountWords</span><span class=p>()</span>
+
+      <span class=c1># Assert that the output PCollection matches the 
EXPECTED_COUNTS data.</span>
+      <span class=n>assert_that</span><span class=p>(</span><span 
class=n>output</span><span class=p>,</span> <span class=n>equal_to</span><span 
class=p>(</span><span class=n>EXPECTED_COUNTS</span><span class=p>),</span> 
<span class=n>label</span><span class=o>=</span><span 
class=s1>&#39;CheckOutput&#39;</span><span class=p>)</span>
+
+    <span class=c1># The pipeline will run and verify the 
results.</span></code></pre></div></div></div></div><footer class=footer><div 
class=footer__contained><div class=footer__cols><div 
class=footer__cols__col><div class=footer__cols__col__logo><img 
src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div 
class=footer__cols__col__logo><img src=/images/apache_logo_circle.svg 
class=footer__logo alt="Apache logo"></div></div><div class="footer__cols__col 
footer__col [...]
 <a href=http://www.apache.org>The Apache Software Foundation</a>
 | <a href=/privacy_policy>Privacy Policy</a>
 | <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam 
logo, and the Apache feather logo are either registered trademarks or 
trademarks of The Apache Software Foundation. All other products or name brands 
are trademarks of their respective holders, including The Apache Software 
Foundation.</div></footer></body></html>
\ No newline at end of file
diff --git a/website/generated-content/sitemap.xml 
b/website/generated-content/sitemap.xml
index 47f25e5..b7e5795 100644
--- a/website/generated-content/sitemap.xml
+++ b/website/generated-content/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>/blog/beam-2.22.0/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/blog/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/categories/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/blog/b
 [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>/blog/beam-2.22.0/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/blog/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/categories/</loc><lastmod>2020-06-08T14:13:37-07:00</lastmod></url><url><loc>/blog/b
 [...]
\ No newline at end of file

Reply via email to