Search in sources :

Example 51 with Feed

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());
        }
    }
}
Also used : FeedItem(de.danoeh.antennapod.model.feed.FeedItem) Feed(de.danoeh.antennapod.model.feed.Feed) Test(org.junit.Test)

Example 52 with Feed

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());
}
Also used : FeedItem(de.danoeh.antennapod.model.feed.FeedItem) Feed(de.danoeh.antennapod.model.feed.Feed) Test(org.junit.Test)

Example 53 with Feed

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());
    }
}
Also used : FeedItem(de.danoeh.antennapod.model.feed.FeedItem) ArrayList(java.util.ArrayList) File(java.io.File) Feed(de.danoeh.antennapod.model.feed.Feed) Test(org.junit.Test)

Example 54 with Feed

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());
        }
    }
}
Also used : FeedItem(de.danoeh.antennapod.model.feed.FeedItem) ArrayList(java.util.ArrayList) File(java.io.File) Feed(de.danoeh.antennapod.model.feed.Feed) Test(org.junit.Test)

Example 55 with Feed

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);
    }
}
Also used : DocumentFile(androidx.documentfile.provider.DocumentFile) AssetsDocumentFile(androidx.documentfile.provider.AssetsDocumentFile) AssetsDocumentFile(androidx.documentfile.provider.AssetsDocumentFile) Feed(de.danoeh.antennapod.model.feed.Feed)

Aggregations

Feed (de.danoeh.antennapod.model.feed.Feed)125 FeedItem (de.danoeh.antennapod.model.feed.FeedItem)75 Test (org.junit.Test)61 ArrayList (java.util.ArrayList)43 Date (java.util.Date)37 File (java.io.File)31 FeedMedia (de.danoeh.antennapod.model.feed.FeedMedia)27 Cursor (android.database.Cursor)15 FeedPreferences (de.danoeh.antennapod.model.feed.FeedPreferences)12 NonNull (androidx.annotation.NonNull)10 Nullable (androidx.annotation.Nullable)8 View (android.view.View)7 DownloadStatus (de.danoeh.antennapod.core.service.download.DownloadStatus)7 Log (android.util.Log)6 R (de.danoeh.antennapod.R)6 DownloadRequest (de.danoeh.antennapod.core.service.download.DownloadRequest)6 List (java.util.List)6 ViewGroup (android.view.ViewGroup)5 AlertDialog (androidx.appcompat.app.AlertDialog)5 RequestOptions (com.bumptech.glide.request.RequestOptions)5