Skip to content

Commit f92ad5a

Browse files
feat(api): GET instruments endpoint returns 200 with body {path,value}
- Wraps driver return value in JSON response - Adjust tests accordingly Co-authored-by: openhands <openhands@all-hands.dev>
1 parent 2e2838d commit f92ad5a

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

benchmesh-serial-service/src/benchmesh_service/api.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,12 @@ def call_driver_get(klass: str, device_id: str, channel: str, method: str):
118118
try:
119119
if lock:
120120
with lock:
121-
getattr(drv, method)()
121+
value = getattr(drv, method)()
122122
else:
123-
getattr(drv, method)()
123+
value = getattr(drv, method)()
124124
except Exception as e:
125125
raise HTTPException(status_code=400, detail=f"Driver method execution failed: {e}")
126-
return Response(status_code=204)
126+
return {"path": f"/instruments/{klass}/{device_id}/{channel}/{method}", "value": value}
127127

128128

129129
@app.post("/instruments/{klass}/{device_id}/{channel}/{method}/{param}", summary="Call driver method (write)")

benchmesh-serial-service/tests/test_api_instruments.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,12 @@ def client_with_fake_mgr(monkeypatch):
4848

4949
def test_get_instrument_method_success(client_with_fake_mgr):
5050
client, fake = client_with_fake_mgr
51-
r = client.get("/instruments/PSU/tenmapsu-1/1/identify")
52-
assert r.status_code == 204
51+
path = "/instruments/PSU/tenmapsu-1/1/identify"
52+
r = client.get(path)
53+
assert r.status_code == 200
54+
body = r.json()
55+
assert body["path"] == path
56+
assert body["value"] == "FAKE,IDN"
5357
assert ("identify", ()) in fake.connections["tenmapsu-1"].calls
5458

5559

0 commit comments

Comments
 (0)