1515POPULATE_VIEWS_XML = os .path .join (TEST_ASSET_DIR , 'workbook_populate_views.xml' )
1616POPULATE_VIEWS_USAGE_XML = os .path .join (TEST_ASSET_DIR , 'workbook_populate_views_usage.xml' )
1717PUBLISH_XML = os .path .join (TEST_ASSET_DIR , 'workbook_publish.xml' )
18+ PUBLISH_ASYNC_XML = os .path .join (TEST_ASSET_DIR , 'workbook_publish_async.xml' )
1819UPDATE_XML = os .path .join (TEST_ASSET_DIR , 'workbook_update.xml' )
1920
2021
@@ -285,10 +286,17 @@ def test_publish(self):
285286 response_xml = f .read ().decode ('utf-8' )
286287 with requests_mock .mock () as m :
287288 m .post (self .baseurl , text = response_xml )
288- new_workbook = TSC .WorkbookItem (name = 'Sample' , show_tabs = False ,
289+
290+ new_workbook = TSC .WorkbookItem (name = 'Sample' ,
291+ show_tabs = False ,
289292 project_id = 'ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
290- new_workbook = self .server .workbooks .publish (new_workbook , os .path .join (TEST_ASSET_DIR , 'SampleWB.twbx' ),
291- self .server .PublishMode .CreateNew )
293+
294+ sample_workbok = os .path .join (TEST_ASSET_DIR , 'SampleWB.twbx' )
295+ publish_mode = self .server .PublishMode .CreateNew
296+
297+ new_workbook = self .server .workbooks .publish (new_workbook ,
298+ sample_workbok ,
299+ publish_mode )
292300
293301 self .assertEqual ('a8076ca1-e9d8-495e-bae6-c684dbb55836' , new_workbook .id )
294302 self .assertEqual ('RESTAPISample' , new_workbook .name )
@@ -304,10 +312,34 @@ def test_publish(self):
304312 self .assertEqual ('GDP per capita' , new_workbook .views [0 ].name )
305313 self .assertEqual ('RESTAPISample_0/sheets/GDPpercapita' , new_workbook .views [0 ].content_url )
306314
315+ def test_publish_async (self ):
316+ with open (PUBLISH_ASYNC_XML , 'rb' ) as f :
317+ response_xml = f .read ().decode ('utf-8' )
318+ with requests_mock .mock () as m :
319+ m .post (self .baseurl , text = response_xml )
320+
321+ new_workbook = TSC .WorkbookItem (name = 'Sample' ,
322+ show_tabs = False ,
323+ project_id = 'ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
324+
325+ sample_workbok = os .path .join (TEST_ASSET_DIR , 'SampleWB.twbx' )
326+ publish_mode = self .server .PublishMode .CreateNew
327+
328+ new_job = self .server .workbooks .publish (new_workbook ,
329+ sample_workbok ,
330+ publish_mode ,
331+ as_job = True )
332+
333+ self .assertEqual ('7c3d599e-949f-44c3-94a1-f30ba85757e4' , new_job .id )
334+ self .assertEqual ('PublishWorkbook' , new_job .type )
335+ self .assertEqual ('0' , new_job .progress )
336+ self .assertEqual ('2018-06-29T23:22:32Z' , format_datetime (new_job .created_at ))
337+ self .assertEqual ('1' , new_job .finish_code )
338+
307339 def test_publish_invalid_file (self ):
308340 new_workbook = TSC .WorkbookItem ('test' , 'ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
309- self .assertRaises (IOError , self .server .workbooks .publish , new_workbook ,
310- '.' , self .server .PublishMode .CreateNew )
341+ self .assertRaises (IOError , self .server .workbooks .publish , new_workbook , '.' ,
342+ self .server .PublishMode .CreateNew )
311343
312344 def test_publish_invalid_file_type (self ):
313345 new_workbook = TSC .WorkbookItem ('test' , 'ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
0 commit comments