@Test
public void testCallableTooFewStatuses() throws Exception {

  ListenableFuture<MutateRowResponse> rowFuture1 = underTest.add(createRequestEntry());
  ListenableFuture<MutateRowResponse> rowFuture2 = underTest.add(createRequestEntry());
  Batch batch = underTest.currentBatch;
  Assert.assertFalse(rowFuture1.isDone());
  Assert.assertFalse(rowFuture2.isDone());
  Assert.assertEquals(2, batch.getRequestCount());
  // Send only one response - this is poor server behavior.
  setResponse(Status.OK);
  Assert.assertTrue(rowFuture1.isDone());
  Assert.assertTrue(rowFuture2.isDone());
  Assert.assertEquals(MutateRowResponse.getDefaultInstance(), rowFuture1.get());
  // This should not throw an exception
  rowFuture1.get();
  try {
    rowFuture2.get();
    Assert.fail("Expected exception");
  } catch (Exception e) {
    Assert.assertEquals(Status.Code.INTERNAL, Status.fromThrowable(e).getCode());
  }
}