__author__ = 'dev' import unittest from feed.feed import Feed import os.path import feedparser import utilities.file_methods as fm class TestFeed(unittest.TestCase): def setUp(self): super().setUp() self.testFeed = Feed("sbk", "podcast", "application/x-bittorrent", "testfeeds/podcast/sbk/sbk.xml") def test_load_new_feed(self): fm.check_and_remove_file("testfeeds/podcast/sbk/sbk.json") self.testFeed.load_new_feed() self.assertTrue(os.path.exists("testfeeds/podcast/sbk/sbk.json")) self.assertIsNotNone(fm.read_json_file("testfeeds/podcast/sbk/sbk.json")) def test_load_new_feed_error_feed_already_exits(self): self.assertRaises(AssertionError, self.testFeed.load_new_feed) def test_load_new_feed_error_none_serializer(self): self.testFeed.serializer = None self.assertRaises(AssertionError, self.testFeed.load_new_feed) def test_load_existing_feed(self): self.testFeed.load_existing_feed() self.assertTrue(os.path.exists("testfeeds/podcast/sbk/sbk.json")) def test_load_existing_feed_error_feed_not_exits(self): fm.check_and_remove_file("testfeeds/podcast/sbk/sbk.json") self.assertRaises(AssertionError, self.testFeed.load_existing_feed) def test_load_existing_feed_error_none_serializer(self): self.testFeed.serializer = None self.assertRaises(AssertionError, self.testFeed.load_existing_feed) def test_load_feed(self): feed = self.testFeed.load_feed() self.assertIsInstance(self.testFeed.load_feed(), feedparser.FeedParserDict) self.assertEqual(0, feed["bozo"]) def test_load_feed_error_none_config(self): self.testFeed.feed_config = None self.assertRaises(AssertionError, self.testFeed.load_feed) def test_load_feed_error_wrong_url(self): self.testFeed = Feed("sbk", "podcast", "audio/mpeg", "testfeeds/podcast/sbk/sbk.xm") feed = self.testFeed.load_feed() self.assertIsInstance(self.testFeed.load_feed(), feedparser.FeedParserDict) self.assertEqual(1, feed["bozo"]) def test_setup_feed(self): self.assertTrue(os.path.exists("testfeeds/podcast/sbk/")) self.assertTrue(os.path.exists("testfeeds/podcast/sbk/sbk-config.json")) self.assertIsNotNone(fm.read_json_file("testfeeds/podcast/sbk/sbk-config.json")) self.assertIsNotNone(self.testFeed.feed_config) self.assertIsNotNone(self.testFeed.feed_folder_path) self.assertIsNotNone(self.testFeed.config_path) def test_setup_feed_error_none_parameter(self): self.assertRaises(AssertionError, self.testFeed.setup_feed, None, "podcast", "audio/mpeg", "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/") self.assertRaises(AssertionError, self.testFeed.setup_feed, "sbk", None, "audio/mpeg", "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/") self.assertRaises(AssertionError, self.testFeed.setup_feed, "sbk", "podcast", None, "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/") self.assertRaises(AssertionError, self.testFeed.setup_feed, "sbk", "podcast", "audio/mpeg", None) def test_create_feed_config_path(self): self.testFeed.config_path = "foo" self.assertEqual(self.testFeed.create_feed_config_path(), "foo") def test_new_feed_folder(self): self.assertTrue(os.path.exists(self.testFeed.new_feed_folder())) def test_new_feed_folder_no_feed_config(self): self.testFeed.feed_folder_path = None self.testFeed.feed_config = None self.assertRaises(AssertionError, self.testFeed.new_feed_folder) def test_create_feed_config_file(self): feed_config = Feed.create_feed_config_file("sbk", "podcast", "audio/mpeg", "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/") self.assertIsNotNone(feed_config) self.assertEqual("sbk", feed_config["FeedName"]) self.assertEqual("podcast", feed_config["FeedType"]) self.assertEqual("audio/mpeg", feed_config["LinkType"]) self.assertEqual("http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/", feed_config["FeedUrl"]) def test_create_feed_config_file_error_wrong_parameter(self): self.assertRaises(AssertionError, Feed.create_feed_config_file, None, "podcast", "audio/mpeg", "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/") self.assertRaises(AssertionError, Feed.create_feed_config_file, "sbk", None, "audio/mpeg", "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/") self.assertRaises(AssertionError, Feed.create_feed_config_file, "sbk", "podcast", None, "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/") self.assertRaises(AssertionError, Feed.create_feed_config_file, "sbk", "podcast", "audio/mpeg", None) self.assertRaises(AssertionError, Feed.create_feed_config_file, "sbk", "podcast", "audiomg", None) if __name__ == '__main__': unittest.main()