[MediaWiki-commits] [Gerrit] Add SuggestionsTask - change (apps...wikipedia)
Dbrant has submitted this change and it was merged. Change subject: Add SuggestionsTask .. Add SuggestionsTask and refactor the getter for wikidataDescriptions Also only ask for descriptions we don't already have. (Setting primary language to English for the test. Long term we should pass in the language and site.) Change-Id: I3a05e9d66519a8da4d7b677282fea15b0f96573b --- A wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java A wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java A wikipedia/src/main/java/org/wikipedia/page/SuggestionsTask.java M wikipedia/src/main/java/org/wikipedia/search/FullSearchArticlesTask.java M wikipedia/src/main/java/org/wikipedia/search/FullSearchFragment.java M wikipedia/src/main/java/org/wikipedia/wikidata/WikidataCache.java A wikipedia/src/main/java/org/wikipedia/wikidata/WikidataDescriptionFeeder.java 7 files changed, 238 insertions(+), 44 deletions(-) Approvals: Dbrant: Looks good to me, approved diff --git a/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java b/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java new file mode 100644 index 000..d4ac13b --- /dev/null +++ b/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java @@ -0,0 +1,52 @@ +package org.wikipedia.test; + +import org.wikipedia.Site; +import org.wikipedia.WikipediaApp; +import org.wikipedia.page.SuggestionsTask; +import org.wikipedia.search.FullSearchResult; +import android.content.Intent; +import android.test.ActivityUnitTestCase; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +/** + * Tests for getting suggestions for further reading. + */ +public class SuggestionsTaskTests extends ActivityUnitTestCaseTestDummyActivity { +private static final int TASK_COMPLETION_TIMEOUT = 20; +private static final int BATCH_SIZE = 3; +private static final Site SITE = new Site(test.wikipedia.org); + +public SuggestionsTaskTests() { +super(TestDummyActivity.class); +} + +public void testFullTextSearchWithResults() throws Throwable { +startActivity(new Intent(), null, null); +final CountDownLatch completionLatch = new CountDownLatch(1); +runTestOnUiThread(new Runnable() { +@Override +public void run() { +final WikipediaApp app = (WikipediaApp) getInstrumentation().getTargetContext().getApplicationContext(); +new SuggestionsTask(app.getAPIForSite(SITE), SITE, test) { +@Override +public void onCatch(Throwable caught) { +super.onCatch(caught); +} + +@Override +public void onFinish(FullSearchResults results) { +assertNotNull(results); +assertEquals(results.getResults().size(), BATCH_SIZE); + +for (FullSearchResult result : results.getResults()) { + assertFalse(result.getTitle().getPrefixedText().equals(Test)); +} +completionLatch.countDown(); +} +}.execute(); +} +}); +assertTrue(completionLatch.await(TASK_COMPLETION_TIMEOUT, TimeUnit.MILLISECONDS)); +} +} diff --git a/wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java b/wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java new file mode 100644 index 000..c58c7a9 --- /dev/null +++ b/wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java @@ -0,0 +1,95 @@ +package org.wikipedia.test; + +import org.wikipedia.PageTitle; +import org.wikipedia.Site; +import org.wikipedia.WikipediaApp; +import org.wikipedia.search.FullSearchResult; +import org.wikipedia.wikidata.WikidataCache; +import org.wikipedia.wikidata.WikidataDescriptionFeeder; +import android.content.Intent; +import android.test.ActivityUnitTestCase; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +/** + * Tests retrieval of Wikidata descriptions. Talks to wikidata.org. + */ +public final class WikidataDescriptionFeederTests extends ActivityUnitTestCaseTestDummyActivity { +private static final int TASK_COMPLETION_TIMEOUT = 20; +private static final Site SITE = new Site(test.wikipedia.org); +private String originalLanguage; + +public WikidataDescriptionFeederTests() { +super(TestDummyActivity.class); +} + +@Override +public void setUp() throws Exception { +super.setUp(); +startActivity(new Intent(), null, null); +} + +@Override +public void tearDown() throws Exception { +
[MediaWiki-commits] [Gerrit] Add SuggestionsTask - change (apps...wikipedia)
BearND has uploaded a new change for review. https://gerrit.wikimedia.org/r/174365 Change subject: Add SuggestionsTask .. Add SuggestionsTask and refactor the getter for wikidataDescriptions Change-Id: I3a05e9d66519a8da4d7b677282fea15b0f96573b --- A wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java A wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java A wikipedia/src/main/java/org/wikipedia/page/SuggestionsTask.java M wikipedia/src/main/java/org/wikipedia/search/FullSearchFragment.java A wikipedia/src/main/java/org/wikipedia/wikidata/WikidataDescriptionFeeder.java 5 files changed, 207 insertions(+), 41 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/65/174365/1 diff --git a/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java b/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java new file mode 100644 index 000..d4ac13b --- /dev/null +++ b/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java @@ -0,0 +1,52 @@ +package org.wikipedia.test; + +import org.wikipedia.Site; +import org.wikipedia.WikipediaApp; +import org.wikipedia.page.SuggestionsTask; +import org.wikipedia.search.FullSearchResult; +import android.content.Intent; +import android.test.ActivityUnitTestCase; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +/** + * Tests for getting suggestions for further reading. + */ +public class SuggestionsTaskTests extends ActivityUnitTestCaseTestDummyActivity { +private static final int TASK_COMPLETION_TIMEOUT = 20; +private static final int BATCH_SIZE = 3; +private static final Site SITE = new Site(test.wikipedia.org); + +public SuggestionsTaskTests() { +super(TestDummyActivity.class); +} + +public void testFullTextSearchWithResults() throws Throwable { +startActivity(new Intent(), null, null); +final CountDownLatch completionLatch = new CountDownLatch(1); +runTestOnUiThread(new Runnable() { +@Override +public void run() { +final WikipediaApp app = (WikipediaApp) getInstrumentation().getTargetContext().getApplicationContext(); +new SuggestionsTask(app.getAPIForSite(SITE), SITE, test) { +@Override +public void onCatch(Throwable caught) { +super.onCatch(caught); +} + +@Override +public void onFinish(FullSearchResults results) { +assertNotNull(results); +assertEquals(results.getResults().size(), BATCH_SIZE); + +for (FullSearchResult result : results.getResults()) { + assertFalse(result.getTitle().getPrefixedText().equals(Test)); +} +completionLatch.countDown(); +} +}.execute(); +} +}); +assertTrue(completionLatch.await(TASK_COMPLETION_TIMEOUT, TimeUnit.MILLISECONDS)); +} +} diff --git a/wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java b/wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java new file mode 100644 index 000..fdf8033 --- /dev/null +++ b/wikipedia-it/src/main/java/org/wikipedia/test/WikidataDescriptionFeederTests.java @@ -0,0 +1,55 @@ +package org.wikipedia.test; + +import org.wikipedia.Site; +import org.wikipedia.WikipediaApp; +import org.wikipedia.wikidata.WikidataDescriptionsTask; +import org.wikipedia.wikidata.WikidataSite; +import android.content.Intent; +import android.test.ActivityUnitTestCase; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +/** + * Tests retrieval of Wikidata descriptions. Talks to wikidata.org. + */ +public class WikidataDescriptionFeederTests extends ActivityUnitTestCaseTestDummyActivity { +private static final int TASK_COMPLETION_TIMEOUT = 20; +private static final Site SITE = new WikidataSite(); + +public WikidataDescriptionFeederTests() { +super(TestDummyActivity.class); +} + +public void testOneID() throws Throwable { +getWikidataDescriptions(new String[] {Q42}); +} + +public void testThreeIDs() throws Throwable { +getWikidataDescriptions(new String[] {Q1, Q2, Q3}); +} + +public void getWikidataDescriptions(final String[] ids) throws Throwable { +final ArrayListString idList = new ArrayListString(Arrays.asList(ids)); +startActivity(new Intent(), null, null); +final CountDownLatch completionLatch = new CountDownLatch(1); +runTestOnUiThread(new Runnable() { +