8000 Added support for flows (#403) · gmiretti/server-client-python@cacc4fb · GitHub
[go: up one dir, main page]

Skip to content

Commit cacc4fb

Browse files
authored
Added support for flows (tableau#403)
* adding support for flows * added test for querying schedules
1 parent 3efafb2 commit cacc4fb

File tree

3 files changed

+32
-17
lines changed

3 files changed

+32
-17
lines changed

tableauserverclient/models/schedule_item.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
class ScheduleItem(object):
1010
class Type:
1111
Extract = "Extract"
12+
Flow = "Flow"
1213
Subscription = "Subscription"
1314

1415
class ExecutionOrder:

test/assets/schedule_get.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
<schedules>
55
<schedule id="c9cff7f9-309c-4361-99ff-d4ba8c9f5467" name="Weekday early mornings" state="Active" priority="50" createdAt="2016-07-06T20:19:00Z" updatedAt="2016-09-13T11:00:32Z" type="Extract" frequency="Weekly" nextRunAt="2016-09-14T11:00:00Z" />
66
<schedule id="bcb79d07-6e47-472f-8a65-d7f51f40c36c" name="Saturday night" state="Active" priority="80" createdAt="2016-07-07T20:19:00Z" updatedAt="2016-09-12T16:39:38Z" type="Subscription" frequency="Weekly" nextRunAt="2016-09-18T06:00:00Z" />
7+
<schedule id="f456e8f2-aeb2-4a8e-b823-00b6f08640f0" name="First of the month 1:00AM" state="Active" priority="50" createdAt="2019-02-19T18:52:19Z" updatedAt="2019-02-19T18:55:51Z" type="Flow" frequency="Monthly" nextRunAt="2019-03-01T09:00:00Z"/>
78
</schedules>
89
</tsResponse>

test/test_schedule.py

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,24 +36,37 @@ def test_get(self):
3636
m.get(self.baseurl, text=response_xml)
3737
all_schedules, pagination_item = self.server.schedules.get()
3838

39+
extract = all_schedules[0]
40+
subscription = all_schedules[1]
41+
flow = all_schedules[2]
42+
3943
self.assertEqual(2, pagination_item.total_available)
40-
self.assertEqual("c9cff7f9-309c-4361-99ff-d4ba8c9f5467", all_schedules[0].id)
41-
self.assertEqual("Weekday early mornings", all_schedules[0].name)
42-
self.assertEqual("Active", all_schedules[0].state)
43-
self.assertEqual(50, all_schedules[0].priority)
44-
self.assertEqual("2016-07-06T20:19:00Z", format_datetime(all_schedules[0].created_at))
45-
self.assertEqual("2016-09-13T11:00:32Z", format_datetime(all_schedules[0].updated_at))
46-
self.assertEqual("Extract", all_schedules[0].schedule_type)
47-
self.assertEqual("2016-09-14T11:00:00Z", format_datetime(all_schedules[0].next_run_at))
48-
49-
self.assertEqual("bcb79d07-6e47-472f-8a65-d7f51f40c36c", all_schedules[1].id)
50-
self.assertEqual("Saturday night", all_schedules[1].name)
51-
self.assertEqual("Active", all_schedules[1].state)
52-
self.assertEqual(80, all_schedules[1].priority)
53-
self.assertEqual("2016-07-07T20:19:00Z", format_datetime(all_schedules[1].created_at))
54-
self.assertEqual("2016-09-12T16:39:38Z", format_datetime(all_schedules[1].updated_at))
55-
self.assertEqual("Subscription", all_schedules[1].schedule_type)
56-
self.assertEqual("2016-09-18T06:00:00Z", format_datetime(all_schedules[1].next_run_at))
44+
self.assertEqual("c9cff7f9-309c-4361-99ff-d4ba8c9f5467", extract.id)
45+
self.assertEqual("Weekday early mornings", extract.name)
46+
self.assertEqual("Active", extract.state)
47+
self.assertEqual(50, extract.priority)
48+
self.assertEqual("2016-07-06T20:19:00Z", format_datetime(extract.created_at))
49+
self.assertEqual("2016-09-13T11:00:32Z", format_datetime(extract.updated_at))
50+
self.assertEqual("Extract", extract.schedule_type)
51+
self.assertEqual("2016-09-14T11:00:00Z", format_datetime(extract.next_run_at))
52+
53+
self.assertEqual("bcb79d07-6e47-472f-8a65-d7f51f40c36c", subscription.id)
54+
self.assertEqual("Saturday night", subscription.name)
55+
self.assertEqual("Active", subscription.state)
56+
self.assertEqual(80, subscription.priority)
57+
self.assertEqual("2016-07-07T20:19:00Z", format_datetime(subscription.created_at))
58+
self.assertEqual("2016-09-12T16:39:38Z", format_datetime(subscription.updated_at))
59+
self.assertEqual("Subscription", subscription.schedule_type)
60+
self.assertEqual("2016-09-18T06:00:00Z", format_datetime(subscription.next_run_at))
61+
62+
self.assertEqual("f456e8f2-aeb2-4a8e-b823-00b6f08640f0", flow.id)
63+
self.assertEqual("First of the month 1:00AM", flow.name)
64+
self.assertEqual("Active", flow.state)
65+
self.assertEqual(50, flow.priority)
66+
self.assertEqual("2019-02-19T18:52:19Z", format_datetime(flow.created_at))
67+
self.assertEqual("2019-02-19T18:55:51Z", format_datetime(flow.updated_at))
68+
self.assertEqual("Flow", flow.schedule_type)
69+
self.assertEqual("2019-03-01T09:00:00Z", format_datetime(flow.next_run_at))
5770

5871
def test_get_empty(self):
5972
with open(GET_EMPTY_XML, "rb") as f:

0 commit comments

Comments
 (0)
0