use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class DbReaderTest method testLoadChaptersOfFeedItemWithChapters.
@Test
public void testLoadChaptersOfFeedItemWithChapters() {
final int numChapters = 3;
DbTestUtils.saveFeedlist(1, 3, false, false, 0);
List<Feed> feeds = saveFeedlist(1, 3, false, true, numChapters);
for (Feed feed : feeds) {
for (FeedItem item : feed.getItems()) {
assertTrue(item.hasChapters());
item.setChapters(DBReader.loadChaptersOfFeedItem(item));
assertTrue(item.hasChapters());
assertNotNull(item.getChapters());
assertEquals(numChapters, item.getChapters().size());
}
}
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class DbReaderTest method testGetItemByGuid.
@Test
public void testGetItemByGuid() {
List<Feed> feeds = saveFeedlist(1, 1, true);
FeedItem item1 = feeds.get(0).getItems().get(0);
FeedItem feedItemByGuid = DBReader.getFeedItemByGuidOrEpisodeUrl(item1.getItemIdentifier(), item1.getMedia().getDownload_url());
assertEquals(item1.getItemIdentifier(), feedItemByGuid.getItemIdentifier());
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class ExceptFavoriteCleanupAlgorithmTest method testPerformAutoCleanupSavesFavorited.
@Test
public void testPerformAutoCleanupSavesFavorited() throws IOException {
Feed feed = new Feed("url", null, "title");
List<FeedItem> items = new ArrayList<>();
feed.setItems(items);
List<File> files = new ArrayList<>();
populateItems(numberOfItems, feed, items, files, FeedItem.UNPLAYED, false, true);
DBTasks.performAutoCleanup(context);
for (int i = 0; i < files.size(); i++) {
assertTrue("Favorite episodes should should not be deleted", files.get(i).exists());
}
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class ExceptFavoriteCleanupAlgorithmTest method testPerformAutoCleanupHandleUnplayed.
@Test
public void testPerformAutoCleanupHandleUnplayed() throws IOException {
Feed feed = new Feed("url", null, "title");
List<FeedItem> items = new ArrayList<>();
feed.setItems(items);
List<File> files = new ArrayList<>();
populateItems(numberOfItems, feed, items, files, FeedItem.UNPLAYED, false, false);
DBTasks.performAutoCleanup(context);
for (int i = 0; i < files.size(); i++) {
if (i < EPISODE_CACHE_SIZE) {
assertTrue("Only enough items should be deleted", files.get(i).exists());
} else {
assertFalse("Expected episode to be deleted", files.get(i).exists());
}
}
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class LocalFeedUpdaterTest method callUpdateFeed.
/**
* Calls the method {@link LocalFeedUpdater#updateFeed(Feed, Context)} with
* the given local feed folder.
*
* @param localFeedDir assets local feed folder with media files
*/
private void callUpdateFeed(@NonNull String localFeedDir) {
DocumentFile documentFile = new AssetsDocumentFile(localFeedDir, context.getAssets());
try (MockedStatic<DocumentFile> dfMock = Mockito.mockStatic(DocumentFile.class)) {
// mock external storage
dfMock.when(() -> DocumentFile.fromTreeUri(any(), any())).thenReturn(documentFile);
// call method to test
Feed feed = new Feed(FEED_URL, null);
LocalFeedUpdater.updateFeed(feed, context);
}
}
Aggregations