Skip to content

Commit a6df14a

Browse files
authored
RSDK-11648- add version param for get_fragment (#972)
1 parent a7bc3ef commit a6df14a

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

src/viam/app/app_client.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1766,7 +1766,7 @@ async def list_fragments(
17661766
response: ListFragmentsResponse = await self._app_client.ListFragments(request, metadata=self._metadata)
17671767
return [Fragment.from_proto(fragment=fragment) for fragment in response.fragments]
17681768

1769-
async def get_fragment(self, fragment_id: str) -> Fragment:
1769+
async def get_fragment(self, fragment_id: str, version: Optional[str] = None) -> Fragment:
17701770
"""Get a fragment.
17711771
17721772
::
@@ -1778,6 +1778,7 @@ async def get_fragment(self, fragment_id: str) -> Fragment:
17781778
17791779
Args:
17801780
fragment_id (str): ID of the fragment to get.
1781+
version (str): Optional specification of the fragment version to get (revision or tag).
17811782
17821783
Raises:
17831784
GRPCError: If an invalid fragment ID is passed.
@@ -1787,7 +1788,7 @@ async def get_fragment(self, fragment_id: str) -> Fragment:
17871788
17881789
For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#getfragment>`_.
17891790
"""
1790-
request = GetFragmentRequest(id=fragment_id)
1791+
request = GetFragmentRequest(id=fragment_id, version=version)
17911792
response: GetFragmentResponse = await self._app_client.GetFragment(request, metadata=self._metadata)
17921793
return Fragment.from_proto(fragment=response.fragment)
17931794

tests/mocks/services.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1627,6 +1627,7 @@ async def GetFragment(self, stream: Stream[GetFragmentRequest, GetFragmentRespon
16271627
request = await stream.recv_message()
16281628
assert request is not None
16291629
self.fragment_id = request.id
1630+
self.version = request.version
16301631
await stream.send_message(GetFragmentResponse(fragment=self.fragment))
16311632

16321633
async def GetFragmentHistory(self, stream: Stream[GetFragmentHistoryRequest, GetFragmentHistoryResponse]) -> None:

tests/test_app_client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,8 +574,9 @@ async def test_list_fragments(self, service: MockApp):
574574
async def test_get_fragment(self, service: MockApp):
575575
async with ChannelFor([service]) as channel:
576576
client = AppClient(channel, METADATA, ID)
577-
fragment = await client.get_fragment(fragment_id=ID)
577+
fragment = await client.get_fragment(fragment_id=ID, version=VERSION)
578578
assert service.fragment_id == ID
579+
assert service.version == VERSION
579580
assert fragment.proto == FRAGMENT
580581

581582
async def test_create_fragment(self, service: MockApp):

0 commit comments

Comments
 (0)