Skip to content

Commit 3ccaf2f

Browse files
authored
DATA-4449: Update CLI/SDK for RenameDataPipeline (#964)
1 parent dcb0040 commit 3ccaf2f

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

src/viam/app/data_client.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
ListDataPipelineRunsResponse,
7373
ListDataPipelinesRequest,
7474
ListDataPipelinesResponse,
75+
RenameDataPipelineRequest,
7576
)
7677
from viam.proto.app.datapipelines import (
7778
DataPipeline as ProtoDataPipeline,
@@ -1969,6 +1970,21 @@ async def create_data_pipeline(
19691970
response: CreateDataPipelineResponse = await self._data_pipelines_client.CreateDataPipeline(request, metadata=self._metadata)
19701971
return response.id
19711972

1973+
async def rename_data_pipeline(self, id: str, name: str) -> None:
1974+
"""Rename a data pipeline by its ID.
1975+
::
1976+
1977+
await data_client.rename_data_pipeline(id="<YOUR-DATA-PIPELINE-ID>", name="<YOUR-NEW-NAME>")
1978+
1979+
Args:
1980+
id (str): The ID of the data pipeline to rename.
1981+
name (str): The new name of the data pipeline.
1982+
"""
1983+
if not id or not name:
1984+
raise ValueError("id and name are required")
1985+
request = RenameDataPipelineRequest(id=id, name=name)
1986+
await self._data_pipelines_client.RenameDataPipeline(request, metadata=self._metadata)
1987+
19721988
async def delete_data_pipeline(self, id: str) -> None:
19731989
"""Delete a data pipeline by its ID.
19741990

tests/mocks/services.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@
259259
ListDataPipelineRunsResponse,
260260
ListDataPipelinesRequest,
261261
ListDataPipelinesResponse,
262+
RenameDataPipelineResponse,
262263
UnimplementedDataPipelinesServiceBase,
263264
)
264265
from viam.proto.app.dataset import (
@@ -1188,6 +1189,13 @@ async def ListDataPipelineRuns(self, stream: Stream[ListDataPipelineRunsRequest,
11881189
self.id = request.id
11891190
await stream.send_message(ListDataPipelineRunsResponse(pipeline_id=self.id, runs=self.runs_response))
11901191

1192+
async def RenameDataPipeline(self, stream) -> None:
1193+
request = await stream.recv_message()
1194+
assert request is not None
1195+
self.id = request.id
1196+
self.name = request.name
1197+
await stream.send_message(RenameDataPipelineResponse())
1198+
11911199

11921200
class MockMLTraining(UnimplementedMLTrainingServiceBase):
11931201
def __init__(self, job_id: str, training_metadata: TrainingJobMetadata):

tests/test_data_pipelines.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,9 @@ async def test_list_data_pipeline_runs(self, service: MockDataPipelines):
116116
runs = await client.list_data_pipeline_runs(ID)
117117
runs._client = None
118118
assert runs == DATA_PIPELINE_RUNS_PAGE
119+
120+
async def test_rename_data_pipeline(self, service: MockDataPipelines):
121+
async with ChannelFor([service]) as channel:
122+
client = DataClient(channel, DATA_SERVICE_METADATA)
123+
await client.rename_data_pipeline(ID, NAME)
124+
assert service.name == NAME

0 commit comments

Comments
 (0)