aboutsummaryrefslogtreecommitdiff
path: root/work/workmanager/src/androidTest/java/androidx
diff options
context:
space:
mode:
authorSumir Kataria <sumir@google.com>2018-05-21 15:51:33 -0700
committerSumir Kataria <sumir@google.com>2018-05-21 15:51:33 -0700
commit7b5c560e4098585f73564951621060de708e441f (patch)
tree51238eb2a56e661e5783a3737cb635319160220c /work/workmanager/src/androidTest/java/androidx
parent2309e0599bd54a8d9149ad7bf763eada9d2f1357 (diff)
downloadsupport-7b5c560e4098585f73564951621060de708e441f.tar.gz
Expose tags in Worker.
Plumb tags all the way through. Change the signature of internalInit so it takes one data-holding parameter (Extras, which now contains input Data, tags, and RuntimeExtras). This way, we don't need to change the internalInit signature. This means we won't need dagger updates. Change-Id: I4deff0dda7518d8c253b899922eee647cccef756 Fixes: 79631815 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/WorkerWrapperTest.java50
-rw-r--r--work/workmanager/src/androidTest/java/androidx/work/impl/background/systemjob/SystemJobServiceTest.java2
-rw-r--r--work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java13
-rw-r--r--work/workmanager/src/androidTest/java/androidx/work/worker/LongRunningWorker.java4
4 files changed, 53 insertions, 16 deletions
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java
index bd197407787..3dd75719ba3 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java
@@ -27,6 +27,7 @@ import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.arrayContaining;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.greaterThan;
@@ -36,6 +37,7 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import android.content.Context;
+import android.net.Uri;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.LargeTest;
import android.support.test.filters.SmallTest;
@@ -568,8 +570,7 @@ public class WorkerWrapperTest extends DatabaseTest {
Worker worker = WorkerWrapper.workerFromWorkSpec(
mContext,
getWorkSpec(work),
- Data.EMPTY,
- null);
+ new Extras(Data.EMPTY, Collections.<String>emptyList(), null));
assertThat(worker, is(notNullValue()));
assertThat(worker.getApplicationContext(), is(equalTo(mContext.getApplicationContext())));
@@ -587,8 +588,7 @@ public class WorkerWrapperTest extends DatabaseTest {
Worker worker = WorkerWrapper.workerFromWorkSpec(
mContext,
getWorkSpec(work),
- input,
- null);
+ new Extras(input, Collections.<String>emptyList(), null));
assertThat(worker, is(notNullValue()));
assertThat(worker.getInputData().getString(key, null), is(expectedValue));
@@ -597,8 +597,7 @@ public class WorkerWrapperTest extends DatabaseTest {
worker = WorkerWrapper.workerFromWorkSpec(
mContext,
getWorkSpec(work),
- Data.EMPTY,
- null);
+ new Extras(Data.EMPTY, Collections.<String>emptyList(), null));
assertThat(worker, is(notNullValue()));
assertThat(worker.getInputData().size(), is(0));
@@ -606,6 +605,45 @@ public class WorkerWrapperTest extends DatabaseTest {
@Test
@SmallTest
+ public void testFromWorkSpec_hasCorrectTags() {
+ OneTimeWorkRequest work =
+ new OneTimeWorkRequest.Builder(TestWorker.class)
+ .addTag("one")
+ .addTag("two")
+ .addTag("three")
+ .build();
+ Worker worker = WorkerWrapper.workerFromWorkSpec(
+ mContext,
+ getWorkSpec(work),
+ new Extras(Data.EMPTY, Arrays.asList("one", "two", "three"), null));
+
+ assertThat(worker, is(notNullValue()));
+ assertThat(worker.getTags(), containsInAnyOrder("one", "two", "three"));
+ }
+
+ @Test
+ @SmallTest
+ public void testFromWorkSpec_hasCorrectRuntimeExtras() {
+ OneTimeWorkRequest work =
+ new OneTimeWorkRequest.Builder(TestWorker.class).build();
+ Extras.RuntimeExtras runtimeExtras = new Extras.RuntimeExtras();
+ runtimeExtras.triggeredContentAuthorities = new String[] { "tca1", "tca2", "tca3" };
+ runtimeExtras.triggeredContentUris = new Uri[] { Uri.parse("tcu1"), Uri.parse("tcu2") };
+
+ Worker worker = WorkerWrapper.workerFromWorkSpec(
+ mContext,
+ getWorkSpec(work),
+ new Extras(Data.EMPTY, Collections.<String>emptyList(), runtimeExtras));
+
+ assertThat(worker, is(notNullValue()));
+ assertThat(worker.getTriggeredContentAuthorities(),
+ arrayContaining(runtimeExtras.triggeredContentAuthorities));
+ assertThat(worker.getTriggeredContentUris(),
+ arrayContaining(runtimeExtras.triggeredContentUris));
+ }
+
+ @Test
+ @SmallTest
public void testSuccess_withPendingScheduledWork() {
OneTimeWorkRequest work = new OneTimeWorkRequest.Builder(TestWorker.class).build();
insertWork(work);
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 ae2e6a1417e..a97cc528b54 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
@@ -217,7 +217,7 @@ public class SystemJobServiceTest extends WorkManagerTest {
static Uri[] sTriggeredContentUris;
@Override
- public WorkerResult doWork() {
+ public @NonNull WorkerResult doWork() {
synchronized (ContentUriTriggerLoggingWorker.class) {
++sTimesUpdated;
sTriggeredContentAuthorities = getTriggeredContentAuthorities();
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
index d504cce6a49..dd9baea3207 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
@@ -37,6 +37,7 @@ import androidx.work.DatabaseTest;
import androidx.work.OneTimeWorkRequest;
import androidx.work.State;
import androidx.work.impl.ExecutionListener;
+import androidx.work.impl.Extras;
import androidx.work.impl.Scheduler;
import androidx.work.impl.WorkManagerImpl;
import androidx.work.impl.WorkerWrapper;
@@ -143,8 +144,7 @@ public class ConstraintTrackingWorkerTest extends DatabaseTest implements Execut
mContext,
ConstraintTrackingWorker.class.getName(),
workSpecId,
- input,
- null);
+ new Extras(input, Collections.<String>emptyList(), null));
ConstraintTrackingWorker spyWorker = spy(worker);
when(spyWorker.getWorkDatabase()).thenReturn(mDatabase);
@@ -189,8 +189,7 @@ public class ConstraintTrackingWorkerTest extends DatabaseTest implements Execut
mContext,
ConstraintTrackingWorker.class.getName(),
workSpecId,
- input,
- null);
+ new Extras(input, Collections.<String>emptyList(), null));
ConstraintTrackingWorker spyWorker = spy(worker);
when(spyWorker.getWorkDatabase()).thenReturn(mDatabase);
@@ -234,8 +233,7 @@ public class ConstraintTrackingWorkerTest extends DatabaseTest implements Execut
mContext,
ConstraintTrackingWorker.class.getName(),
workSpecId,
- input,
- null);
+ new Extras(input, Collections.<String>emptyList(), null));
ConstraintTrackingWorker spyWorker = spy(worker);
when(spyWorker.getWorkDatabase()).thenReturn(mDatabase);
@@ -287,8 +285,7 @@ public class ConstraintTrackingWorkerTest extends DatabaseTest implements Execut
mContext,
ConstraintTrackingWorker.class.getName(),
workSpecId,
- input,
- null);
+ new Extras(input, Collections.<String>emptyList(), null));
ConstraintTrackingWorker spyWorker = spy(worker);
when(spyWorker.getWorkDatabase()).thenReturn(mDatabase);
diff --git a/work/workmanager/src/androidTest/java/androidx/work/worker/LongRunningWorker.java b/work/workmanager/src/androidTest/java/androidx/work/worker/LongRunningWorker.java
index a2f24129934..f32b39c2852 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/worker/LongRunningWorker.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/worker/LongRunningWorker.java
@@ -16,12 +16,14 @@
package androidx.work.worker;
+import android.support.annotation.NonNull;
+
import androidx.work.Worker;
public class LongRunningWorker extends Worker {
@Override
- public WorkerResult doWork() {
+ public @NonNull WorkerResult doWork() {
try {
Thread.sleep(5000L);
} catch (InterruptedException e) {