Cleanup: Remove commented code, use logging
This commit is contained in:
65
tests/test_make_repo.py
Normal file
65
tests/test_make_repo.py
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
import os
|
||||
import json
|
||||
import blenderpack
|
||||
|
||||
class test_blenderpack_make_repo(unittest.TestCase):
|
||||
|
||||
helper_path = Path('tests', 'test_helpers')
|
||||
addon_path = helper_path / 'addons'
|
||||
|
||||
def test_extract_blinfo_from_nonexistent(self):
|
||||
test_file = 'file_that_doesnt_exist'
|
||||
self.assertRaises(
|
||||
FileNotFoundError,
|
||||
blenderpack.extract_blinfo,
|
||||
self.addon_path / test_file
|
||||
)
|
||||
|
||||
def test_extract_blinfo_from_nonaddon(self):
|
||||
test_file = 'not_an_addon.py'
|
||||
self.assertRaises(
|
||||
blenderpack.BadAddon,
|
||||
blenderpack.extract_blinfo,
|
||||
self.addon_path / test_file
|
||||
)
|
||||
|
||||
def test_make_repo_valid(self):
|
||||
blenderpack.make_repo(self.helper_path / 'addons')
|
||||
repojson = self.helper_path / 'addons' / 'repo.json'
|
||||
|
||||
try:
|
||||
with repojson.open('r') as f:
|
||||
json.loads(f.read())
|
||||
finally:
|
||||
repojson.unlink()
|
||||
|
||||
self.fail('unfinished test')
|
||||
|
||||
def test_make_repo_from_nonexistent(self):
|
||||
blenderpack.make_repo(self.helper_path / 'addons')
|
||||
self.fail('unfinished test')
|
||||
|
||||
|
||||
# testname: filename
|
||||
bl_info_tests = {
|
||||
'test_extract_blinfo_from_file': 'real_addon.py',
|
||||
'test_extract_blinfo_from_zip': 'zipped_addon.zip',
|
||||
'test_extract_blinfo_from_dir': 'dir_addon',
|
||||
}
|
||||
|
||||
def generate_test(test_file):
|
||||
def test(self):
|
||||
reality = str(blenderpack.extract_blinfo(self.addon_path / test_file))
|
||||
with (self.helper_path / (test_file + '_output')).open() as f:
|
||||
expectation = f.read()
|
||||
self.assertEqual(expectation, reality)
|
||||
return test
|
||||
|
||||
for name, param in bl_info_tests.items():
|
||||
test_func = generate_test(param)
|
||||
setattr(test_blenderpack_make_repo, 'test_{}'.format(name), test_func)
|
||||
|
Reference in New Issue
Block a user