diff options
| author | Terry Truong <terry06890@gmail.com> | 2022-09-11 14:55:42 +1000 |
|---|---|---|
| committer | Terry Truong <terry06890@gmail.com> | 2022-09-11 15:04:14 +1000 |
| commit | 5de5fb93e50fe9006221b30ac4a66f1be0db82e7 (patch) | |
| tree | 2567c25c902dbb40d44419805cebb38171df47fa /backend/tests/eol/test_review_imgs.py | |
| parent | daccbbd9c73a5292ea9d6746560d7009e5aa666d (diff) | |
Add backend unit tests
- Add unit testing code in backend/tests/
- Change to snake-case for script/file/directory names
- Use os.path.join() instead of '/'
- Refactor script code into function defs and a main-guard
- Make global vars all-caps
Some fixes:
- For getting descriptions, some wiki redirects weren't properly resolved
- Linked images were sub-optimally propagated
- Generation of reduced trees assumed a wiki-id association implied a description
- Tilo.py had potential null dereferences by not always using a reduced node set
- EOL image downloading didn't properly wait for all threads to end when finishing
Diffstat (limited to 'backend/tests/eol/test_review_imgs.py')
| -rw-r--r-- | backend/tests/eol/test_review_imgs.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/backend/tests/eol/test_review_imgs.py b/backend/tests/eol/test_review_imgs.py new file mode 100644 index 0000000..49c09bb --- /dev/null +++ b/backend/tests/eol/test_review_imgs.py @@ -0,0 +1,46 @@ +import unittest +import tempfile, os, shutil + +from tests.common import createTestDbTable +from tol_data.eol.review_imgs import reviewImgs + +CLICK_IMG = os.path.join(os.path.dirname(__file__), '..', 'green.png') +AVOID_IMG = os.path.join(os.path.dirname(__file__), '..', 'red.png') + +class TestReviewImgs(unittest.TestCase): + def test_review(self): + with tempfile.TemporaryDirectory() as tempDir: + # Create input images + imgDir = os.path.join(tempDir, 'imgs_for_review') + os.mkdir(imgDir) + shutil.copy(CLICK_IMG, os.path.join(imgDir, '1 10.jpg')) + shutil.copy(CLICK_IMG, os.path.join(imgDir, '2 20.jpeg')) + shutil.copy(AVOID_IMG, os.path.join(imgDir, '2 21.gif')) + shutil.copy(AVOID_IMG, os.path.join(imgDir, '2 22.jpg')) + shutil.copy(AVOID_IMG, os.path.join(imgDir, '3 30.png')) + shutil.copy(AVOID_IMG, os.path.join(imgDir, '3 31.jpg')) + # Create temp extra-info db + extraInfoDb = os.path.join(tempDir, 'data.db') + createTestDbTable( + extraInfoDb, + 'CREATE TABLE eol_ids (name TEXT PRIMARY KEY, id INT)', + 'INSERT INTO eol_ids VALUES (?, ?)', + { + ('one', 1), + ('two', 2), + ('three', 3), + } + ) + createTestDbTable( + extraInfoDb, + 'CREATE TABLE names(name TEXT, alt_name TEXT, pref_alt INT, src TEXT, PRIMARY KEY(name, alt_name))', + 'INSERT OR IGNORE INTO names VALUES (?, ?, ?, ?)', + { + ('two','II',1,'eol'), + } + ) + # Run + outDir = os.path.join(tempDir, 'imgs') + reviewImgs(imgDir, outDir, extraInfoDb) + # Check + self.assertEqual(set(os.listdir(outDir)), {'1 10.jpg', '2 20.jpeg'}) |
