use of com.evernote.android.job.JobCreator in project android-job by evernote.
the class PlatformWorkManagerTest method testExecution.
@Test
public void testExecution() {
final AtomicBoolean executed = new AtomicBoolean(false);
final Job job = new Job() {
@NonNull
@Override
protected Result onRunJob(@NonNull Params params) {
executed.set(true);
return Result.SUCCESS;
}
};
mWorkManagerRule.getManager().addJobCreator(new JobCreator() {
@Nullable
@Override
public Job create(@NonNull String tag) {
if (tag.equals(TAG)) {
return job;
} else {
return null;
}
}
});
int jobId = new JobRequest.Builder(TAG).setExecutionWindow(TimeUnit.HOURS.toMillis(4), TimeUnit.HOURS.toMillis(5)).build().schedule();
String tag = JobProxyWorkManager.createTag(jobId);
mWorkManagerRule.runJob(tag);
WorkInfo.State state = mWorkManagerRule.getWorkStatus(tag).get(0).getState();
assertThat(executed.get()).isTrue();
assertThat(state).isEqualTo(WorkInfo.State.SUCCEEDED);
}
Aggregations