Initial SQL-only 1C adapter baseline
This commit is contained in:
@@ -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",
|
||||
]
|
||||
Reference in New Issue
Block a user