void verifyStartArguments(Bundle invocationData, IJobCallback callback) { assertBundlesEqual(invocationData, startArguments.first); assertSame(callback, startArguments.second); }
void verifyStopArguments(Bundle invocationData, boolean needToSendResult) { assertBundlesEqual(invocationData, stopArguments.first); assertEquals(needToSendResult, stopArguments.second); }
@Test public void testCodingForExtras() { Bundle extras = new Bundle(); extras.putString("foo", "bar"); builder.setExtras(extras); Bundle deserializedExtras = coder .decode(coder.encode(setValidBuilderDefaults(builder).build(), new Bundle())) .build() .getExtras(); assertBundlesEqual(extras, deserializedExtras); }
@Test public void finishesJobsQueuedAfterUnbind() throws Exception { final Queue<Pair<Bundle, Integer>> callbackResults = new ArrayDeque<>(); noopCallback = new IJobCallback.Stub() { @Override public void jobFinished(Bundle invocationData, @JobService.JobResult int result) { callbackResults.offer(Pair.create(invocationData, result)); } }; connection = new JobServiceConnection(noopCallback, contextMock); connection.onServiceConnected(null, binderMock); connection.onServiceDisconnected(null); assertThat(callbackResults).isEmpty(); // If the job is queued after the connection has been unbound (regardless of reason) then we // should NOT start it and should instead send a retry message via the callback connection.startJob(job); assertThat(callbackResults).hasSize(1); Pair<Bundle, Integer> result = callbackResults.poll(); assertBundlesEqual(jobData, result.first); assertThat(result.second).isEqualTo(Integer.valueOf(JobService.RESULT_FAIL_RETRY)); } }
static void assertJobsEqual(JobParameters input, JobParameters output) { assertNotNull("input", input); assertNotNull("output", output); assertEquals("isRecurring()", input.isRecurring(), output.isRecurring()); assertEquals( "shouldReplaceCurrent()", input.shouldReplaceCurrent(), output.shouldReplaceCurrent()); assertEquals("getLifetime()", input.getLifetime(), output.getLifetime()); assertEquals("getTag()", input.getTag(), output.getTag()); assertEquals("getService()", input.getService(), output.getService()); assertEquals( "getConstraints()", Constraint.compact(input.getConstraints()), Constraint.compact(output.getConstraints())); assertTriggersEqual(input.getTrigger(), output.getTrigger()); assertBundlesEqual(input.getExtras(), output.getExtras()); assertRetryStrategiesEqual(input.getRetryStrategy(), output.getRetryStrategy()); }