test: 覆盖 Wiki 镜像脏文件保护 (#1)
This commit is contained in:
+16
-1
@@ -6,7 +6,7 @@ import sys
|
|||||||
import tempfile
|
import tempfile
|
||||||
import unittest
|
import unittest
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from unittest.mock import patch
|
from unittest.mock import Mock, patch
|
||||||
|
|
||||||
|
|
||||||
ROOT = Path(__file__).resolve().parents[1]
|
ROOT = Path(__file__).resolve().parents[1]
|
||||||
@@ -22,6 +22,7 @@ from wiki_docs import ( # noqa: E402
|
|||||||
load_config,
|
load_config,
|
||||||
parse_mirror,
|
parse_mirror,
|
||||||
render_mirror,
|
render_mirror,
|
||||||
|
sync_all,
|
||||||
validate_mappings,
|
validate_mappings,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -99,6 +100,20 @@ class MirrorTests(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
self.assertEqual(dirty_mirror_paths(config), [" M docs/README.md"])
|
self.assertEqual(dirty_mirror_paths(config), [" M docs/README.md"])
|
||||||
|
|
||||||
|
@patch("wiki_docs.dirty_mirror_paths", return_value=[" M docs/README.md"])
|
||||||
|
def test_sync_stops_before_reading_wiki_when_mirror_is_dirty(self, _dirty) -> None:
|
||||||
|
config = Config(
|
||||||
|
path=Path("wiki-docs.json"),
|
||||||
|
gitea_url="http://gitea.example",
|
||||||
|
owner="o",
|
||||||
|
repository="r",
|
||||||
|
mappings=(Mapping("Home", "docs/README.md"),),
|
||||||
|
)
|
||||||
|
client = Mock()
|
||||||
|
with self.assertRaisesRegex(WikiDocsError, "未提交改动"):
|
||||||
|
sync_all(config, client)
|
||||||
|
client.get_page.assert_not_called()
|
||||||
|
|
||||||
|
|
||||||
class ArchiveTests(unittest.TestCase):
|
class ArchiveTests(unittest.TestCase):
|
||||||
def test_safe_title_handles_windows_characters(self) -> None:
|
def test_safe_title_handles_windows_characters(self) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user