BigtableTableAdminClientWrapper implements IBigtableTableAdminClient { @Override public ApiFuture<Void> dropRowRangeAsync(String tableId, String rowKeyPrefix) { return dropRowRangeAsync(tableId, ByteString.copyFromUtf8(rowKeyPrefix)); } 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 dropRowRangeAsyncForDeleteByPrefix() { DropRowRangeRequest request = DropRowRangeRequest.newBuilder() .setName(TABLE_NAME) .setDeleteAllDataFromTable(false) .setRowKeyPrefix(ByteString.copyFromUtf8(ROW_KEY_PREFIX)) .build(); when(mockAdminClient.dropRowRangeAsync(request)) .thenReturn(immediateFuture(Empty.newBuilder().build())); clientWrapper.dropRowRangeAsync(TABLE_ID, ROW_KEY_PREFIX); verify(mockAdminClient).dropRowRangeAsync(request); }