diff options
author | Sumir Kataria <sumir@google.com> | 2018-06-01 16:57:55 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-06-01 16:57:55 +0000 |
commit | 170ba43e442a28b0091f764e2eec288bbab99fbd (patch) | |
tree | 5c82915a8e089e810e631e5a3557e4f6ebfbbfa3 /work/workmanager/src/androidTest | |
parent | d7d117aae8900092b7def215c4281ec88625b2a0 (diff) | |
parent | eda66d6e6b83e6f68717be95ec10e7ad8f070a83 (diff) | |
download | support-170ba43e442a28b0091f764e2eec288bbab99fbd.tar.gz |
Merge "Add Network to Worker/RuntimeExtras." into pi-preview1-androidx-dev
Diffstat (limited to 'work/workmanager/src/androidTest')
-rw-r--r-- | work/workmanager/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java index abf3450c29d..996c33df00a 100644 --- a/work/workmanager/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java +++ b/work/workmanager/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java @@ -30,6 +30,7 @@ import android.app.job.JobParameters; import android.arch.core.executor.ArchTaskExecutor; import android.arch.core.executor.TaskExecutor; import android.content.Context; +import android.net.Network; import android.net.Uri; import android.os.Build; import android.os.PersistableBundle; @@ -232,6 +233,27 @@ public class SystemJobServiceTest extends WorkManagerTest { assertThat(ContentUriTriggerLoggingWorker.sTriggeredContentUris, is(testContentUris)); } + @Test + @LargeTest + @SdkSuppress(minSdkVersion = 28) + public void testStartJob_passesNetwork() throws InterruptedException { + WorkRequest work = new OneTimeWorkRequest.Builder(NetworkLoggingWorker.class).build(); + insertWork(work); + + Network mockNetwork = mock(Network.class); + + JobParameters mockParams = createMockJobParameters(work.getStringId()); + when(mockParams.getNetwork()).thenReturn(mockNetwork); + + assertThat(NetworkLoggingWorker.sTimesUpdated, is(0)); + assertThat(mSystemJobServiceSpy.onStartJob(mockParams), is(true)); + + Thread.sleep(1000L); + + assertThat(NetworkLoggingWorker.sTimesUpdated, is(1)); + assertThat(NetworkLoggingWorker.sNetwork, is(mockNetwork)); + } + private JobParameters createMockJobParameters(String id) { JobParameters jobParameters = mock(JobParameters.class); @@ -262,4 +284,19 @@ public class SystemJobServiceTest extends WorkManagerTest { return WorkerResult.SUCCESS; } } + + public static class NetworkLoggingWorker extends Worker { + + static int sTimesUpdated = 0; + static Network sNetwork; + + @Override + public WorkerResult doWork() { + synchronized (NetworkLoggingWorker.class) { + ++sTimesUpdated; + sNetwork = getNetwork(); + } + return WorkerResult.SUCCESS; + } + } } |