wip: preserve local engine and agent workflow changes before ganjihong refactor integration
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
sys.path.insert(0, str(ROOT / "backend"))
|
||||
|
||||
from app.services.render_bundle import render_section # noqa: E402
|
||||
from app.settings import ProviderConfig, ProviderModel, Settings # noqa: E402
|
||||
|
||||
|
||||
BACKEND = ROOT / "backend"
|
||||
|
||||
|
||||
def settings(root: Path) -> Settings:
|
||||
provider = ProviderConfig("test", "Test", "https://example.invalid/v1", "test-key", (ProviderModel("test-model"),))
|
||||
return Settings(
|
||||
task_root=root / "tasks",
|
||||
conversation_root=root / "conversations",
|
||||
library_root=BACKEND / "cdsl_library",
|
||||
engine_root=BACKEND / "engine" / "cdsl_engine",
|
||||
llm_base_url=provider.base_url,
|
||||
llm_api_key=provider.api_key,
|
||||
llm_model="test-model",
|
||||
llm_timeout_s=1,
|
||||
default_provider_id="test",
|
||||
providers=(provider,),
|
||||
)
|
||||
|
||||
|
||||
class RenderBundleTests(unittest.TestCase):
|
||||
def test_section_uses_build123d_part_operation_and_emits_a_png(self) -> None:
|
||||
import build123d as b3d
|
||||
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary)
|
||||
step_path = root / "block.step"
|
||||
b3d.export_step(b3d.Box(20, 10, 8), str(step_path))
|
||||
|
||||
result = render_section(
|
||||
settings(root),
|
||||
step_path=step_path,
|
||||
output_dir=root / "section",
|
||||
origin_mm=[10, 5, 4],
|
||||
normal=[1, 0, 0],
|
||||
)
|
||||
|
||||
self.assertTrue(Path(str(result["path"])).is_file())
|
||||
self.assertGreater(int(result["contour_count"]), 0)
|
||||
self.assertEqual(result["renderer"], "python-occ-section-pillow")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user