nyaa/tests/test_backend.py

57 lines
2.0 KiB
Python

import unittest
from nyaa import backend
class TestBackend(unittest.TestCase):
# def setUp(self):
# self.db, nyaa.app.config['DATABASE'] = tempfile.mkstemp()
# nyaa.app.config['TESTING'] = True
# self.app = nyaa.app.test_client()
# with nyaa.app.app_context():
# nyaa.db.create_all()
#
# def tearDown(self):
# os.close(self.db)
# os.unlink(nyaa.app.config['DATABASE'])
def test_replace_utf8_values(self):
test_dict = {
'hash': '2346ad27d7568ba9896f1b7da6b5991251debdf2',
'title.utf-8': '¡hola! ¿qué tal?',
'filelist.utf-8': [
'Español 101.mkv',
'ру́сский 202.mp4'
]
}
expected_dict = {
'hash': '2346ad27d7568ba9896f1b7da6b5991251debdf2',
'title': '¡hola! ¿qué tal?',
'filelist': [
'Español 101.mkv',
'ру́сский 202.mp4'
]
}
self.assertTrue(backend._replace_utf8_values(test_dict))
self.assertDictEqual(test_dict, expected_dict)
def test_replace_invalid_xml_chars(self):
self.assertEqual(backend.sanitize_string('ayy\x08lmao'), 'ayy\uFFFDlmao')
self.assertEqual(backend.sanitize_string('ayy\x0clmao'), 'ayy\uFFFDlmao')
self.assertEqual(backend.sanitize_string('ayy\uD8FFlmao'), 'ayy\uFFFDlmao')
self.assertEqual(backend.sanitize_string('ayy\uFFFElmao'), 'ayy\uFFFDlmao')
self.assertEqual(backend.sanitize_string('\x08ayy\x0clmao'), '\uFFFDayy\uFFFDlmao')
self.assertEqual(backend.sanitize_string('ayy\x08\x0clmao'), 'ayy\uFFFD\uFFFDlmao')
self.assertEqual(backend.sanitize_string('ayy\x08\x08lmao'), 'ayy\uFFFD\uFFFDlmao')
self.assertEqual(backend.sanitize_string('ぼくのぴこ'), 'ぼくのぴこ')
@unittest.skip('Not yet implemented')
def test_handle_torrent_upload(self):
pass
if __name__ == '__main__':
unittest.main()