Skip to content

Commit 9924b40

Browse files
jorwoodsjacalata
authored andcommitted
chore: pytestify flows (#1676)
* fix: black ci errors * chore: pytestify flows * style: black --------- Co-authored-by: Jordan Woods <13803242+jorwoods@users.noreply.github.com>
1 parent fe719c1 commit 9924b40

File tree

1 file changed

+56
-32
lines changed

1 file changed

+56
-32
lines changed

test/test_flow.py

Lines changed: 56 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -180,39 +180,63 @@ 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-
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)
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
191186

192187
with open(sample_flow, "rb") as fp:
193188
publish_mode = server.PublishMode.CreateNew
194189

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))
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

0 commit comments

Comments
 (0)