Files
feedcrawler/testenv/tests/feed/test_torrent_cli_entry_handler.py
2016-07-01 09:39:03 +02:00

54 lines
2.3 KiB
Python
Executable File

__author__ = 'dev'
import unittest
from feed.torrent_cli_entry_handler import TorrentCliEntryHandler
from feed.feed import Feed
import urllib
import os
from config.config import Config
import shutil
import subprocess
class TestTorrentCliEntryHandler(unittest.TestCase):
def setUp(self):
self.__feed = Feed("sbk", "podcast", "application/x-bittorrent", "testfeeds/podcast/sbk/sbk.xml")
self.__test_torrent = "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK028_Arbeit.mp3.torrent"
self.__test_torrent2 = "testfeeds/podcast/SBK028_Arbeit.mp3.torrent"
self.__test_torrent3 = "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK028_Arbeit.mp3.torren"
self.__test_torrent4 = "testfeeds/podcast/SBK028_Arbeit.mp3.trrent"
self.__torrent_file = "/home/dev/projects/feedcrawler/testenv/testtorrents/SBK028_Arbeit.mp3.torrent"
self.__torrent_folder = Config["TorrentStorageFolder"]
self.__tceh = TorrentCliEntryHandler(self.__feed)
def tearDown(self):
if os.path.exists(self.__torrent_file):
os.remove(self.__torrent_file)
if os.path.exists(self.__torrent_folder):
shutil.rmtree(self.__torrent_folder)
def test_download_torrent(self):
self.__tceh.download_torrent(self.__test_torrent)
self.assertTrue(os.path.exists(self.__torrent_file))
os.remove(self.__torrent_file)
self.__tceh.download_torrent(self.__test_torrent2)
self.assertTrue(os.path.exists(self.__torrent_file))
def test_download_torrent_wrong_url(self):
self.assertRaises(urllib.error.HTTPError, self.__tceh.download_torrent,self.__test_torrent3)
self.assertRaises(ValueError, self.__tceh.download_torrent, self.__test_torrent4)
def test_init_torrent_folder(self):
self.__tceh.init_torrent_folder(self.__torrent_folder)
self.assertTrue(os.path.exists(self.__torrent_folder))
self.assertTrue(os.path.exists(TorrentCliEntryHandler.SettingFile))
def test_start_torrent(self):
tc = self.__tceh.start_torrent("/home/dev/projects/feedcrawler/testenv/testfeeds/podcast/SBK028_Arbeit.mp3.torrent", "testtorrents/", "testtorrents/")
self.assertTrue(isinstance(tc, subprocess.Popen))
tc.terminate()
if __name__ == '__main__':
unittest.main()