SchedulerEngine implements Scheduler { @Override public void frameworkMessage(final SchedulerDriver schedulerDriver, final Protos.ExecutorID executorID, final Protos.SlaveID slaveID, final byte[] bytes) { log.trace("call frameworkMessage slaveID: {}, bytes: {}", slaveID, new String(bytes)); }  @Override void registered(final SchedulerDriver schedulerDriver, final Protos.FrameworkID frameworkID, final Protos.MasterInfo masterInfo); @Override void reregistered(final SchedulerDriver schedulerDriver, final Protos.MasterInfo masterInfo); @Override void resourceOffers(final SchedulerDriver schedulerDriver, final List<Protos.Offer> offers); @Override void offerRescinded(final SchedulerDriver schedulerDriver, final Protos.OfferID offerID); @Override void statusUpdate(final SchedulerDriver schedulerDriver, final Protos.TaskStatus taskStatus); @Override void frameworkMessage(final SchedulerDriver schedulerDriver, final Protos.ExecutorID executorID, final Protos.SlaveID slaveID, final byte[] bytes); @Override void disconnected(final SchedulerDriver schedulerDriver); @Override void slaveLost(final SchedulerDriver schedulerDriver, final Protos.SlaveID slaveID); @Override void executorLost(final SchedulerDriver schedulerDriver, final Protos.ExecutorID executorID, final Protos.SlaveID slaveID, final int i); @Override void error(final SchedulerDriver schedulerDriver, final String message);  }
@Test public void assertFrameworkMessage() { schedulerEngine.frameworkMessage(null, null, Protos.SlaveID.newBuilder().setValue("slave-S0").build(), new byte[1]); }