Skip to content

Commit 6415917

Browse files
jorwoodsjacalata
authored andcommitted
feat: make refresh consistent between endpoints (#1665)
1 parent e6e667b commit 6415917

File tree

1 file changed

+32
-56
lines changed

1 file changed

+32
-56
lines changed

test/test_flow.py

Lines changed: 32 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -180,63 +180,39 @@ def test_publish_file_object(server: TSC.Server) -> None:
180180
with requests_mock.mock() as m:
181181
m.post(server.flows.baseurl, text=response_xml)
182182

183-
new_flow = TSC.FlowItem(name="SampleFlow", project_id="ee8c6e70-43b6-11e6-af4f-f7b0d8e20760")
184-
sample_flow = os.path.join(TEST_ASSET_DIR, "SampleFlow.tfl")
185-
publish_mode = server.PublishMode.CreateNew
183+
def test_refresh(self) -> None:
184+
with open(asset(REFRESH_XML), "rb") as f:
185+
response_xml = f.read().decode("utf-8")
186+
with requests_mock.mock() as m:
187+
m.post(self.baseurl + "/92967d2d-c7e2-46d0-8847-4802df58f484/run", text=response_xml)
188+
flow_item = TSC.FlowItem("test")
189+
flow_item._id = "92967d2d-c7e2-46d0-8847-4802df58f484"
190+
refresh_job = self.server.flows.refresh(flow_item)
186191

187192
with open(sample_flow, "rb") as fp:
188193
publish_mode = server.PublishMode.CreateNew
189194

190-
new_flow = server.flows.publish(new_flow, fp, publish_mode)
191-
192-
assert "2457c468-1b24-461a-8f95-a461b3209d32" == new_flow.id
193-
assert "SampleFlow" == new_flow.name
194-
assert "2023-01-13T09:50:55Z" == format_datetime(new_flow.created_at)
195-
assert "2023-01-13T09:50:55Z" == format_datetime(new_flow.updated_at)
196-
assert "ee8c6e70-43b6-11e6-af4f-f7b0d8e20760" == new_flow.project_id
197-
assert "default" == new_flow.project_name
198-
assert "5de011f8-5aa9-4d5b-b991-f462c8dd6bb7" == new_flow.owner_id
199-
200-
201-
def test_refresh(server: TSC.Server) -> None:
202-
response_xml = REFRESH_XML.read_text()
203-
with requests_mock.mock() as m:
204-
m.post(server.flows.baseurl + "/92967d2d-c7e2-46d0-8847-4802df58f484/run", text=response_xml)
205-
flow_item = TSC.FlowItem("test")
206-
flow_item._id = "92967d2d-c7e2-46d0-8847-4802df58f484"
207-
refresh_job = server.flows.refresh(flow_item)
208-
209-
assert refresh_job.id == "d1b2ccd0-6dfa-444a-aee4-723dbd6b7c9d"
210-
assert refresh_job.mode == "Asynchronous"
211-
assert refresh_job.type == "RunFlow"
212-
assert format_datetime(refresh_job.created_at) == "2018-05-22T13:00:29Z"
213-
assert isinstance(refresh_job.flow_run, TSC.FlowRunItem)
214-
assert refresh_job.flow_run.id == "e0c3067f-2333-4eee-8028-e0a56ca496f6"
215-
assert refresh_job.flow_run.flow_id == "92967d2d-c7e2-46d0-8847-4802df58f484"
216-
assert format_datetime(refresh_job.flow_run.started_at) == "2018-05-22T13:00:29Z"
217-
218-
219-
def test_refresh_id_str(server: TSC.Server) -> None:
220-
response_xml = REFRESH_XML.read_text()
221-
with requests_mock.mock() as m:
222-
m.post(server.flows.baseurl + "/92967d2d-c7e2-46d0-8847-4802df58f484/run", text=response_xml)
223-
refresh_job = server.flows.refresh("92967d2d-c7e2-46d0-8847-4802df58f484")
224-
225-
assert refresh_job.id == "d1b2ccd0-6dfa-444a-aee4-723dbd6b7c9d"
226-
assert refresh_job.mode == "Asynchronous"
227-
assert refresh_job.type == "RunFlow"
228-
assert format_datetime(refresh_job.created_at) == "2018-05-22T13:00:29Z"
229-
assert isinstance(refresh_job.flow_run, TSC.FlowRunItem)
230-
assert refresh_job.flow_run.id == "e0c3067f-2333-4eee-8028-e0a56ca496f6"
231-
assert refresh_job.flow_run.flow_id == "92967d2d-c7e2-46d0-8847-4802df58f484"
232-
assert format_datetime(refresh_job.flow_run.started_at) == "2018-05-22T13:00:29Z"
233-
234-
235-
def test_bad_download_response(server: TSC.Server) -> None:
236-
with requests_mock.mock() as m, tempfile.TemporaryDirectory() as td:
237-
m.get(
238-
server.flows.baseurl + "/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/content",
239-
headers={"Content-Disposition": '''name="tableau_flow"; filename*=UTF-8''"Sample flow.tfl"'''},
240-
)
241-
file_path = server.flows.download("9dbd2263-16b5-46e1-9c43-a76bb8ab65fb", td)
242-
assert os.path.exists(file_path) is True
195+
def test_refresh_id_str(self) -> None:
196+
with open(asset(REFRESH_XML), "rb") as f:
197+
response_xml = f.read().decode("utf-8")
198+
with requests_mock.mock() as m:
199+
m.post(self.baseurl + "/92967d2d-c7e2-46d0-8847-4802df58f484/run", text=response_xml)
200+
refresh_job = self.server.flows.refresh("92967d2d-c7e2-46d0-8847-4802df58f484")
201+
202+
self.assertEqual(refresh_job.id, "d1b2ccd0-6dfa-444a-aee4-723dbd6b7c9d")
203+
self.assertEqual(refresh_job.mode, "Asynchronous")
204+
self.assertEqual(refresh_job.type, "RunFlow")
205+
self.assertEqual(format_datetime(refresh_job.created_at), "2018-05-22T13:00:29Z")
206+
self.assertIsInstance(refresh_job.flow_run, TSC.FlowRunItem)
207+
self.assertEqual(refresh_job.flow_run.id, "e0c3067f-2333-4eee-8028-e0a56ca496f6")
208+
self.assertEqual(refresh_job.flow_run.flow_id, "92967d2d-c7e2-46d0-8847-4802df58f484")
209+
self.assertEqual(format_datetime(refresh_job.flow_run.started_at), "2018-05-22T13:00:29Z")
210+
211+
def test_bad_download_response(self) -> None:
212+
with requests_mock.mock() as m, tempfile.TemporaryDirectory() as td:
213+
m.get(
214+
self.baseurl + "/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/content",
215+
headers={"Content-Disposition": '''name="tableau_flow"; filename*=UTF-8''"Sample flow.tfl"'''},
216+
)
217+
file_path = self.server.flows.download("9dbd2263-16b5-46e1-9c43-a76bb8ab65fb", td)
218+
self.assertTrue(os.path.exists(file_path))

0 commit comments

Comments
 (0)