|
6 | 6 | import requests_mock |
7 | 7 |
|
8 | 8 | import tableauserverclient as TSC |
| 9 | +from tableauserverclient.datetime_helpers import parse_datetime |
9 | 10 | from tableauserverclient.models.linked_tasks_item import LinkedTaskItem, LinkedTaskStepItem, LinkedTaskFlowRunItem |
10 | 11 |
|
11 | 12 | asset_dir = (Path(__file__).parent / "assets").resolve() |
12 | 13 |
|
13 | 14 | GET_LINKED_TASKS = asset_dir / "linked_tasks_get.xml" |
| 15 | +RUN_LINKED_TASK_NOW = asset_dir / "linked_tasks_run_now.xml" |
14 | 16 |
|
15 | 17 |
|
16 | 18 | class TestLinkedTasks(unittest.TestCase): |
@@ -99,3 +101,29 @@ def test_get_by_id_obj_linked_task(self): |
99 | 101 | assert task.num_steps == 1 |
100 | 102 | assert task.schedule is not None |
101 | 103 | assert task.schedule.id == "be077332-d01d-481b-b2f3-917e463d4dca" |
| 104 | + |
| 105 | + def test_run_now_str_linked_task(self): |
| 106 | + id_ = "1b8211dc-51a8-45ce-a831-b5921708e03e" |
| 107 | + |
| 108 | + with requests_mock.mock() as m: |
| 109 | + m.post(f"{self.baseurl}/{id_}/runNow", text=RUN_LINKED_TASK_NOW.read_text()) |
| 110 | + job = self.server.linked_tasks.run_now(id_) |
| 111 | + |
| 112 | + assert job.id == "269a1e5a-1220-4a13-ac01-704982693dd8" |
| 113 | + assert job.status == "InProgress" |
| 114 | + assert job.created_at == parse_datetime("2022-02-15T00:22:22Z") |
| 115 | + assert job.linked_task_id == id_ |
| 116 | + |
| 117 | + def test_run_now_obj_linked_task(self): |
| 118 | + id_ = "1b8211dc-51a8-45ce-a831-b5921708e03e" |
| 119 | + in_task = LinkedTaskItem() |
| 120 | + in_task.id = id_ |
| 121 | + |
| 122 | + with requests_mock.mock() as m: |
| 123 | + m.post(f"{self.baseurl}/{id_}/runNow", text=RUN_LINKED_TASK_NOW.read_text()) |
| 124 | + job = self.server.linked_tasks.run_now(in_task) |
| 125 | + |
| 126 | + assert job.id == "269a1e5a-1220-4a13-ac01-704982693dd8" |
| 127 | + assert job.status == "InProgress" |
| 128 | + assert job.created_at == parse_datetime("2022-02-15T00:22:22Z") |
| 129 | + assert job.linked_task_id == id_ |
0 commit comments