Skip to content

Commit 9750371

Browse files
fix tests local api
1 parent 4f00a0c commit 9750371

File tree

6 files changed

+17
-10
lines changed

6 files changed

+17
-10
lines changed

src/viam/components/movement_sensor/service.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
MovementSensorServiceBase,
3030
)
3131
from viam.resource.rpc_service_base import ResourceRPCServiceBase
32-
from viam.utils import dict_to_struct, struct_to_dict
32+
from viam.utils import dict_to_struct, struct_to_dict, sensor_readings_native_to_value
3333

3434

3535
class MovementSensorRPCService(MovementSensorServiceBase, ResourceRPCServiceBase):
@@ -143,5 +143,5 @@ async def GetReadings(self, stream: Stream[GetReadingsRequest, GetReadingsRespon
143143
sensor = self.get_resource(name)
144144
timeout = stream.deadline.time_remaining() if stream.deadline else None
145145
readings = await sensor.get_readings(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata)
146-
response = GetReadingsResponse(readings=readings)
146+
response = GetReadingsResponse(readings=sensor_readings_native_to_value(readings))
147147
await stream.send_message(response)

src/viam/components/power_sensor/service.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
PowerSensorServiceBase,
1313
)
1414
from viam.resource.rpc_service_base import ResourceRPCServiceBase
15-
from viam.utils import dict_to_struct, struct_to_dict
15+
from viam.utils import dict_to_struct, struct_to_dict, sensor_readings_native_to_value
1616

1717

1818
class PowerSensorRPCService(PowerSensorServiceBase, ResourceRPCServiceBase):
@@ -29,7 +29,7 @@ async def GetReadings(self, stream: Stream[GetReadingsRequest, GetReadingsRespon
2929
sensor = self.get_resource(name)
3030
timeout = stream.deadline.time_remaining() if stream.deadline else None
3131
readings = await sensor.get_readings(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata)
32-
response = GetReadingsResponse(readings=readings)
32+
response = GetReadingsResponse(readings=sensor_readings_native_to_value(readings))
3333
await stream.send_message(response)
3434

3535
async def GetVoltage(self, stream: Stream[GetVoltageRequest, GetVoltageResponse]) -> None:

tests/mocks/components.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,12 @@ async def get_power(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Op
988988
self.timeout = timeout
989989
return self.power
990990

991+
async def get_readings(
992+
self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Mapping[str, float]:
993+
self.extra = extra
994+
self.timeout = timeout
995+
return self.readings
996+
991997
async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]:
992998
return {"command": command}
993999

tests/test_movement_sensor.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
MovementSensorServiceStub,
3535
)
3636
from viam.resource.manager import ResourceManager
37-
from viam.utils import dict_to_struct, struct_to_dict
37+
from viam.utils import dict_to_struct, struct_to_dict, primitive_to_value
3838

3939
from . import loose_approx
4040
from .mocks.components import GEOMETRIES, MockMovementSensor
@@ -291,7 +291,7 @@ async def test_get_readings(self, movement_sensor: MockMovementSensor, service:
291291
request = GetReadingsRequest(name=movement_sensor.name, extra=dict_to_struct(EXTRA_PARAMS))
292292
assert movement_sensor.extra is None
293293
response: GetReadingsResponse = await client.GetReadings(request, timeout=8.90)
294-
assert response.readings == pytest.approx(READINGS)
294+
assert response.readings == {key: primitive_to_value(value) for (key, value) in READINGS.items()}
295295
assert movement_sensor.extra == EXTRA_PARAMS
296296
assert movement_sensor.timeout == loose_approx(8.90)
297297

@@ -402,7 +402,7 @@ async def test_get_readings(self, movement_sensor: MockMovementSensor, service:
402402
client = MovementSensorClient(movement_sensor.name, channel)
403403
assert movement_sensor.extra is None
404404
value = await client.get_readings(extra=EXTRA_PARAMS, timeout=2.34)
405-
assert value == pytest.approx(READINGS)
405+
assert value == {key: primitive_to_value(value) for (key, value) in READINGS.items()}
406406
assert movement_sensor.extra == EXTRA_PARAMS
407407
assert movement_sensor.timeout == loose_approx(2.34)
408408

tests/test_power_sensor.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
)
1616

1717
from viam.resource.manager import ResourceManager
18-
from viam.utils import dict_to_struct, struct_to_dict
18+
from viam.utils import dict_to_struct, struct_to_dict, primitive_to_value
1919

2020
from . import loose_approx
2121
from .mocks.components import MockPowerSensor
@@ -139,7 +139,7 @@ async def test_get_readings(self, power_sensor: MockPowerSensor, service: PowerS
139139
request = GetReadingsRequest(name=power_sensor.name, extra=dict_to_struct(EXTRA_PARAMS))
140140
assert power_sensor.extra is None
141141
response: GetReadingsResponse = await client.GetReadings(request, timeout=8.90)
142-
assert response.readings == pytest.approx(READINGS)
142+
assert response.readings == {key: primitive_to_value(value) for (key, value) in READINGS.items()}
143143
assert power_sensor.extra == EXTRA_PARAMS
144144
assert power_sensor.timeout == loose_approx(8.90)
145145

@@ -193,7 +193,7 @@ async def test_get_readings(self, power_sensor: MockPowerSensor, service: PowerS
193193
client = PowerSensorClient(power_sensor.name, channel)
194194
assert power_sensor.extra is None
195195
value = await client.get_readings(extra=EXTRA_PARAMS, timeout=2.34)
196-
assert value == pytest.approx(READINGS)
196+
assert value == {key: primitive_to_value(value) for (key, value) in READINGS.items()}
197197
assert power_sensor.extra == EXTRA_PARAMS
198198
assert power_sensor.timeout == loose_approx(2.34)
199199

tests/test_robot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ def service() -> RobotService:
166166
compass_heading_supported=False,
167167
),
168168
accuracy={"foo": 0.1, "bar": 2, "baz": 3.14},
169+
readings={"a": 1, "b": 2, "c": 3}
169170
),
170171
MockMLModel("mlmodel1"),
171172
]

0 commit comments

Comments
 (0)