TheNeuralBit commented on a change in pull request #11529: URL: https://github.com/apache/beam/pull/11529#discussion_r427576985
########## 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 doesn't seem to be used. It seems we should either: - Pass `fakeServiceFactory` to `withServiceFactory` and the verify calls below, or - Just remove `fakeServiceFactory` and use `serviceFactory` here instead. It seems to be capable of verifying that the schema isn't read, so I'm not sure there's value in building another fake that doesn't have a schema. I'd prefer the latter, but I'd be fine with the former if you think that's better. ---------------------------------------------------------------- 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: us...@infra.apache.org