DataClientVeneerApi implements DataClientWrapper { @Override public BulkMutationWrapper createBulkMutation(String tableId) { return new BulkMutationVeneerApi(delegate.newBulkMutationBatcher(tableId)); } DataClientVeneerApi(BigtableDataClient delegate); @Override BulkMutationWrapper createBulkMutation(String tableId); @Override BulkReadWrapper createBulkRead(String tableId); @Override ApiFuture<Void> mutateRowAsync(RowMutation rowMutation); @Override ApiFuture<Result> readModifyWriteRowAsync(ReadModifyWriteRow readModifyWriteRow); @Override ApiFuture<Boolean> checkAndMutateRowAsync(ConditionalRowMutation conditionalRowMutation); @Override ApiFuture<List<KeyOffset>> sampleRowKeysAsync(String tableId); @Override ApiFuture<Result> readRowAsync(
      String tableId, ByteString rowKey, @Nullable Filters.Filter filter); @Override ResultScanner readRows(Query request); @Override ApiFuture<List<Result>> readRowsAsync(Query request); @Override void readRowsAsync(Query request, StreamObserver<Result> observer); @Override void close();  }
@Test public void testCreateBulkMutation() throws Exception { RowMutationEntry entry = RowMutationEntry.create(ROW_KEY); when(mockDataClient.newBulkMutationBatcher(TABLE_ID)).thenReturn(mockMutationBatcher); when(mockMutationBatcher.add(entry)).thenReturn(ApiFutures.<Void>immediateFuture(null)); BulkMutationWrapper mutationWrapper = dataClientWrapper.createBulkMutation(TABLE_ID); mutationWrapper.add(entry).get(); verify(mockDataClient).newBulkMutationBatcher(TABLE_ID); verify(mockMutationBatcher).add(entry); }