sched: schedule RPC methods, transport/client decoding, round trips (T13)

This commit is contained in:
lda
2026-09-09 11:49:35 +07:00 Verified
parent 7f00422fd7
commit 2c84aba96b
16 changed files with 1717 additions and 0 deletions
@@ -860,3 +860,68 @@ def test_openrpc_exposes_typed_run_results(
component_name=component_name,
properties=properties,
)
@pytest.mark.parametrize(
("method_name", "component_name", "properties"),
[
(
"workflow.schedules.create",
"ScheduleResult",
{
"id",
"deployment_id",
"trigger",
"revision",
"enabled",
},
),
(
"workflow.schedules.get",
"ScheduleResult",
{"id", "revision", "paused", "deleted"},
),
(
"workflow.schedules.list",
"ListSchedulesResult",
{"schedules"},
),
(
"workflow.schedules.update",
"ScheduleResult",
{"id", "revision", "updated_at"},
),
(
"workflow.schedules.pause",
"ScheduleResult",
{"id", "paused"},
),
(
"workflow.schedules.resume",
"ScheduleResult",
{"id", "paused"},
),
(
"workflow.schedules.delete",
"ScheduleResult",
{"id", "deleted"},
),
(
"workflow.schedules.occurrences.list",
"OccurrencePage",
{"occurrences", "total", "cursor", "next_cursor", "limit"},
),
],
)
def test_openrpc_exposes_typed_schedule_results(
openrpc_document: dict[str, Any],
method_name: str,
component_name: str,
properties: set[str],
) -> None:
_assert_result_component(
openrpc_document,
method_name=method_name,
component_name=component_name,
properties=properties,
)