Release v0.1.8
This commit is contained in:
@@ -33,6 +33,7 @@ from typing import Sequence, Union
|
||||
|
||||
revision: str = "1234"
|
||||
down_revision: Union[str, None] = "base"
|
||||
depends_on: Union[str, None] = "core"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
""",
|
||||
encoding="utf-8",
|
||||
@@ -43,13 +44,14 @@ branch_labels: Union[str, Sequence[str], None] = None
|
||||
self.assertIsNotNone(migration)
|
||||
self.assertEqual(migration.revision, "1234")
|
||||
self.assertEqual(migration.down_revisions, ("base",))
|
||||
self.assertEqual(migration.depends_on, ("core",))
|
||||
self.assertEqual(migration.branch_labels, ())
|
||||
|
||||
def test_release_baseline_matches_current_heads_in_strict_report(self) -> None:
|
||||
audit = load_audit_module()
|
||||
migrations = [
|
||||
audit.Migration("govoplan-core", Path("base.py"), "base", (), ()),
|
||||
audit.Migration("govoplan-core", Path("head.py"), "head", ("base",), ()),
|
||||
audit.Migration("govoplan-core", Path("base.py"), "base", (), (), ()),
|
||||
audit.Migration("govoplan-core", Path("head.py"), "head", ("base",), (), ()),
|
||||
]
|
||||
report = audit.build_report(
|
||||
migrations,
|
||||
@@ -73,8 +75,8 @@ branch_labels: Union[str, Sequence[str], None] = None
|
||||
def test_owner_heads_are_accepted_for_subset_installs(self) -> None:
|
||||
audit = load_audit_module()
|
||||
migrations = [
|
||||
audit.Migration("govoplan-core", Path("base.py"), "base", (), ()),
|
||||
audit.Migration("govoplan-core", Path("core_head.py"), "core-head", ("base",), ()),
|
||||
audit.Migration("govoplan-core", Path("base.py"), "base", (), (), ()),
|
||||
audit.Migration("govoplan-core", Path("core_head.py"), "core-head", ("base",), (), ()),
|
||||
]
|
||||
report = audit.build_report(
|
||||
migrations,
|
||||
@@ -98,9 +100,9 @@ branch_labels: Union[str, Sequence[str], None] = None
|
||||
def test_records_current_release_baseline(self) -> None:
|
||||
audit = load_audit_module()
|
||||
migrations = [
|
||||
audit.Migration("govoplan-core", Path("base.py"), "base", (), ()),
|
||||
audit.Migration("govoplan-core", Path("core_head.py"), "core-head", ("base",), ()),
|
||||
audit.Migration("govoplan-files", Path("files_head.py"), "files-head", ("core-head",), ()),
|
||||
audit.Migration("govoplan-core", Path("base.py"), "base", (), (), ()),
|
||||
audit.Migration("govoplan-core", Path("core_head.py"), "core-head", ("base",), (), ()),
|
||||
audit.Migration("govoplan-files", Path("files_head.py"), "files-head", ("core-head",), (), ()),
|
||||
]
|
||||
report = audit.build_report(
|
||||
migrations,
|
||||
@@ -125,7 +127,7 @@ branch_labels: Union[str, Sequence[str], None] = None
|
||||
def test_missing_down_revision_is_a_graph_error(self) -> None:
|
||||
audit = load_audit_module()
|
||||
migrations = [
|
||||
audit.Migration("govoplan-core", Path("head.py"), "head", ("missing",), ()),
|
||||
audit.Migration("govoplan-core", Path("head.py"), "head", ("missing",), (), ()),
|
||||
]
|
||||
report = audit.build_report(
|
||||
migrations,
|
||||
@@ -136,6 +138,53 @@ branch_labels: Union[str, Sequence[str], None] = None
|
||||
|
||||
self.assertIn("references missing down_revision", report["graph_errors"][0])
|
||||
|
||||
def test_depends_on_participates_in_graph_validation_and_heads(self) -> None:
|
||||
audit = load_audit_module()
|
||||
migrations = [
|
||||
audit.Migration("govoplan-core", Path("core.py"), "core", (), (), ()),
|
||||
audit.Migration("govoplan-files", Path("files.py"), "files", (), ("core",), ()),
|
||||
]
|
||||
report = audit.build_report(
|
||||
migrations,
|
||||
baseline={"version": 1, "releases": []},
|
||||
baseline_file=Path("docs/migration-release-baselines.json"),
|
||||
workspace_root=Path("/workspace"),
|
||||
)
|
||||
|
||||
self.assertEqual(report["graph_errors"], [])
|
||||
self.assertEqual(report["current_heads"], ["files"])
|
||||
|
||||
def test_missing_depends_on_is_a_graph_error(self) -> None:
|
||||
audit = load_audit_module()
|
||||
migrations = [
|
||||
audit.Migration("govoplan-files", Path("files.py"), "files", (), ("missing",), ()),
|
||||
]
|
||||
report = audit.build_report(
|
||||
migrations,
|
||||
baseline={"version": 1, "releases": []},
|
||||
baseline_file=Path("docs/migration-release-baselines.json"),
|
||||
workspace_root=Path("/workspace"),
|
||||
)
|
||||
|
||||
self.assertIn("references missing depends_on", report["graph_errors"][0])
|
||||
|
||||
def test_dev_track_does_not_emit_release_baseline_warnings(self) -> None:
|
||||
audit = load_audit_module()
|
||||
migrations = [
|
||||
audit.Migration("govoplan-core", Path("base.py"), "base", (), (), ()),
|
||||
audit.Migration("govoplan-core", Path("head.py"), "head", ("base",), (), ()),
|
||||
]
|
||||
report = audit.build_report(
|
||||
migrations,
|
||||
baseline={"version": 1, "releases": []},
|
||||
baseline_file=Path("docs/migration-release-baselines.json"),
|
||||
workspace_root=Path("/workspace"),
|
||||
track="dev",
|
||||
)
|
||||
|
||||
self.assertEqual(report["track"], "dev")
|
||||
self.assertEqual(report["strict_errors"], [])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user