Ejemplo n.º 1
0
def test_fetch_feed_without_links(monkeypatch):
    """
    Episode 'When God Came Down' does not contain any links, including
    enclosures.
    """
    podcast = MagicMock()
    podcast.episodes = []
    podcast.feed = os.path.join(
            os.path.dirname(__file__), 'feeds', 'fightingforthefaith.xml')

    file_storage_mock = MagicMock()
    file_storage_mock.return_value.get_podcasts.return_value.values. \
        return_value = [podcast]
    monkeypatch.setattr('riley.commands.FileStorage', file_storage_mock)

    monkeypatch.setattr('riley.commands.FileEpisodeStorage', MagicMock())

    FetchEpisodes().handle()

    # The episode without any links was not saved
    assert len(podcast.episodes) == 1

    episode = podcast.episodes[0]
    assert episode.title == "Rosebrough's Ramblings on Colossians"
    assert episode.media_href == 'http://0352182.netsolhost.com/F4F/F4F011116.mp3'
Ejemplo n.º 2
0
def test_download_invalid_episodes(monkeypatch):
    podcast = MagicMock()
    podcast.episodes = [0, 1, 2, 3]

    file_storage_mock = MagicMock()
    file_storage_mock.return_value.get_podcasts.return_value = {
        'kalle': podcast}
    monkeypatch.setattr('riley.commands.FileStorage', file_storage_mock)

    with raises(SystemExit) as exception:
        DownloadEpisodes().handle(['kalle', '4'])

    assert exception.value.code == \
       "The podcast does not have an episode with index '4'.\n" \
       "\n" \
       "The valid range is: [0, 3]"
Ejemplo n.º 3
0
def test_fetch_feed_without_enclosure(monkeypatch):
    """
    Item 'Hannas nyårskrönika' does not contain any enclosure.
    """
    podcast = MagicMock()
    podcast.episodes = []
    podcast.feed = os.path.join(
        os.path.dirname(__file__), 'feeds', 'frihetsfaxen.xml')

    file_storage_mock = MagicMock()
    file_storage_mock.return_value.get_podcasts.return_value.values.\
        return_value = [podcast]
    monkeypatch.setattr('riley.commands.FileStorage', file_storage_mock)

    monkeypatch.setattr('riley.commands.FileEpisodeStorage', MagicMock())

    FetchEpisodes().handle()

    # The episode without an enclosure is not saved
    assert len(podcast.episodes) == 1

    episode = podcast.episodes[0]
    assert episode.title == 'Avsnitt 78 – #DNgate'
    assert episode.media_href == 'http://www.frihetsfaxen.se/mp3/frihetsfaxen78.mp3'