|
2 | 2 |
|
3 | 3 |
|
4 | 4 | import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner; |
| 5 | +import androidx.test.internal.util.ReflectionUtil; |
| 6 | +import androidx.work.BackoffPolicy; |
| 7 | +import androidx.work.Constraints; |
| 8 | +import androidx.work.OneTimeWorkRequest; |
| 9 | +import androidx.work.WorkManager; |
| 10 | +import androidx.work.WorkRequest; |
| 11 | +import androidx.work.impl.model.WorkSpec; |
5 | 12 |
|
6 | 13 | import com.cloudinary.android.payload.FilePayload; |
7 | | -import com.evernote.android.job.JobRequest; |
8 | | - |
9 | | -import junit.framework.Assert; |
10 | 14 |
|
| 15 | +import org.junit.Assert; |
11 | 16 | import org.junit.Test; |
12 | 17 | import org.junit.runner.RunWith; |
13 | 18 |
|
14 | 19 | import java.io.IOException; |
| 20 | +import java.lang.reflect.Field; |
| 21 | +import java.lang.reflect.ParameterizedType; |
15 | 22 |
|
16 | 23 | @RunWith(AndroidJUnit4ClassRunner.class) |
17 | 24 | public class AndroidJobStrategyTest extends AbstractTest { |
18 | 25 |
|
19 | 26 | @Test |
20 | | - public void testAdapter() throws InterruptedException, IOException { |
| 27 | + public void testAdapter() throws InterruptedException, IOException, NoSuchFieldException, IllegalAccessException { |
21 | 28 | FilePayload payload = buildPayload(); |
22 | 29 |
|
23 | 30 | int tenMinutes = 10 * 60 * 1000; |
24 | 31 | UploadRequest<FilePayload> request = buildUploadRequest(payload, tenMinutes); |
25 | 32 |
|
26 | | - JobRequest adapted = AndroidJobStrategy.adapt(request); |
| 33 | + WorkRequest adapted = AndroidJobStrategy.adapt(request); |
| 34 | + Class obj = adapted.getClass().getSuperclass(); |
| 35 | + Field field = obj.getDeclaredField("mWorkSpec"); |
| 36 | + field.setAccessible(true); |
| 37 | + Assert.assertEquals(true, adapted.getWorkSpec().constraints.requiresCharging()); |
| 38 | + Assert.assertEquals(false, adapted.getWorkSpec().constraints.requiresDeviceIdle()); |
| 39 | + Assert.assertEquals(10000, adapted.getWorkSpec().backoffDelayDuration); |
| 40 | + Assert.assertEquals(BackoffPolicy.LINEAR, adapted.getWorkSpec().backoffPolicy); |
27 | 41 |
|
28 | | - Assert.assertEquals(20, adapted.getStartMs()); |
29 | | - Assert.assertEquals(tenMinutes, adapted.getEndMs()); |
30 | | - Assert.assertEquals(true, adapted.requiresCharging()); |
31 | | - Assert.assertEquals(false, adapted.requiresDeviceIdle()); |
32 | | - Assert.assertEquals(100, adapted.getBackoffMs()); |
33 | | - Assert.assertEquals(JobRequest.BackoffPolicy.LINEAR, adapted.getBackoffPolicy()); |
34 | | - Assert.assertEquals(9, adapted.getExtras().get("maxErrorRetries")); |
35 | 42 | } |
36 | 43 | } |
0 commit comments