BigtableTableAdminClientWrapper implements IBigtableTableAdminClient { @Override public Table modifyFamilies(ModifyColumnFamiliesRequest request) { com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest modifyColumnRequestProto = request.toProto(instanceName.getProjectId(), instanceName.getInstanceId()); return Table.fromProto(delegate.modifyColumnFamily(modifyColumnRequestProto)); } 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 testModifyFamilies() { ModifyColumnFamiliesRequest request = ModifyColumnFamiliesRequest.of(TABLE_ID) .addFamily(COLUMN_FAMILY, GCRULES.maxVersions(1)) .updateFamily(UPDATE_FAMILY, GCRULES.defaultRule()); when(mockAdminClient.modifyColumnFamily(request.toProto(PROJECT_ID, INSTANCE_ID))) .thenReturn(createTableData()); Table response = clientWrapper.modifyFamilies(request); assertEquals(Table.fromProto(createTableData()), response); verify(mockAdminClient).modifyColumnFamily(request.toProto(PROJECT_ID, INSTANCE_ID)); }