Files
reyna-cli/tests/test_scheme_must_use.py
T
Adolfo Reyna 9fd04b0ce4 feat(privacy-host): add signed native calendar contacts and reminders host
Add the owner-only AF_UNIX Reyna CLI privacy host, strict signed-app installation, and typed native routing for Calendar, Contacts, and Reminders.\n\nAdd bounded system-status paths and config-only direct local-service wrappers. Preserve MacMiniMCP pending explicit cutover approval.\n\nApple Notes is intentionally deferred: no native Notes operations, Apple Events declaration, or Automation helper are included; legacy Notes handling remains untouched.
2026-08-03 20:27:54 -04:00

45 lines
2.1 KiB
Python

"""TDD: builder must use -scheme and derivedDataPath, not -target incompatible form."""
from pathlib import Path
import tempfile
def test_builder_uses_scheme_and_derived_data_path():
from reyna_cli import app_bundle as ab
repo_root = Path(tempfile.mkdtemp()) / "repo"
(repo_root / "native" / "ReynaCLIHost" / "ReynaCLIHost.xcodeproj").mkdir(parents=True)
(repo_root / "native" / "ReynaCLIHost" / "ReynaCLIHost").mkdir(parents=True, exist_ok=True)
(repo_root / "native" / "ReynaCLIHost" / "ReynaCLIHost" / "Info.plist").write_text("<plist></plist>")
derived = repo_root / "custom" / "DerivedData"
cmd = ab.build_xcodebuild_command(repo_root=repo_root, derived_data_path=derived, disable_code_signing=True)
# Must use -scheme with valid scheme name
assert "-scheme" in cmd, f"expected -scheme in {cmd}, got {cmd}"
scheme_idx = cmd.index("-scheme")
assert cmd[scheme_idx + 1] == "Reyna CLI", f"scheme name mismatch {cmd}"
# Must have derivedDataPath
assert "-derivedDataPath" in cmd
dd_idx = cmd.index("-derivedDataPath")
assert cmd[dd_idx + 1] == str(derived)
# Must NOT use -target with -derivedDataPath (invalid, RC 64)
assert "-target" not in cmd, f"must not use -target when using -derivedDataPath, got {cmd}"
# Must still contain configuration Release and build verb
assert "-configuration" in cmd
assert "Release" in cmd
assert "build" in cmd
assert "CODE_SIGNING_ALLOWED=NO" in cmd
def test_builder_unsigned_variant_still_uses_scheme():
from reyna_cli import app_bundle as ab
repo_root = Path(tempfile.mkdtemp()) / "repo"
(repo_root / "native" / "ReynaCLIHost" / "ReynaCLIHost.xcodeproj").mkdir(parents=True)
(repo_root / "native" / "ReynaCLIHost" / "ReynaCLIHost").mkdir(parents=True, exist_ok=True)
(repo_root / "native" / "ReynaCLIHost" / "ReynaCLIHost" / "Info.plist").write_text("<plist></plist>")
derived = repo_root / "custom" / "DerivedData"
cmd_signed = ab.build_xcodebuild_command(repo_root=repo_root, derived_data_path=derived, disable_code_signing=False)
assert "-scheme" in cmd_signed
assert "-target" not in cmd_signed