@Test
  public void onJobFinished_successRecurringContentJob_reschedule() {
    JobInvocation jobInvocation =
        receiver.prepareJob(callbackMock, getBundleForContentJobExecutionRecurring());

    receiver.onJobFinished(jobInvocation, JobService.RESULT_SUCCESS);

    verify(driverMock).schedule(jobArgumentCaptor.capture());

    // No need to callback when job finished.
    // Reschedule request is treated as two events: completion of old job and scheduling of new
    // job with the same parameters.
    verifyZeroInteractions(callbackMock);

    Job rescheduledJob = jobArgumentCaptor.getValue();
    TestUtil.assertJobsEqual(jobInvocation, rescheduledJob);
  }
The default ShadowMessenger implementation causes NPEs when using the {@link
Messenger#Messenger(Handler)} constructor. We create our own empty Shadow so we can just use
the standard Android implementation, which is totally fine.

@see <a href="https://github.com/robolectric/robolectric/issues/2246">Robolectric issue</a>
jobdispatcher/src/test/java/com/firebase/jobdispatcher/GooglePlayReceiverTest.java