diff options
author | Sumir Kataria <sumir@google.com> | 2018-05-31 15:24:48 -0700 |
---|---|---|
committer | Sumir Kataria <sumir@google.com> | 2018-05-31 15:24:48 -0700 |
commit | eda66d6e6b83e6f68717be95ec10e7ad8f070a83 (patch) | |
tree | 2e7ad9a986fcfe42f78a91983d800e1355c79a17 /work/workmanager/src/androidTest/java/androidx | |
parent | db7efc1b00edff080233d11cdf29ac2671e310c0 (diff) | |
download | support-eda66d6e6b83e6f68717be95ec10e7ad8f070a83.tar.gz |
Add Network to Worker/RuntimeExtras.
Change-Id: I7c32502700444a9f2109b70791db2192836ba539
Fixes: 74404811
Test: Added and ran tests.
Diffstat (limited to 'work/workmanager/src/androidTest/java/androidx')
-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; + } + } } |