You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2020/05/20 18:49:15 UTC

[GitHub] [beam] nielm commented on a change in pull request #11529: [BEAM-9822] Simplify pipeline when batching is disabled.

nielm commented on a change in pull request #11529:
URL: https://github.com/apache/beam/pull/11529#discussion_r428235563



##########
File path: sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIOWriteTest.java
##########
@@ -263,6 +263,17 @@ private void verifyBatches(Iterable<Mutation>... batches) {
 
   @Test
   public void noBatching() throws Exception {
+
+    // This test uses a different mock/fake because it explicitly does not want to populate the
+    // Spanner schema.
+    FakeServiceFactory fakeServiceFactory = new FakeServiceFactory();
+    ReadOnlyTransaction tx = mock(ReadOnlyTransaction.class);
+    when(fakeServiceFactory.mockDatabaseClient().readOnlyTransaction()).thenReturn(tx);
+
+    // Capture batches sent to writeAtLeastOnce.
+    when(fakeServiceFactory.mockDatabaseClient().writeAtLeastOnce(mutationBatchesCaptor.capture()))
+        .thenReturn(null);
+

Review comment:
       This test specifically tests that the pipeline stage for reading the schema (required for grouping/batching) are not being used, verifying that the batching is being bypassed. Yes, this is an implementation detail, but I added this part of the test so that future changes do not break this behaviour.
   
   I cannot use the already-created serviceFactory here because that does not give me access to the mock ReadOnlyTransaction that I need to verify that executeQuery() is never called.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org