def test_dont_save_podcast_if_not_modified(tmpdir, monkeypatch): monkeypatch.setattr( 'riley.storage.user_data_dir', lambda x, y: tmpdir.strpath) podcast = Podcast('abc', 'def', MagicMock()) file_storage = FileStorage() save_config_data = MagicMock(side_effect=file_storage._save_config_data) file_storage._save_config_data = save_config_data file_storage.save_podcast(podcast) # Wrote the podcats to disc assert file_storage._save_config_data.call_count == 1 file_storage.save_podcast(podcast) # Since the podcast hasn't been modified it wasn't rewritten to disc assert file_storage._save_config_data.call_count == 1
def test_dont_save_podcast_if_not_modified(tmpdir, monkeypatch): monkeypatch.setattr('riley.storage.user_data_dir', lambda x, y: tmpdir.strpath) podcast = Podcast('abc', 'def', MagicMock()) file_storage = FileStorage() save_config_data = MagicMock(side_effect=file_storage._save_config_data) file_storage._save_config_data = save_config_data file_storage.save_podcast(podcast) # Wrote the podcats to disc assert file_storage._save_config_data.call_count == 1 file_storage.save_podcast(podcast) # Since the podcast hasn't been modified it wasn't rewritten to disc assert file_storage._save_config_data.call_count == 1
def test_save_podcast(tmpdir, monkeypatch): file_storage = FileStorage() monkeypatch.setattr( 'riley.storage.user_data_dir', lambda x, y: tmpdir.strpath) podcast = Podcast('abc', 'def', FileEpisodeStorage()) podcast.episodes.append(Episode( podcast, 1, 2, 3, 4, strptime('2015-11-12 01:02:03', '%Y-%m-%d %H:%M:%S'), True)) file_storage.save_podcast(podcast) config_path = tmpdir.join('config.yml') data = yaml.load(config_path.read()) assert len(data) == 2 assert data['podcasts'] == {'abc': {'feed': 'def', 'priority': 5}} history_path = tmpdir.join('abc_history.csv') assert history_path.read() == \ 'guid,title,link,media_href,published,downloaded\n' \ '1,2,3,4,2015-11-12 01:02:03,True\n'
def test_save_podcast(tmpdir, monkeypatch): file_storage = FileStorage() monkeypatch.setattr('riley.storage.user_data_dir', lambda x, y: tmpdir.strpath) podcast = Podcast('abc', 'def', FileEpisodeStorage()) podcast.episodes.append( Episode(podcast, 1, 2, 3, 4, strptime('2015-11-12 01:02:03', '%Y-%m-%d %H:%M:%S'), True)) file_storage.save_podcast(podcast) config_path = tmpdir.join('config.yml') data = yaml.load(config_path.read()) assert len(data) == 2 assert data['podcasts'] == {'abc': {'feed': 'def', 'priority': 5}} history_path = tmpdir.join('abc_history.csv') assert history_path.read() == \ 'guid,title,link,media_href,published,downloaded\n' \ '1,2,3,4,2015-11-12 01:02:03,True\n'
def handle(self, name, url): file_storage = FileStorage() if name not in file_storage.get_podcasts(): file_storage.save_podcast(Podcast(name, url, FileEpisodeStorage())) else: sys.exit("The name '%s' is already registered." % name)