1111from tableauserverclient .server .request_factory import RequestFactory
1212from ._utils import read_xml_asset , read_xml_assets , asset
1313
14+
1415ADD_TAGS_XML = 'datasource_add_tags.xml'
1516GET_XML = 'datasource_get.xml'
1617GET_EMPTY_XML = 'datasource_get_empty.xml'
@@ -106,25 +107,28 @@ def test_update(self):
106107 response_xml = read_xml_asset (UPDATE_XML )
107108 with requests_mock .mock () as m :
108109 m .put (self .baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb' , text = response_xml )
109- single_datasource = TSC .DatasourceItem ('test' , ' 1d0304cd-3796-429f-b815-7258370b9b74' )
110+ single_datasource = TSC .DatasourceItem ('1d0304cd-3796-429f-b815-7258370b9b74' , 'Sample datasource ' )
110111 single_datasource .owner_id = 'dd2239f6-ddf1-4107-981a-4cf94e415794'
112+ single_datasource ._content_url = 'Sampledatasource'
111113 single_datasource ._id = '9dbd2263-16b5-46e1-9c43-a76bb8ab65fb'
112114 single_datasource .certified = True
113115 single_datasource .certification_note = "Warning, here be dragons."
114- single_datasource = self .server .datasources .update (single_datasource )
116+ updated_datasource = self .server .datasources .update (single_datasource )
115117
116- self .assertEqual ('9dbd2263-16b5-46e1-9c43-a76bb8ab65fb' , single_datasource .id )
117- self .assertEqual ('1d0304cd-3796-429f-b815-7258370b9b74' , single_datasource .project_id )
118- self .assertEqual ('dd2239f6-ddf1-4107-981a-4cf94e415794' , single_datasource .owner_id )
119- self .assertEqual (True , single_datasource .certified )
120- self .assertEqual ("Warning, here be dragons." , single_datasource .certification_note )
118+ self .assertEqual (updated_datasource .id , single_datasource .id )
119+ self .assertEqual (updated_datasource .name , single_datasource .name )
120+ self .assertEqual (updated_datasource .content_url , single_datasource .content_url )
121+ self .assertEqual (updated_datasource .project_id , single_datasource .project_id )
122+ self .assertEqual (updated_datasource .owner_id , single_datasource .owner_id )
123+ self .assertEqual (updated_datasource .certified , single_datasource .certified )
124+ self .assertEqual (updated_datasource .certification_note , single_datasource .certification_note )
121125
122126 def test_update_copy_fields (self ):
123127 with open (asset (UPDATE_XML ), 'rb' ) as f :
124128 response_xml = f .read ().decode ('utf-8' )
125129 with requests_mock .mock () as m :
126130 m .put (self .baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb' , text = response_xml )
127- single_datasource = TSC .DatasourceItem ('test' , ' 1d0304cd-3796-429f-b815-7258370b9b74' )
131+ single_datasource = TSC .DatasourceItem ('1d0304cd-3796-429f-b815-7258370b9b74' , 'test ' )
128132 single_datasource ._id = '9dbd2263-16b5-46e1-9c43-a76bb8ab65fb'
129133 single_datasource ._project_name = 'Tester'
130134 updated_datasource = self .server .datasources .update (single_datasource )
@@ -152,7 +156,7 @@ def test_populate_connections(self):
152156 response_xml = read_xml_asset (POPULATE_CONNECTIONS_XML )
153157 with requests_mock .mock () as m :
154158 m .get (self .baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/connections' , text = response_xml )
155- single_datasource = TSC .DatasourceItem ('test' , ' 1d0304cd-3796-429f-b815-7258370b9b74' )
159+ single_datasource = TSC .DatasourceItem ('1d0304cd-3796-429f-b815-7258370b9b74' , 'test ' )
156160 single_datasource .owner_id = 'dd2239f6-ddf1-4107-981a-4cf94e415794'
157161 single_datasource ._id = '9dbd2263-16b5-46e1-9c43-a76bb8ab65fb'
158162 self .server .datasources .populate_connections (single_datasource )
@@ -180,7 +184,7 @@ def test_update_connection(self):
180184 m .put (self .baseurl +
181185 '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/connections/be786ae0-d2bf-4a4b-9b34-e2de8d2d4488' ,
182186 text = response_xml )
183- single_datasource = TSC .DatasourceItem ('test' , ' 1d0304cd-3796-429f-b815-7258370b9b74' )
187+ single_datasource = TSC .DatasourceItem ('1d0304cd-3796-429f-b815-7258370b9b74' )
184188 single_datasource .owner_id = 'dd2239f6-ddf1-4107-981a-4cf94e415794'
185189 single_datasource ._id = '9dbd2263-16b5-46e1-9c43-a76bb8ab65fb'
186190 self .server .datasources .populate_connections (single_datasource )
@@ -201,7 +205,7 @@ def test_populate_permissions(self):
201205 response_xml = f .read ().decode ('utf-8' )
202206 with requests_mock .mock () as m :
203207 m .get (self .baseurl + '/0448d2ed-590d-4fa0-b272-a2a8a24555b5/permissions' , text = response_xml )
204- single_datasource = TSC .DatasourceItem ('test' )
208+ single_datasource = TSC .DatasourceItem ('1d0304cd-3796-429f-b815-7258370b9b74' , ' test' )
205209 single_datasource ._id = '0448d2ed-590d-4fa0-b272-a2a8a24555b5'
206210
207211 self .server .datasources .populate_permissions (single_datasource )
@@ -226,7 +230,7 @@ def test_publish(self):
226230 response_xml = read_xml_asset (PUBLISH_XML )
227231 with requests_mock .mock () as m :
228232 m .post (self .baseurl , text = response_xml )
229- new_datasource = TSC .DatasourceItem ('SampleDS' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
233+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'SampleDS ' )
230234 publish_mode = self .server .PublishMode .CreateNew
231235
232236 new_datasource = self .server .datasources .publish (new_datasource ,
@@ -247,7 +251,7 @@ def test_publish_a_non_packaged_file_object(self):
247251 response_xml = read_xml_asset (PUBLISH_XML )
248252 with requests_mock .mock () as m :
249253 m .post (self .baseurl , text = response_xml )
250- new_datasource = TSC .DatasourceItem ('SampleDS' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
254+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'SampleDS ' )
251255 publish_mode = self .server .PublishMode .CreateNew
252256
253257 with open (asset ('SampleDS.tds' ), 'rb' ) as file_object :
@@ -269,7 +273,7 @@ def test_publish_a_packaged_file_object(self):
269273 response_xml = read_xml_asset (PUBLISH_XML )
270274 with requests_mock .mock () as m :
271275 m .post (self .baseurl , text = response_xml )
272- new_datasource = TSC .DatasourceItem ('SampleDS' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
276+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'SampleDS ' )
273277 publish_mode = self .server .PublishMode .CreateNew
274278
275279 # Create a dummy tdsx file in memory
@@ -299,7 +303,7 @@ def test_publish_async(self):
299303 response_xml = read_xml_asset (PUBLISH_XML_ASYNC )
300304 with requests_mock .mock () as m :
301305 m .post (baseurl , text = response_xml )
302- new_datasource = TSC .DatasourceItem ('SampleDS' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
306+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'SampleDS ' )
303307 publish_mode = self .server .PublishMode .CreateNew
304308
305309 new_job = self .server .datasources .publish (new_datasource ,
@@ -380,40 +384,40 @@ def test_download_extract_only(self):
380384 os .remove (file_path )
381385
382386 def test_update_missing_id (self ):
383- single_datasource = TSC .DatasourceItem ('test' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
387+ single_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'test ' )
384388 self .assertRaises (TSC .MissingRequiredFieldError , self .server .datasources .update , single_datasource )
385389
386390 def test_publish_missing_path (self ):
387- new_datasource = TSC .DatasourceItem ('test' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
391+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'test ' )
388392 self .assertRaises (IOError , self .server .datasources .publish , new_datasource ,
389393 '' , self .server .PublishMode .CreateNew )
390394
391395 def test_publish_missing_mode (self ):
392- new_datasource = TSC .DatasourceItem ('test' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
396+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'test ' )
393397 self .assertRaises (ValueError , self .server .datasources .publish , new_datasource ,
394398 asset ('SampleDS.tds' ), None )
395399
396400 def test_publish_invalid_file_type (self ):
397- new_datasource = TSC .DatasourceItem ('test' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
401+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'test ' )
398402 self .assertRaises (ValueError , self .server .datasources .publish , new_datasource ,
399403 asset ('SampleWB.twbx' ), self .server .PublishMode .Append )
400404
401405 def test_publish_hyper_file_object_raises_exception (self ):
402- new_datasource = TSC .DatasourceItem ('test' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
406+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'test ' )
403407 with open (asset ('World Indicators.hyper' )) as file_object :
404408 self .assertRaises (ValueError , self .server .datasources .publish , new_datasource ,
405409 file_object , self .server .PublishMode .Append )
406410
407411 def test_publish_tde_file_object_raises_exception (self ):
408412
409- new_datasource = TSC .DatasourceItem ('test' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
413+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'test ' )
410414 tds_asset = asset (os .path .join ('Data' , 'Tableau Samples' , 'World Indicators.tde' ))
411415 with open (tds_asset ) as file_object :
412416 self .assertRaises (ValueError , self .server .datasources .publish , new_datasource ,
413417 file_object , self .server .PublishMode .Append )
414418
415419 def test_publish_file_object_of_unknown_type_raises_exception (self ):
416- new_datasource = TSC .DatasourceItem ('test' , ' ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' )
420+ new_datasource = TSC .DatasourceItem ('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760' , 'test ' )
417421
418422 with BytesIO () as file_object :
419423 file_object .write (bytes .fromhex ('89504E470D0A1A0A' ))
0 commit comments