@Test
  public void schedule_whenRunning_onStopIsCalled() {
    // simulate running job
    Bundle bundle = TestUtil.getBundleForContentJobExecution();

    JobCoder prefixedCoder = new JobCoder(BundleProtocol.PACKED_PARAM_BUNDLE_PREFIX);
    JobInvocation invocation = prefixedCoder.decodeIntentBundle(bundle);
    googlePlayReceiver.prepareJob(jobCallbackMock, bundle);

    when(mMockContext.bindService(
            any(Intent.class), serviceConnectionCaptor.capture(), eq(BIND_AUTO_CREATE)))
        .thenReturn(true);
    new ExecutionDelegator(mMockContext, callbackMock, constraintCheckerMock)
        .executeJob(invocation);

    Job job =
        TestUtil.getBuilderWithNoopValidator()
            .setService(TestJobService.class)
            .setTrigger(invocation.getTrigger())
            .setTag(invocation.getTag())
            .build();

    googlePlayDriver.schedule(job); // reschedule request during the execution

    verify(mMockContext).sendBroadcast(any(Intent.class));

    assertTrue(serviceConnectionCaptor.getValue().wasUnbound());
    assertNull(
        "JobServiceConnection should be removed.",
        ExecutionDelegator.getJobServiceConnection(invocation.getService()));
  }
Tests for the {@link GooglePlayDriver} class.
jobdispatcher/src/test/java/com/firebase/jobdispatcher/GooglePlayDriverTest.java