aboutsummaryrefslogtreecommitdiff
path: root/work/workmanager/src/androidTest/java/androidx
diff options
context:
space:
mode:
authorSumir Kataria <sumir@google.com>2018-05-31 15:24:48 -0700
committerSumir Kataria <sumir@google.com>2018-05-31 15:24:48 -0700
commiteda66d6e6b83e6f68717be95ec10e7ad8f070a83 (patch)
tree2e7ad9a986fcfe42f78a91983d800e1355c79a17 /work/workmanager/src/androidTest/java/androidx
parentdb7efc1b00edff080233d11cdf29ac2671e310c0 (diff)
downloadsupport-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.java37
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;
+ }
+ }
}