summaryrefslogtreecommitdiff
path: root/app/src/androidTest
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2020-03-26 17:17:52 +0100
committerGitHub <noreply@github.com>2020-03-26 17:17:52 +0100
commit11ef58f5920cadadeb8e3f34fce14ce8ff005dc8 (patch)
tree940b22047564d71f76e8a2340b1c2d0821ae2a15 /app/src/androidTest
parent9637734000d399ffaa8739f5a3f1c1624b2a6a37 (diff)
parentb4b2b45247a92e7f7e43ab224598ef646608c7be (diff)
downloadAntennaPod-11ef58f5920cadadeb8e3f34fce14ce8ff005dc8.zip
Merge branch 'develop' into NotificationForAutoDownloads
Diffstat (limited to 'app/src/androidTest')
-rw-r--r--app/src/androidTest/java/de/danoeh/antennapod/core/service/download/StubDownloader.java3
-rw-r--r--app/src/androidTest/java/de/test/antennapod/EspressoTestUtils.java6
-rw-r--r--app/src/androidTest/java/de/test/antennapod/NthMatcher.java4
-rw-r--r--app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java6
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/download/DownloadServiceTest.java9
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java1
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java20
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java12
-rw-r--r--app/src/androidTest/java/de/test/antennapod/ui/QueueFragmentTest.java7
-rw-r--r--app/src/androidTest/java/de/test/antennapod/ui/SpeedChangeTest.java27
10 files changed, 42 insertions, 53 deletions
diff --git a/app/src/androidTest/java/de/danoeh/antennapod/core/service/download/StubDownloader.java b/app/src/androidTest/java/de/danoeh/antennapod/core/service/download/StubDownloader.java
index e7fe079a6..7aac738e7 100644
--- a/app/src/androidTest/java/de/danoeh/antennapod/core/service/download/StubDownloader.java
+++ b/app/src/androidTest/java/de/danoeh/antennapod/core/service/download/StubDownloader.java
@@ -1,8 +1,7 @@
package de.danoeh.antennapod.core.service.download;
import androidx.annotation.NonNull;
-
-import de.danoeh.antennapod.core.util.Consumer;
+import androidx.core.util.Consumer;
public class StubDownloader extends Downloader {
diff --git a/app/src/androidTest/java/de/test/antennapod/EspressoTestUtils.java b/app/src/androidTest/java/de/test/antennapod/EspressoTestUtils.java
index 225f07dfd..beb6ad705 100644
--- a/app/src/androidTest/java/de/test/antennapod/EspressoTestUtils.java
+++ b/app/src/androidTest/java/de/test/antennapod/EspressoTestUtils.java
@@ -32,7 +32,9 @@ import java.util.concurrent.TimeoutException;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
+import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.allOf;
@@ -193,4 +195,8 @@ public class EspressoTestUtils {
}
androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
+
+ public static Matcher<View> actionBarOverflow() {
+ return allOf(isDisplayed(), withContentDescription("More options"));
+ }
}
diff --git a/app/src/androidTest/java/de/test/antennapod/NthMatcher.java b/app/src/androidTest/java/de/test/antennapod/NthMatcher.java
index 85eabcc63..933d4faff 100644
--- a/app/src/androidTest/java/de/test/antennapod/NthMatcher.java
+++ b/app/src/androidTest/java/de/test/antennapod/NthMatcher.java
@@ -18,9 +18,7 @@ public class NthMatcher {
@Override
public boolean matches(final Object item) {
if (matcher.matches(item)) {
- if (count.incrementAndGet() == index) {
- return true;
- }
+ return count.incrementAndGet() == index;
}
return false;
}
diff --git a/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java b/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java
index 4f6bf0c1f..6d842aff5 100644
--- a/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java
@@ -139,19 +139,19 @@ public class FeedHandlerTest {
@Test
public void testRSS2Basic() throws IOException, UnsupportedFeedtypeException, SAXException, ParserConfigurationException {
- Feed f1 = createTestFeed(10, false, true, true);
+ Feed f1 = createTestFeed(10, true);
Feed f2 = runFeedTest(f1, new RSS2Generator(), "UTF-8", RSS2Generator.FEATURE_WRITE_GUID);
feedValid(f1, f2, Feed.TYPE_RSS2);
}
@Test
public void testAtomBasic() throws IOException, UnsupportedFeedtypeException, SAXException, ParserConfigurationException {
- Feed f1 = createTestFeed(10, false, true, true);
+ Feed f1 = createTestFeed(10, true);
Feed f2 = runFeedTest(f1, new AtomGenerator(), "UTF-8", 0);
feedValid(f1, f2, Feed.TYPE_ATOM1);
}
- private Feed createTestFeed(int numItems, boolean withImage, boolean withFeedMedia, boolean withChapters) {
+ private Feed createTestFeed(int numItems, boolean withFeedMedia) {
Feed feed = new Feed(0, null, "title", "http://example.com", "This is the description",
"http://example.com/payment", "Daniel", "en", null, "http://example.com/feed", "http://example.com/picture", file.getAbsolutePath(),
"http://example.com/feed", true);
diff --git a/app/src/androidTest/java/de/test/antennapod/service/download/DownloadServiceTest.java b/app/src/androidTest/java/de/test/antennapod/service/download/DownloadServiceTest.java
index 0af972352..b75044d73 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/download/DownloadServiceTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/download/DownloadServiceTest.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.Intent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.core.util.Consumer;
import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;
@@ -35,7 +36,6 @@ import de.danoeh.antennapod.core.service.download.StubDownloader;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.core.storage.DownloadRequester;
-import de.danoeh.antennapod.core.util.Consumer;
import static de.test.antennapod.util.event.DownloadEventListener.withDownloadEventListener;
import static de.test.antennapod.util.event.FeedItemEventListener.withFeedItemEventListener;
@@ -45,13 +45,10 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
/**
- * @see HttpDownloaderTest for the test of actual download (and saving the file)
+ * @see HttpDownloaderTest for the test of actual download (and saving the file).
*/
@RunWith(AndroidJUnit4.class)
public class DownloadServiceTest {
-
- private CountDownLatch latch = null;
- private Feed testFeed = null;
private FeedMedia testMedia11 = null;
private DownloaderFactory origFactory = null;
@@ -61,7 +58,7 @@ public class DownloadServiceTest {
EspressoTestUtils.clearDatabase();
EspressoTestUtils.clearPreferences();
origFactory = DownloadService.getDownloaderFactory();
- testFeed = setUpTestFeeds();
+ Feed testFeed = setUpTestFeeds();
testMedia11 = testFeed.getItemAtIndex(0).getMedia();
}
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
index d4af79645..a00a9965f 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
@@ -124,7 +124,6 @@ public class PlaybackServiceMediaPlayerTest {
}
private Playable writeTestPlayable(String downloadUrl, String fileUrl) {
- final Context c = getInstrumentation().getTargetContext();
Feed f = new Feed(0, null, "f", "l", "d", null, null, null, null, "i", null, null, "l", false);
FeedPreferences prefs = new FeedPreferences(f.getId(), false, FeedPreferences.AutoDeleteAction.NO, VolumeAdaptionSetting.OFF, null, null);
f.setPreferences(prefs);
diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java
index 666cd845e..f4a66ee61 100644
--- a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java
@@ -1,20 +1,16 @@
package de.test.antennapod.storage;
-import android.content.Context;
-
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.LargeTest;
import androidx.test.filters.SmallTest;
import de.danoeh.antennapod.core.feed.Feed;
import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.storage.DBReader;
-import de.danoeh.antennapod.core.storage.FeedItemStatistics;
import de.danoeh.antennapod.core.storage.PodDBAdapter;
import de.danoeh.antennapod.core.util.LongList;
import org.junit.After;
@@ -103,7 +99,6 @@ public class DBReaderTest {
@Test
public void testLoadFeedDataOfFeedItemlist() {
- final Context context = InstrumentationRegistry.getTargetContext();
final int numFeeds = 10;
final int numItems = 1;
List<Feed> feeds = saveFeedlist(numFeeds, numItems, false);
@@ -314,23 +309,10 @@ public class DBReaderTest {
}
@Test
- public void testGetFeedStatisticsCheckOrder() {
- final int NUM_FEEDS = 10;
- final int NUM_ITEMS = 10;
- List<Feed> feeds = DBTestUtils.saveFeedlist(NUM_FEEDS, NUM_ITEMS, false);
- List<FeedItemStatistics> statistics = DBReader.getFeedStatisticsList();
- assertNotNull(statistics);
- assertEquals(feeds.size(), statistics.size());
- for (int i = 0; i < NUM_FEEDS; i++) {
- assertEquals("Wrong entry at index " + i, feeds.get(i).getId(), statistics.get(i).getFeedID());
- }
- }
-
- @Test
public void testGetNavDrawerDataQueueEmptyNoUnreadItems() {
final int NUM_FEEDS = 10;
final int NUM_ITEMS = 10;
- List<Feed> feeds = DBTestUtils.saveFeedlist(NUM_FEEDS, NUM_ITEMS, true);
+ DBTestUtils.saveFeedlist(NUM_FEEDS, NUM_ITEMS, true);
DBReader.NavDrawerData navDrawerData = DBReader.getNavDrawerData();
assertEquals(NUM_FEEDS, navDrawerData.feeds.size());
assertEquals(0, navDrawerData.numNewItems);
diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java
index 10ca281cb..4910882e3 100644
--- a/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java
@@ -6,6 +6,7 @@ import android.database.Cursor;
import android.preference.PreferenceManager;
import android.util.Log;
+import androidx.core.util.Consumer;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.MediumTest;
@@ -31,7 +32,6 @@ import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.core.storage.PodDBAdapter;
-import de.danoeh.antennapod.core.util.Consumer;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import static androidx.test.InstrumentationRegistry.getInstrumentation;
@@ -177,7 +177,7 @@ public class DBWriterTest {
assertTrue(queue.size() != 0);
DBWriter.deleteFeedMediaOfItem(getInstrumentation().getTargetContext(), media.getId());
- Awaitility.await().until(() -> dest.exists() == false);
+ Awaitility.await().until(() -> !dest.exists());
media = DBReader.getFeedMedia(media.getId());
assertNotNull(media);
assertFalse(dest.exists());
@@ -422,7 +422,6 @@ public class DBWriterTest {
}
private FeedMedia playbackHistorySetup(Date playbackCompletionDate) {
- final Context context = getInstrumentation().getTargetContext();
Feed feed = new Feed("url", null, "title");
feed.setItems(new ArrayList<>());
FeedItem item = new FeedItem(0, "title", "id", "link", new Date(), FeedItem.PLAYED, feed);
@@ -558,7 +557,6 @@ public class DBWriterTest {
@Test
public void testAddQueueItemMultipleItems() throws InterruptedException, ExecutionException, TimeoutException {
- final Context context = getInstrumentation().getTargetContext();
final int NUM_ITEMS = 10;
Feed feed = queueTestSetupMultipleItems(NUM_ITEMS);
@@ -583,7 +581,7 @@ public class DBWriterTest {
public void testClearQueue() throws InterruptedException, ExecutionException, TimeoutException {
final int NUM_ITEMS = 10;
- Feed feed = queueTestSetupMultipleItems(NUM_ITEMS);
+ queueTestSetupMultipleItems(NUM_ITEMS);
DBWriter.clearQueue().get(TIMEOUT, TimeUnit.SECONDS);
PodDBAdapter adapter = PodDBAdapter.getInstance();
adapter.open();
@@ -797,7 +795,7 @@ public class DBWriterTest {
) {
List<FeedItem> queue = DBReader.getQueue();
List<Long> itemIdsActualList = toItemIds(queue);
- List<Long> itemIdsExpectedList = new ArrayList<Long>(itemIdsExpected.length);
+ List<Long> itemIdsExpectedList = new ArrayList<>(itemIdsExpected.length);
for (long id : itemIdsExpected) {
itemIdsExpectedList.add(id);
}
@@ -806,7 +804,7 @@ public class DBWriterTest {
}
private static List<Long> toItemIds(List<FeedItem> items) {
- List<Long> itemIds = new ArrayList<Long>(items.size());
+ List<Long> itemIds = new ArrayList<>(items.size());
for(FeedItem item : items) {
itemIds.add(item.getId());
}
diff --git a/app/src/androidTest/java/de/test/antennapod/ui/QueueFragmentTest.java b/app/src/androidTest/java/de/test/antennapod/ui/QueueFragmentTest.java
index 37d76bb6d..ec0d1fa64 100644
--- a/app/src/androidTest/java/de/test/antennapod/ui/QueueFragmentTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/ui/QueueFragmentTest.java
@@ -1,6 +1,7 @@
package de.test.antennapod.ui;
import android.content.Intent;
+import android.view.View;
import androidx.test.espresso.Espresso;
import androidx.test.espresso.intent.rule.IntentsTestRule;
import androidx.test.runner.AndroidJUnit4;
@@ -8,6 +9,7 @@ import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.test.antennapod.EspressoTestUtils;
+import org.hamcrest.Matcher;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -18,6 +20,7 @@ import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.matcher.ViewMatchers.withClassName;
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static de.test.antennapod.NthMatcher.first;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.endsWith;
@@ -48,14 +51,14 @@ public class QueueFragmentTest {
@Test
public void testSortEmptyQueue() {
- Espresso.openContextualActionModeOverflowMenu();
+ onView(first(EspressoTestUtils.actionBarOverflow())).perform(click());
onView(withText(R.string.sort)).perform(click());
onView(withText(R.string.random)).perform(click());
}
@Test
public void testKeepEmptyQueueSorted() {
- Espresso.openContextualActionModeOverflowMenu();
+ onView(first(EspressoTestUtils.actionBarOverflow())).perform(click());
onView(withText(R.string.sort)).perform(click());
onView(withText(R.string.keep_sorted)).perform(click());
}
diff --git a/app/src/androidTest/java/de/test/antennapod/ui/SpeedChangeTest.java b/app/src/androidTest/java/de/test/antennapod/ui/SpeedChangeTest.java
index 194d51a3c..5565bf474 100644
--- a/app/src/androidTest/java/de/test/antennapod/ui/SpeedChangeTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/ui/SpeedChangeTest.java
@@ -7,12 +7,14 @@ import android.preference.PreferenceManager;
import androidx.test.rule.ActivityTestRule;
import androidx.test.runner.AndroidJUnit4;
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.AudioplayerActivity;
+import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.preferences.PlaybackPreferences;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.playback.PlayerStatus;
import de.danoeh.antennapod.core.storage.DBReader;
+import de.danoeh.antennapod.core.util.playback.PlaybackController;
+import de.danoeh.antennapod.fragment.ExternalPlayerFragment;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.test.antennapod.EspressoTestUtils;
import de.test.antennapod.IgnoreOnCi;
@@ -34,6 +36,8 @@ import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
import static de.test.antennapod.EspressoTestUtils.waitForView;
+import static de.test.antennapod.NthMatcher.first;
+import static org.hamcrest.Matchers.allOf;
/**
* User interface tests for changing the playback speed.
@@ -43,10 +47,10 @@ import static de.test.antennapod.EspressoTestUtils.waitForView;
public class SpeedChangeTest {
@Rule
- public ActivityTestRule<AudioplayerActivity> activityRule
- = new ActivityTestRule<>(AudioplayerActivity.class, false, false);
+ public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class, false, false);
private UITestUtils uiTestUtils;
private String[] availableSpeeds;
+ private PlaybackController controller;
@Before
public void setUp() throws Exception {
@@ -70,7 +74,10 @@ public class SpeedChangeTest {
UserPreferences.setPlaybackSpeedArray(availableSpeeds);
EspressoTestUtils.tryKillPlaybackService();
- activityRule.launchActivity(new Intent());
+ activityRule.launchActivity(new Intent().putExtra(MainActivity.EXTRA_OPEN_PLAYER, true));
+ controller = new PlaybackController(activityRule.getActivity(), true);
+ controller.init();
+ controller.getMedia(); // To load media
}
@After
@@ -86,21 +93,21 @@ public class SpeedChangeTest {
@Test
public void testChangeSpeedPlaying() {
onView(isRoot()).perform(waitForView(withId(R.id.butPlay), 1000));
- onView(withId(R.id.butPlay)).perform(click());
+ controller.playPause();
Awaitility.await().atMost(5, TimeUnit.SECONDS).until(()
- -> activityRule.getActivity().getPlaybackController().getStatus() == PlayerStatus.PLAYING);
+ -> controller.getStatus() == PlayerStatus.PLAYING);
clickThroughSpeeds();
}
@Test
public void testChangeSpeedPaused() {
onView(isRoot()).perform(waitForView(withId(R.id.butPlay), 1000));
- onView(withId(R.id.butPlay)).perform(click());
+ controller.playPause();
Awaitility.await().atMost(5, TimeUnit.SECONDS).until(()
- -> activityRule.getActivity().getPlaybackController().getStatus() == PlayerStatus.PLAYING);
- onView(withId(R.id.butPlay)).perform(click());
+ -> controller.getStatus() == PlayerStatus.PLAYING);
+ controller.playPause();
Awaitility.await().atMost(5, TimeUnit.SECONDS).until(()
- -> activityRule.getActivity().getPlaybackController().getStatus() == PlayerStatus.PAUSED);
+ -> controller.getStatus() == PlayerStatus.PAUSED);
clickThroughSpeeds();
}