BigtableTableAdminClientWrapper implements IBigtableTableAdminClient { @Override public ApiFuture<Operation> snapshotTableAsync(SnapshotTableRequest request) { return ApiFutureUtil.adapt(delegate.snapshotTableAsync(request)); } BigtableTableAdminClientWrapper(
      @Nonnull BigtableTableAdminClient adminClient, @Nonnull BigtableOptions options); @Override Table createTable(CreateTableRequest request); @Override ApiFuture<Table> createTableAsync(CreateTableRequest request); @Override Table getTable(String tableId); @Override ApiFuture<Table> getTableAsync(String tableId); @Override List<String> listTables(); @Override ApiFuture<List<String>> listTablesAsync(); @Override void deleteTable(String tableId); @Override ApiFuture<Void> deleteTableAsync(String tableId); @Override Table modifyFamilies(ModifyColumnFamiliesRequest request); @Override ApiFuture<Table> modifyFamiliesAsync(ModifyColumnFamiliesRequest request); @Override void dropRowRange(String tableId, String rowKeyPrefix); @Override void dropRowRange(String tableId, ByteString rowKeyPrefix); @Override ApiFuture<Void> dropRowRangeAsync(String tableId, String rowKeyPrefix); @Override ApiFuture<Void> dropRowRangeAsync(String tableId, ByteString rowKeyPrefix); @Override void dropAllRows(String tableId); @Override ApiFuture<Void> dropAllRowsAsync(String tableId); @Override ApiFuture<Operation> snapshotTableAsync(SnapshotTableRequest request); @Override ApiFuture<Snapshot> getSnapshotAsync(GetSnapshotRequest request); @Override ApiFuture<ListSnapshotsResponse> listSnapshotsAsync(ListSnapshotsRequest request); @Override ApiFuture<Void> deleteSnapshotAsync(DeleteSnapshotRequest request); @Override ApiFuture<Operation> createTableFromSnapshotAsync(CreateTableFromSnapshotRequest request);  }
@Test public void testSnapshotTableAsync() throws Exception { SnapshotTableRequest request = SnapshotTableRequest.newBuilder().setSnapshotId("snaphsotId").setName(TABLE_NAME).build(); Operation response = Operation.getDefaultInstance(); when(mockAdminClient.snapshotTableAsync(request)).thenReturn(Futures.immediateFuture(response)); Future<Operation> actualResponse = clientWrapper.snapshotTableAsync(request); assertEquals(response, actualResponse.get()); verify(mockAdminClient).snapshotTableAsync(request); }