Skip to content

Commit a8a2f3a

Browse files
jorwoodsjacalata
authored andcommitted
feat: batch create schedule (#1714)
* chore: pytestify schedule * chore: remove unused imports * feat: batch update schedule state --------- Co-authored-by: Jordan Woods <13803242+jorwoods@users.noreply.github.com>
1 parent 50971e8 commit a8a2f3a

File tree

1 file changed

+56
-1
lines changed

1 file changed

+56
-1
lines changed

test/test_schedule.py

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
ADD_DATASOURCE_TO_SCHEDULE = TEST_ASSET_DIR / "schedule_add_datasource.xml"
2727
ADD_FLOW_TO_SCHEDULE = TEST_ASSET_DIR / "schedule_add_flow.xml"
2828
GET_EXTRACT_TASKS_XML = TEST_ASSET_DIR / "schedule_get_extract_refresh_tasks.xml"
29-
BATCH_UPDATE_STATE = TEST_ASSET_DIR / "schedules_batch_update_state.xml"
29+
BATCH_UPDATE_STATE = TEST_ASSET_DIR / "schedule_batch_update_state.xml"
3030

3131
WORKBOOK_GET_BY_ID_XML = TEST_ASSET_DIR / "workbook_get_by_id.xml"
3232
DATASOURCE_GET_BY_ID_XML = TEST_ASSET_DIR / "datasource_get_by_id.xml"
@@ -421,3 +421,58 @@ def test_get_extract_refresh_tasks(server: TSC.Server) -> None:
421421
assert isinstance(extracts[0], list)
422422
assert 2 == len(extracts[0])
423423
assert "task1" == extracts[0][0].id
424+
425+
426+
def test_batch_update_state_items(server: TSC.Server) -> None:
427+
server.version = "3.27"
428+
hourly_interval = TSC.HourlyInterval(start_time=time(2, 30), end_time=time(23, 0), interval_value=2)
429+
args = ("hourly", 50, TSC.ScheduleItem.Type.Extract, TSC.ScheduleItem.ExecutionOrder.Parallel, hourly_interval)
430+
new_schedules = [TSC.ScheduleItem(*args), TSC.ScheduleItem(*args), TSC.ScheduleItem(*args)]
431+
new_schedules[0]._id = "593d2ebf-0d18-4deb-9d21-b113a4902583"
432+
new_schedules[1]._id = "cecbb71e-def0-4030-8068-5ae50f51db1c"
433+
new_schedules[2]._id = "f39a6e7d-405e-4c07-8c18-95845f9da80e"
434+
435+
state = "active"
436+
with requests_mock.mock() as m:
437+
m.put(f"{server.schedules.baseurl}?state={state}", text=BATCH_UPDATE_STATE.read_text())
438+
resp = server.schedules.batch_update_state(new_schedules, state)
439+
440+
assert len(resp) == 3
441+
for sch, r in zip(new_schedules, resp):
442+
assert sch.id == r
443+
444+
445+
def test_batch_update_state_str(server: TSC.Server) -> None:
446+
server.version = "3.27"
447+
new_schedules = [
448+
"593d2ebf-0d18-4deb-9d21-b113a4902583",
449+
"cecbb71e-def0-4030-8068-5ae50f51db1c",
450+
"f39a6e7d-405e-4c07-8c18-95845f9da80e",
451+
]
452+
453+
state = "suspended"
454+
with requests_mock.mock() as m:
455+
m.put(f"{server.schedules.baseurl}?state={state}", text=BATCH_UPDATE_STATE.read_text())
456+
resp = server.schedules.batch_update_state(new_schedules, state)
457+
458+
assert len(resp) == 3
459+
for sch, r in zip(new_schedules, resp):
460+
assert sch == r
461+
462+
463+
def test_batch_update_state_all(server: TSC.Server) -> None:
464+
server.version = "3.27"
465+
new_schedules = [
466+
"593d2ebf-0d18-4deb-9d21-b113a4902583",
467+
"cecbb71e-def0-4030-8068-5ae50f51db1c",
468+
"f39a6e7d-405e-4c07-8c18-95845f9da80e",
469+
]
470+
471+
state = "suspended"
472+
with requests_mock.mock() as m:
473+
m.put(f"{server.schedules.baseurl}?state={state}&updateAll=true", text=BATCH_UPDATE_STATE.read_text())
474+
_ = server.schedules.batch_update_state(new_schedules, state, True)
475+
476+
history = m.request_history[0]
477+
478+
assert history.text == "<tsRequest />"

0 commit comments

Comments
 (0)