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