|
1 | 1 | import os |
2 | 2 | import unittest |
3 | 3 | from datetime import time |
| 4 | +from pathlib import Path |
4 | 5 |
|
5 | 6 | import requests_mock |
6 | 7 |
|
7 | 8 | import tableauserverclient as TSC |
8 | 9 | from tableauserverclient.datetime_helpers import parse_datetime |
9 | 10 | from tableauserverclient.models.task_item import TaskItem |
10 | 11 |
|
11 | | -TEST_ASSET_DIR = os.path.join(os.path.dirname(__file__), "assets") |
| 12 | +TEST_ASSET_DIR = Path(__file__).parent / "assets" |
12 | 13 |
|
13 | 14 | GET_XML_NO_WORKBOOK = os.path.join(TEST_ASSET_DIR, "tasks_no_workbook_or_datasource.xml") |
14 | 15 | GET_XML_WITH_WORKBOOK = os.path.join(TEST_ASSET_DIR, "tasks_with_workbook.xml") |
|
17 | 18 | GET_XML_DATAACCELERATION_TASK = os.path.join(TEST_ASSET_DIR, "tasks_with_dataacceleration_task.xml") |
18 | 19 | GET_XML_RUN_NOW_RESPONSE = os.path.join(TEST_ASSET_DIR, "tasks_run_now_response.xml") |
19 | 20 | GET_XML_CREATE_TASK_RESPONSE = os.path.join(TEST_ASSET_DIR, "tasks_create_extract_task.xml") |
| 21 | +GET_XML_WITHOUT_SCHEDULE = TEST_ASSET_DIR / "tasks_without_schedule.xml" |
20 | 22 |
|
21 | 23 |
|
22 | 24 | class TaskTests(unittest.TestCase): |
@@ -86,6 +88,15 @@ def test_get_task_with_schedule(self): |
86 | 88 | self.assertEqual("workbook", task.target.type) |
87 | 89 | self.assertEqual("b60b4efd-a6f7-4599-beb3-cb677e7abac1", task.schedule_id) |
88 | 90 |
|
| 91 | + def test_get_task_without_schedule(self): |
| 92 | + with requests_mock.mock() as m: |
| 93 | + m.get(self.baseurl, text=GET_XML_WITHOUT_SCHEDULE.read_text()) |
| 94 | + all_tasks, pagination_item = self.server.tasks.get() |
| 95 | + |
| 96 | + task = all_tasks[0] |
| 97 | + self.assertEqual("c7a9327e-1cda-4504-b026-ddb43b976d1d", task.target.id) |
| 98 | + self.assertEqual("datasource", task.target.type) |
| 99 | + |
89 | 100 | def test_delete(self): |
90 | 101 | with requests_mock.mock() as m: |
91 | 102 | m.delete(self.baseurl + "/c7a9327e-1cda-4504-b026-ddb43b976d1d", status_code=204) |
|
0 commit comments