Coverage for tests/test_cli.py: 100%
18 statements
« prev ^ index » next coverage.py v6.4.2, created at 2022-07-28 16:50 +0200
« prev ^ index » next coverage.py v6.4.2, created at 2022-07-28 16:50 +0200
1import unittest
2from pathlib import Path
4from archive_md_urls import cli
5from tests.testfiles import (CONVERTED_FILE, TEST_MD1, TEST_MD2, TEST_MD3,
6 TEST_YAML)
9class TestCli(unittest.TestCase):
10 """Test Markdown file searching."""
12 def test_get_md_files(self) -> None:
13 """Test if Markdown files are collected correctly."""
14 # Create list of all files for recursive and non-recursive search in test_data
15 all_files_recursive: list[Path] = [
16 CONVERTED_FILE, TEST_MD1, TEST_MD2, TEST_MD3, TEST_YAML,
17 Path("tests/test_data/subdir/empty_testfile.md")
18 ]
19 all_files_no_rec: list[Path] = [
20 CONVERTED_FILE, TEST_MD1, TEST_MD2, TEST_MD3, TEST_YAML
21 ]
22 # Test single file
23 self.assertEqual(cli.get_md_files([TEST_MD1], False), [TEST_MD1])
24 # Test two individual files
25 self.assertEqual(
26 cli.get_md_files([TEST_MD1, TEST_MD2], False), [TEST_MD1, TEST_MD2]
27 )
28 # Test recursive search in test_data: First, check if all files are
29 # included, then check if number of files is correct
30 scanned_files_rec: list[Path] = cli.get_md_files(
31 [Path("tests/test_data/")], True
32 )
33 self.assertTrue(
34 all(file in scanned_files_rec for file in all_files_recursive)
35 )
36 self.assertEqual(
37 len(scanned_files_rec), len(all_files_recursive)
38 )
39 # Same tests for non-recursive search in test_data
40 scanned_files_no_rec: list[Path] = cli.get_md_files(
41 [Path("tests/test_data/")], False
42 )
43 self.assertTrue(
44 all(file in scanned_files_no_rec for file in all_files_no_rec)
45 )
46 self.assertEqual(
47 len(scanned_files_no_rec), len(all_files_no_rec)
48 )
49 # Test combination of directories and single files that is effectively equal to
50 # a recursive search in test_data
51 scanned_files: list[Path] = cli.get_md_files(
52 [Path("tests/test_data/"),
53 Path("tests/test_data/subdir/empty_testfile.md")],
54 False
55 )
56 self.assertEqual(scanned_files_rec, scanned_files)