diff --git a/tableauserverclient/server/request_options.py b/tableauserverclient/server/request_options.py index 549b41a28..530d7d1f0 100644 --- a/tableauserverclient/server/request_options.py +++ b/tableauserverclient/server/request_options.py @@ -103,7 +103,7 @@ def _append_view_filters(self, params): class CSVRequestOptions(_FilterOptionsBase): - def __init__(self, maxage=None): + def __init__(self, maxage=-1): super(CSVRequestOptions, self).__init__() self.max_age = maxage @@ -112,13 +112,13 @@ def max_age(self): return self._max_age @max_age.setter - @property_is_int(range=(0, 240)) + @property_is_int(range=(0, 240), allowed=[-1]) def max_age(self, value): self._max_age = value def apply_query_params(self, url): params = [] - if self.max_age != 0: + if self.max_age != -1: params.append('maxAge={0}'.format(self.max_age)) self._append_view_filters(params) @@ -130,7 +130,7 @@ class ImageRequestOptions(_FilterOptionsBase): class Resolution: High = 'high' - def __init__(self, imageresolution=None, maxage=None): + def __init__(self, imageresolution=None, maxage=-1): super(ImageRequestOptions, self).__init__() self.image_resolution = imageresolution self.max_age = maxage @@ -140,7 +140,7 @@ def max_age(self): return self._max_age @max_age.setter - @property_is_int(range=(0, 240)) + @property_is_int(range=(0, 240), allowed=[-1]) def max_age(self, value): self._max_age = value @@ -148,7 +148,7 @@ def apply_query_params(self, url): params = [] if self.image_resolution: params.append('resolution={0}'.format(self.image_resolution)) - if self.max_age != 0: + if self.max_age != -1: params.append('maxAge={0}'.format(self.max_age)) self._append_view_filters(params) @@ -176,7 +176,7 @@ class Orientation: Portrait = "portrait" Landscape = "landscape" - def __init__(self, page_type=None, orientation=None, maxage=0): + def __init__(self, page_type=None, orientation=None, maxage=-1): super(PDFRequestOptions, self).__init__() self.page_type = page_type self.orientation = orientation @@ -187,7 +187,7 @@ def max_age(self): return self._max_age @max_age.setter - @property_is_int(range=(0, 240)) + @property_is_int(range=(0, 240), allowed=[-1]) def max_age(self, value): self._max_age = value @@ -199,7 +199,7 @@ def apply_query_params(self, url): if self.orientation: params.append('orientation={0}'.format(self.orientation)) - if self.max_age != 0: + if self.max_age != -1: params.append('maxAge={0}'.format(self.max_age)) self._append_view_filters(params) diff --git a/test/test_view.py b/test/test_view.py index 576bc0fca..1bd88995a 100644 --- a/test/test_view.py +++ b/test/test_view.py @@ -170,6 +170,18 @@ def test_populate_csv(self): csv_file = b"".join(single_view.csv) self.assertEqual(response, csv_file) + def test_populate_csv_default_maxage(self): + with open(POPULATE_CSV, 'rb') as f: + response = f.read() + with requests_mock.mock() as m: + m.get(self.baseurl + '/d79634e1-6063-4ec9-95ff-50acbf609ff5/data', content=response) + single_view = TSC.ViewItem() + single_view._id = 'd79634e1-6063-4ec9-95ff-50acbf609ff5' + self.server.views.populate_csv(single_view) + + csv_file = b"".join(single_view.csv) + self.assertEqual(response, csv_file) + def test_populate_image_missing_id(self): single_view = TSC.ViewItem() single_view._id = None