package com.path.android.jobqueue.test.jobmanager;
import com.path.android.jobqueue.Job;
import com.path.android.jobqueue.JobHolder;
import com.path.android.jobqueue.JobManager;
import com.path.android.jobqueue.Params;
import com.path.android.jobqueue.test.jobs.DummyJob;
import org.fest.reflect.core.*;
import org.fest.reflect.method.*;
import static org.hamcrest.CoreMatchers.*;
import org.hamcrest.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.*;
@RunWith(RobolectricTestRunner.class)
public class SessionIdTest extends JobManagerTestBase {
@Test
public void testSessionId() throws Exception {
JobManager jobManager = createJobManager();
Long sessionId = Reflection.field("sessionId").ofType(long.class)
.in(jobManager).get();
jobManager.stop();
Job[] jobs = new Job[]{new DummyJob(new Params(0)), new DummyJob(new Params(0).persist())};
for (Job job : jobs) {
jobManager.addJob(job);
}
Invoker<JobHolder> nextJobMethod = getNextJobMethod(jobManager);
for (int i = 0; i < jobs.length; i++) {
JobHolder jobHolder = nextJobMethod.invoke();
MatcherAssert.assertThat("session id should be correct for job " + i, jobHolder.getRunningSessionId(), equalTo(sessionId));
}
}
}