148 lines
7.5 KiB
Python
Executable File
148 lines
7.5 KiB
Python
Executable File
__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", "audio/opus", "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)
|
|
|
|
def test_create_feed_from_feed_config(self):
|
|
newFeed = Feed.create_feed_from_feed_config(self.testFeed.feed_config)
|
|
self.assertEqual(self.testFeed.config_path, newFeed.config_path)
|
|
self.assertEqual(self.testFeed.feed_file_path, newFeed.feed_file_path)
|
|
self.assertEqual(self.testFeed.feed_folder, newFeed.feed_folder)
|
|
self.assertEqual(self.testFeed.feed_folder_path, newFeed.feed_folder_path)
|
|
|
|
def test_create_feed_from_feed_config_error(self):
|
|
self.assertRaises(AssertionError, Feed.create_feed_from_feed_config, None)
|
|
|
|
def test_create_feed_from_feed_config_path(self):
|
|
newFeed = Feed.create_feed_from_feed_config_path(self.testFeed.config_path)
|
|
self.assertEqual(self.testFeed.config_path, newFeed.config_path)
|
|
self.assertEqual(self.testFeed.feed_file_path, newFeed.feed_file_path)
|
|
self.assertEqual(self.testFeed.feed_folder, newFeed.feed_folder)
|
|
self.assertEqual(self.testFeed.feed_folder_path, newFeed.feed_folder_path)
|
|
|
|
def test_create_feed_from_feed_config_path_error(self):
|
|
self.assertRaises(TypeError, Feed.create_feed_from_feed_config_path, None)
|
|
self.assertRaises(AssertionError, Feed.create_feed_from_feed_config_path, "/root")
|
|
self.assertRaises(AssertionError, Feed.create_feed_from_feed_config_path, ".")
|
|
self.assertRaises(AssertionError, Feed.create_feed_from_feed_config_path, "bla.json")
|
|
|
|
def test_create_feed_from_feed_folder_path(self):
|
|
newFeed = Feed.create_feed_from_feed_folder_path(self.testFeed.feed_folder_path)
|
|
self.assertEqual(self.testFeed.config_path, newFeed.config_path)
|
|
self.assertEqual(self.testFeed.feed_file_path, newFeed.feed_file_path)
|
|
self.assertEqual(self.testFeed.feed_folder, newFeed.feed_folder)
|
|
self.assertEqual(self.testFeed.feed_folder_path, newFeed.feed_folder_path)
|
|
|
|
def test_create_feed_from_feed_folder_path_error(self):
|
|
self.assertRaises(TypeError, Feed.create_feed_from_feed_folder_path, None)
|
|
self.assertRaises(IndexError, Feed.create_feed_from_feed_folder_path, "/root")
|
|
self.assertRaises(IndexError, Feed.create_feed_from_feed_folder_path, ".")
|
|
self.assertRaises(AssertionError, Feed.create_feed_from_feed_folder_path, "bla.json")
|
|
|
|
def test_create_feeds_from_storage_folder(self):
|
|
feeds = Feed.create_feeds_from_storage_folder()
|
|
self.assertEqual(2, len(feeds))
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|