@Test
public void testStatusUpdateProgress()
    throws IOException, InterruptedException {

  configureMocks();
  startListener(true);
  verify(hbHandler).register(attemptId);
  // make sure a ping doesn't report progress
  AMFeedback feedback = listener.statusUpdate(attemptID, null);
  assertTrue(feedback.getTaskFound());
  verify(hbHandler, never()).progressing(eq(attemptId));
  // make sure a status update does report progress
  MapTaskStatus mockStatus = new MapTaskStatus(attemptID, 0.0f, 1,
      TaskStatus.State.RUNNING, "", "RUNNING", "", TaskStatus.Phase.MAP,
      new Counters());
  feedback = listener.statusUpdate(attemptID, mockStatus);
  assertTrue(feedback.getTaskFound());
  verify(hbHandler).progressing(eq(attemptId));
}