Skip to content

Commit 9813bbf

Browse files
committed
chore(CLI/SDK): change from using PATCH to correctly using GET for getTrigger
1 parent 9be7a44 commit 9813bbf

4 files changed

Lines changed: 24 additions & 1 deletion

File tree

cli/kleinkram/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from kleinkram.wrappers import get_project
2424
from kleinkram.wrappers import get_template
2525
from kleinkram.wrappers import get_template_revisions
26+
from kleinkram.wrappers import get_trigger
2627
from kleinkram.wrappers import launch_execution
2728
from kleinkram.wrappers import list_executions
2829
from kleinkram.wrappers import list_files
@@ -49,6 +50,7 @@
4950
"get_project",
5051
"get_template",
5152
"get_template_revisions",
53+
"get_trigger",
5254
"list_files",
5355
"list_missions",
5456
"list_projects",

cli/kleinkram/api/routes.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,11 +281,14 @@ def get_triggers(client: AuthenticatedClient, query: Optional[TriggerQuery] = No
281281
return list(map(lambda p: _parse_action_trigger(TriggerObject(p)), payload))
282282

283283

284+
GET_TRIGGER_ENDPOINT = "/triggers/{}"
285+
286+
284287
def get_trigger(
285288
client: AuthenticatedClient,
286289
trigger_uuid: UUID,
287290
) -> ActionTrigger:
288-
resp = client.patch(UPDATE_TRIGGER.format(trigger_uuid), json={})
291+
resp = client.get(GET_TRIGGER_ENDPOINT.format(trigger_uuid))
289292
if resp.status_code == 404:
290293
raise kleinkram.errors.TriggerNotFound(f"Trigger not found: {trigger_uuid}")
291294
resp.raise_for_status()

cli/kleinkram/wrappers.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,18 @@ def list_triggers(
298298
return list(kleinkram.api.routes.get_triggers(client, query=query))
299299

300300

301+
def get_trigger(
302+
trigger_uuid: IdLike,
303+
*,
304+
client: Optional[AuthenticatedClient] = None,
305+
) -> ActionTrigger:
306+
"""\
307+
get detailed information for a specific trigger by its uuid
308+
"""
309+
client = client or AuthenticatedClient()
310+
return kleinkram.api.routes.get_trigger(client, parse_uuid_like(trigger_uuid))
311+
312+
301313
@overload
302314
def upload(
303315
*,

cli/tests/test_triggers.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from kleinkram.models import WebhookConfig
1515
from kleinkram.wrappers import create_trigger
1616
from kleinkram.wrappers import delete_trigger
17+
from kleinkram.wrappers import get_trigger
1718
from kleinkram.wrappers import list_triggers
1819
from kleinkram.wrappers import update_trigger
1920

@@ -49,6 +50,11 @@ def test_trigger_crud_file(empty_mission, action_template):
4950
assert trigger.config.patterns == ("*.bag", "data/*.csv")
5051
assert trigger.config.event == (FileTriggerEvent.UPLOAD, FileTriggerEvent.DELETE)
5152

53+
# Verify via get_trigger
54+
trigger_detail = get_trigger(trigger_uuid)
55+
assert trigger_detail.uuid == trigger_uuid
56+
assert trigger_detail.name == trigger_name
57+
5258
# 3. Update
5359
new_name = f"trig-upd-{token_hex(4)}"
5460
new_config = FileConfig(patterns=("*.bin",), event=(FileTriggerEvent.UPLOAD,))

0 commit comments

Comments
 (0)