diff --git a/tableauserverclient/models/datasource_item.py b/tableauserverclient/models/datasource_item.py index 78c2a44ca..5b23341d0 100644 --- a/tableauserverclient/models/datasource_item.py +++ b/tableauserverclient/models/datasource_item.py @@ -24,6 +24,7 @@ def __init__(self, project_id, name=None): self._content_url = None self._created_at = None self._datasource_type = None + self._description = None self._encrypt_extracts = None self._has_extracts = None self._id = None @@ -131,6 +132,14 @@ def project_name(self): def datasource_type(self): return self._datasource_type + @property + def description(self): + return self._description + + @description.setter + def description(self, value): + self._description = value + @property def updated_at(self): return self._updated_at @@ -314,6 +323,15 @@ def from_response(cls, resp, ns): @staticmethod def _parse_element(datasource_xml, ns): + id_ = datasource_xml.get('id', None) + name = datasource_xml.get('name', None) + datasource_type = datasource_xml.get('type', None) + description = datasource_xml.get('description', None) + content_url = datasource_xml.get('contentUrl', None) + created_at = parse_datetime(datasource_xml.get('createdAt', None)) + updated_at = parse_datetime(datasource_xml.get('updatedAt', None)) + certification_note = datasource_xml.get('certificationNote', None) + certified = str(datasource_xml.get('isCertified', None)).lower() == 'true' certification_note = datasource_xml.get("certificationNote", None) certified = str(datasource_xml.get("isCertified", None)).lower() == "true" content_url = datasource_xml.get("contentUrl", None) diff --git a/test/assets/datasource_get.xml b/test/assets/datasource_get.xml index 5858d318d..951409caa 100644 --- a/test/assets/datasource_get.xml +++ b/test/assets/datasource_get.xml @@ -2,12 +2,12 @@ - + - + diff --git a/test/assets/datasource_get_by_id.xml b/test/assets/datasource_get_by_id.xml index d5dcf89ee..53434b8cc 100644 --- a/test/assets/datasource_get_by_id.xml +++ b/test/assets/datasource_get_by_id.xml @@ -1,6 +1,6 @@ - + diff --git a/test/test_datasource.py b/test/test_datasource.py index 4c65e8dc9..52a5eabe3 100644 --- a/test/test_datasource.py +++ b/test/test_datasource.py @@ -46,6 +46,7 @@ def test_get(self): self.assertEqual(2, pagination_item.total_available) self.assertEqual('e76a1461-3b1d-4588-bf1b-17551a879ad9', all_datasources[0].id) self.assertEqual('dataengine', all_datasources[0].datasource_type) + self.assertEqual('SampleDsDescription', all_datasources[0].description) self.assertEqual('SampleDS', all_datasources[0].content_url) self.assertEqual('2016-08-11T21:22:40Z', format_datetime(all_datasources[0].created_at)) self.assertEqual('2016-08-11T21:34:17Z', format_datetime(all_datasources[0].updated_at)) @@ -60,6 +61,7 @@ def test_get(self): self.assertEqual('9dbd2263-16b5-46e1-9c43-a76bb8ab65fb', all_datasources[1].id) self.assertEqual('dataengine', all_datasources[1].datasource_type) + self.assertEqual('description Sample', all_datasources[1].description) self.assertEqual('Sampledatasource', all_datasources[1].content_url) self.assertEqual('2016-08-04T21:31:55Z', format_datetime(all_datasources[1].created_at)) self.assertEqual('2016-08-04T21:31:55Z', format_datetime(all_datasources[1].updated_at)) @@ -94,6 +96,7 @@ def test_get_by_id(self): self.assertEqual('9dbd2263-16b5-46e1-9c43-a76bb8ab65fb', single_datasource.id) self.assertEqual('dataengine', single_datasource.datasource_type) + self.assertEqual('abc description xyz', single_datasource.description) self.assertEqual('Sampledatasource', single_datasource.content_url) self.assertEqual('2016-08-04T21:31:55Z', format_datetime(single_datasource.created_at)) self.assertEqual('2016-08-04T21:31:55Z', format_datetime(single_datasource.updated_at)) @@ -102,7 +105,6 @@ def test_get_by_id(self): self.assertEqual('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760', single_datasource.project_id) self.assertEqual('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7', single_datasource.owner_id) self.assertEqual(set(['world', 'indicators', 'sample']), single_datasource.tags) - self.assertEqual("test-ds", single_datasource.description) self.assertEqual(TSC.DatasourceItem.AskDataEnablement.SiteDefault, single_datasource.ask_data_enablement) def test_update(self):