| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- """Quick test for P2-M2 generation endpoints."""
- from fastapi.testclient import TestClient
- from app.main import app
- client = TestClient(app)
- # 1. Scan parameters
- r = client.get("/api/scan-parameters")
- data = r.json()
- print(f"[1] scan-parameters: {r.status_code}, total={data['total']}")
- for p in data["parameters"]:
- print(f" {p['name']} ({p['category']}): {p['default_start']}-{p['default_stop']} {p['unit']}")
- # 2. Recommend range for Airgap with BC
- r2 = client.post("/api/recommend-range", json={
- "parameter_name": "Airgap",
- "boundary_conditions": {"outer_diameter_mm": 76, "target_torque_nm": 2.0},
- })
- print(f"\n[2] recommend-range Airgap: {r2.status_code}")
- print(f" {r2.json()}")
- # 3. Generate plan from BC
- r3 = client.post("/api/generate-plan", json={
- "boundary_conditions": {
- "topology": "SSSR",
- "outer_diameter_mm": 76,
- "inner_diameter_mm": 40,
- "speed_rpm": 5000,
- "current_a": 21,
- "magnet_temp_c": 100,
- },
- "model_path": "models/MARS-12S10P_SSSR_D76-C150_V5.0-0819.mot",
- })
- print(f"\n[3] generate-plan: {r3.status_code}")
- plan = r3.json()
- print(f" name: {plan['name']}")
- print(f" topology: {plan['topology']}")
- print(f" estimated_points: {plan['estimated_points']}")
- print(f" estimated_time_min: {plan['estimated_time_min']}")
- for v in plan["variables"]:
- print(f" {v['name']}: start={v['start']}, stop={v['stop']}, step={v['step']}, values={v['values']}")
- print(f" notes: {v['recommendation_notes']}")
- # 4. Generate plan with specific parameters
- r4 = client.post("/api/generate-plan", json={
- "boundary_conditions": {"outer_diameter_mm": 76, "current_a": 21},
- "parameter_names": ["Airgap", "RMSCurrent"],
- })
- print(f"\n[4] generate-plan (custom params): {r4.status_code}")
- plan4 = r4.json()
- print(f" variables: {[v['name'] for v in plan4['variables']]}")
- print(f" points: {plan4['estimated_points']}")
- print("\n=== ALL GENERATION TESTS PASSED ===")
|