|
1 | 1 | from datetime import datetime
|
| 2 | +from typing import Optional |
2 | 3 |
|
3 | 4 | import pytest
|
4 | 5 | from google.api.httpbody_pb2 import HttpBody
|
@@ -165,6 +166,26 @@ async def test_get_images(self, camera: MockCamera, service: CameraRPCService, m
|
165 | 166 | assert response.response_metadata == metadata
|
166 | 167 | assert camera.timeout == loose_approx(18.1)
|
167 | 168 |
|
| 169 | + async def test_get_images_uses_source_name_not_resource_name(self): |
| 170 | + class MockCameraWithCustomSource(MockCamera): |
| 171 | + def __init__(self, name: str, source_name: str): |
| 172 | + super().__init__(name) |
| 173 | + self._source_name = source_name |
| 174 | + |
| 175 | + async def get_images(self, timeout: Optional[float] = None, **kwargs): |
| 176 | + self.timeout = timeout |
| 177 | + return [NamedImage(self._source_name, self.image.data, self.image.mime_type)], self.metadata |
| 178 | + |
| 179 | + custom_camera = MockCameraWithCustomSource("camera", "the_source") |
| 180 | + rm = ResourceManager([custom_camera]) |
| 181 | + service = CameraRPCService(rm) |
| 182 | + |
| 183 | + async with ChannelFor([service]) as channel: |
| 184 | + client = CameraServiceStub(channel) |
| 185 | + request = GetImagesRequest(name="camera") |
| 186 | + response: GetImagesResponse = await client.GetImages(request) |
| 187 | + assert response.images[0].source_name == "the_source" |
| 188 | + |
168 | 189 | async def test_render_frame(self, camera: MockCamera, service: CameraRPCService, image: ViamImage):
|
169 | 190 | assert camera.timeout is None
|
170 | 191 | async with ChannelFor([service]) as channel:
|
|
0 commit comments