mirror of
https://github.com/SickGear/SickGear.git
synced 2024-11-25 14:25:05 +00:00
32987134ba
Cleanup most init warnings. Cleanup some vars, pythonic instead of js. Some typos and python var/func names for Scheduler. Remove legacy handlers deprecated in 2020. Remove some legacy tagged stuff. Cleanup ConfigParser and 23.py Change cleanup vendored scandir. Remove redundant pkg_resources.py in favour of the vendor folder. Remove backports. Remove trakt checker. Change remove redundant WindowsSelectorEventLoopPolicy from webserveInit. Cleanup varnames and providers Various minor tidy ups to remove ide warnings.
83 lines
3.4 KiB
Python
83 lines
3.4 KiB
Python
import unittest
|
|
import sys
|
|
import os.path
|
|
|
|
sys.path.insert(1, os.path.abspath('../lib'))
|
|
|
|
from sickgear import helpers
|
|
from sickgear.common import ARCHIVED, SNATCHED, SNATCHED_BEST, SNATCHED_PROPER, \
|
|
DOWNLOADED, SKIPPED, IGNORED, UNAIRED, UNKNOWN, WANTED, Quality
|
|
|
|
|
|
sys.path.insert(1, os.path.abspath('..'))
|
|
|
|
|
|
class HelpersTests(unittest.TestCase):
|
|
def setUp(self):
|
|
super(HelpersTests, self).setUp()
|
|
self.orig_u_key = helpers.unique_key1
|
|
|
|
def tearDown(self):
|
|
super(HelpersTests, self).tearDown()
|
|
helpers.unique_key1 = self.orig_u_key
|
|
|
|
def test_replaceExtension(self):
|
|
self.assertEqual(helpers.replace_extension('foo.avi', 'mkv'), 'foo.mkv')
|
|
self.assertEqual(helpers.replace_extension('.vimrc', 'arglebargle'), '.vimrc')
|
|
self.assertEqual(helpers.replace_extension('a.b.c', 'd'), 'a.b.d')
|
|
self.assertEqual(helpers.replace_extension('', 'a'), '')
|
|
self.assertEqual(helpers.replace_extension('foo.bar', ''), 'foo.')
|
|
|
|
def test_sanitizeFileName(self):
|
|
self.assertEqual(helpers.sanitize_filename('a/b/c'), 'a-b-c')
|
|
self.assertEqual(helpers.sanitize_filename('abc'), 'abc')
|
|
self.assertEqual(helpers.sanitize_filename('a"b'), 'ab')
|
|
self.assertEqual(helpers.sanitize_filename('.a.b..'), 'a.b')
|
|
|
|
def test_sizeof_fmt(self):
|
|
self.assertEqual(helpers.sizeof_fmt(2), '2.0 bytes')
|
|
self.assertEqual(helpers.sizeof_fmt(1024), '1.0 KB')
|
|
self.assertEqual(helpers.sizeof_fmt(2048), '2.0 KB')
|
|
self.assertEqual(helpers.sizeof_fmt(2 ** 20), '1.0 MB')
|
|
self.assertEqual(helpers.sizeof_fmt(1234567), '1.2 MB')
|
|
|
|
def test_remove_non_release_groups(self):
|
|
test_names = {
|
|
('[HorribleSubs] Hidan no Aria AA - 08 [1080p]', True): '[HorribleSubs] Hidan no Aria AA - 08 [1080p]',
|
|
('The.Last.Man.On.Earth.S02E08.No.Bull.1080p.WEB-DL.DD5.1.H264-BTN[rartv]', False):
|
|
'The.Last.Man.On.Earth.S02E08.No.Bull.1080p.WEB-DL.DD5.1.H264-BTN',
|
|
}
|
|
for test_name, test_result in test_names.items():
|
|
self.assertEqual(test_result, helpers.remove_non_release_groups(test_name[0], test_name[1]))
|
|
|
|
def test_should_delete_episode(self):
|
|
test_cases = [
|
|
((SNATCHED, Quality.HDTV), False),
|
|
((SNATCHED_PROPER, Quality.HDTV), False),
|
|
((SNATCHED_BEST, Quality.HDTV), False),
|
|
((DOWNLOADED, Quality.HDTV), False),
|
|
((ARCHIVED, Quality.HDTV), False),
|
|
((ARCHIVED, Quality.NONE), False),
|
|
((SKIPPED, Quality.NONE), True),
|
|
((IGNORED, Quality.NONE), False),
|
|
((UNAIRED, Quality.NONE), True),
|
|
((UNKNOWN, Quality.NONE), True),
|
|
((WANTED, Quality.NONE), True),
|
|
]
|
|
for c, b in test_cases:
|
|
self.assertEqual(helpers.should_delete_episode(Quality.composite_status(*c)), b)
|
|
|
|
def test_encrypt(self):
|
|
helpers.unique_key1 = '0x12d48f154876c16164a1646'
|
|
crypt_test = [
|
|
{'param': ('Test', 0, False), 'result': 'Test'},
|
|
{'param': ('Test', 1, False), 'result': 'ZB1CRg=='},
|
|
{'param': ('ZB1CRg==', 1, True), 'result': 'Test'},
|
|
]
|
|
for t in crypt_test:
|
|
self.assertEqual(t['result'], helpers.encrypt(*t['param']))
|
|
|
|
|
|
if '__main__' == __name__:
|
|
suite = unittest.TestLoader().loadTestsFromTestCase(HelpersTests)
|
|
unittest.TextTestRunner(verbosity=2).run(suite)
|