### Question:
SolrLookingBlurServer extends SolrServer { @Override public UpdateResponse deleteById(List<String> ids, int commitWithinMs) throws SolrServerException, IOException { return deleteById(ids); } SolrLookingBlurServer(String controllerConnectionStr, String table); @Override NamedList<Object> request(SolrRequest arg0); @Override void shutdown(); @Override UpdateResponse add(Collection<SolrInputDocument> docs, int commitWithinMs); @Override UpdateResponse add(final Collection<SolrInputDocument> docs); @Override UpdateResponse add(SolrInputDocument doc, int commitWithinMs); @Override UpdateResponse add(SolrInputDocument doc); @Override UpdateResponse addBean(Object obj, int commitWithinMs); @Override UpdateResponse addBean(Object obj); @Override UpdateResponse addBeans(Collection<?> arg0, int arg1); @Override UpdateResponse addBeans(Collection<?> beans); @Override UpdateResponse commit(); @Override UpdateResponse commit(boolean waitFlush, boolean waitSearcher, boolean softCommit); @Override UpdateResponse commit(boolean waitFlush, boolean waitSearcher); @Override UpdateResponse deleteById(List<String> ids, int commitWithinMs); @Override UpdateResponse deleteById(final List<String> ids); @Override UpdateResponse deleteById(String id, int commitWithinMs); @Override UpdateResponse deleteById(String id); @Override UpdateResponse deleteByQuery(String query, int commitWithinMs); @Override UpdateResponse deleteByQuery(String query); @Override DocumentObjectBinder getBinder(); @Override UpdateResponse optimize(); @Override UpdateResponse optimize(boolean waitFlush, boolean waitSearcher, final int maxSegments); @Override UpdateResponse optimize(boolean waitFlush, boolean waitSearcher); @Override SolrPingResponse ping(); @Override QueryResponse query(SolrParams params, METHOD method); @Override QueryResponse query(SolrParams params); @Override QueryResponse queryAndStreamResponse(SolrParams params, StreamingResponseCallback callback); @Override UpdateResponse rollback();  }### Answer:
@Test public void weShouldBeAbleToDeleteARowById() throws Exception, TException { String table = "weShouldBeAbleToDeleteARowById"; SolrServer server = TestTableCreator.newTable(table).withRowCount(2).withRecordsPerRow(1) .withRecordColumns("fam.value").create(); assertTotalResults(table, "rowid:0", 1l); assertTotalResults(table, "rowid:1", 1l); server.deleteById("1"); assertTotalResults(table, "rowid:0", 1l); assertTotalResults(table, "rowid:1", 0l); removeTable(table); }
@Test public void weShouldBeAbleToDeleteARowByAListOfIds() throws Exception, TException { String table = "weShouldBeAbleToDeleteARowByAListOfIds"; SolrServer server = TestTableCreator.newTable(table).withRowCount(20).withRecordsPerRow(1) .withRecordColumns("fam.value").create(); assertTotalResults(table, "rowid:1", 1l); assertTotalResults(table, "rowid:2", 1l); List<String> ids = Lists.newArrayList("1", "2", "3", "4", "5"); server.deleteById(ids); for (String id : ids) { assertTotalResults(table, "rowid:" + id, 0l); } removeTable(table); }