Initial SQL-only 1C adapter baseline

This commit is contained in:
2026-07-22 03:03:47 +03:00
commit e2503b77e7
545 changed files with 184711 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
from __future__ import annotations
import importlib.util
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
SCRIPT = ROOT / "scripts" / "watch_1c_moxel_property_experiment.py"
SPEC = importlib.util.spec_from_file_location("watch_1c_moxel_property_experiment", SCRIPT)
assert SPEC and SPEC.loader
watch = importlib.util.module_from_spec(SPEC)
SPEC.loader.exec_module(watch)
def test_append_manifest_experiment_creates_relative_paths(tmp_path: Path) -> None:
manifest_path = tmp_path / "experiments.json"
before = tmp_path / "before.json"
after = tmp_path / "after.json"
before.write_text("{}", encoding="utf-8")
after.write_text("{}", encoding="utf-8")
experiment = watch.append_manifest_experiment(
manifest_path,
property_name="ВертикальноеПоложение",
operation="manual_one_property_save",
target_text="Ячейка 7 - 2",
target_name="R7C2_TEST",
before_path=before,
after_path=after,
)
manifest = json.loads(manifest_path.read_text(encoding="utf-8"))
assert experiment["before"] == "before.json"
assert experiment["after"] == "after.json"
assert manifest["experiments"] == [experiment]
def test_snapshot_identity_uses_stable_change_fields() -> None:
identity = watch.snapshot_identity({"file_name": "abc", "modified": "4026-01-01", "bytes": 123, "label": "ignored"})
assert identity == {"file_name": "abc", "modified": "4026-01-01", "bytes": 123}
def test_pipeline_command_uses_after_probe_and_manifest() -> None:
command = watch.pipeline_command(Path("after.json"), Path("manifest.json"))
assert command[1:] == [
"scripts/run_1c_moxel_discovery_pipeline.py",
"--probe",
"after.json",
"--property-manifest",
"manifest.json",
]