aboutsummaryrefslogtreecommitdiff
path: root/work/workmanager/src/androidTest/java
diff options
context:
space:
mode:
authorSumir Kataria <sumir@google.com>2018-06-01 16:57:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-06-01 16:57:55 +0000
commit170ba43e442a28b0091f764e2eec288bbab99fbd (patch)
tree5c82915a8e089e810e631e5a3557e4f6ebfbbfa3 /work/workmanager/src/androidTest/java
parentd7d117aae8900092b7def215c4281ec88625b2a0 (diff)
parenteda66d6e6b83e6f68717be95ec10e7ad8f070a83 (diff)
downloadsupport-170ba43e442a28b0091f764e2eec288bbab99fbd.tar.gz
Merge "Add Network to Worker/RuntimeExtras." into pi-preview1-androidx-dev
Diffstat (limited to 'work/workmanager/src/androidTest/java')
-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;
+ }
+ }
}