diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0e6be649b..85dc8a702 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.14.1 (9 Dec 2020)
+* Fixed filter query issue for server version below 2020.1 (#745)
+* Fixed large workbook/datasource publish issue (#757)
+
## 0.14.0 (6 Nov 2020)
* Added django-style filtering and sorting (#615)
* Added encoding tag-name before deleting (#687)
diff --git a/tableauserverclient/models/site_item.py b/tableauserverclient/models/site_item.py
index 1ba854e72..f562289ce 100644
--- a/tableauserverclient/models/site_item.py
+++ b/tableauserverclient/models/site_item.py
@@ -17,7 +17,19 @@ class State:
def __init__(self, name, content_url, admin_mode=None, user_quota=None, storage_quota=None,
disable_subscriptions=False, subscribe_others_enabled=True, revision_history_enabled=False,
- revision_limit=None, data_acceleration_mode=None, flows_enabled=None, cataloging_enabled=None):
+ revision_limit=None, data_acceleration_mode=None, flows_enabled=True, cataloging_enabled=True,
+ editing_flows_enabled=True, scheduling_flows_enabled=True, allow_subscription_attachments=True,
+ guest_access_enabled=False, cache_warmup_enabled=True, commenting_enabled=True,
+ extract_encryption_mode=None, request_access_enabled=False, run_now_enabled=True,
+ tier_explorer_capacity=None, tier_creator_capacity=None, tier_viewer_capacity=None,
+ data_alerts_enabled=True, commenting_mentions_enabled=True, catalog_obfuscation_enabled=False,
+ flow_auto_save_enabled=True, web_extraction_enabled=True, metrics_content_type_enabled=True,
+ notify_site_admins_on_throttle=False, authoring_enabled=True, custom_subscription_email_enabled=False,
+ custom_subscription_email=False, custom_subscription_footer_enabled=False,
+ custom_subscription_footer=False, ask_data_mode='EnabledByDefault', named_sharing_enabled=True,
+ mobile_biometrics_enabled=False, sheet_image_enabled=True, derived_permissions_enabled=False,
+ user_visibility_mode='FULL', use_default_time_zone=True, time_zone=None,
+ auto_suspend_refresh_enabled=True, auto_suspend_refresh_inactivity_window=30):
self._admin_mode = None
self._id = None
self._num_users = None
@@ -36,6 +48,40 @@ def __init__(self, name, content_url, admin_mode=None, user_quota=None, storage_
self.data_acceleration_mode = data_acceleration_mode
self.cataloging_enabled = cataloging_enabled
self.flows_enabled = flows_enabled
+ self.editing_flows_enabled = editing_flows_enabled
+ self.scheduling_flows_enabled = scheduling_flows_enabled
+ self.allow_subscription_attachments = allow_subscription_attachments
+ self.guest_access_enabled = guest_access_enabled
+ self.cache_warmup_enabled = cache_warmup_enabled
+ self.commenting_enabled = commenting_enabled
+ self.extract_encryption_mode = extract_encryption_mode
+ self.request_access_enabled = request_access_enabled
+ self.run_now_enabled = run_now_enabled
+ self.tier_explorer_capacity = tier_explorer_capacity
+ self.tier_creator_capacity = tier_creator_capacity
+ self.tier_viewer_capacity = tier_viewer_capacity
+ self.data_alerts_enabled = data_alerts_enabled
+ self.commenting_mentions_enabled = commenting_mentions_enabled
+ self.catalog_obfuscation_enabled = catalog_obfuscation_enabled
+ self.flow_auto_save_enabled = flow_auto_save_enabled
+ self.web_extraction_enabled = web_extraction_enabled
+ self.metrics_content_type_enabled = metrics_content_type_enabled
+ self.notify_site_admins_on_throttle = notify_site_admins_on_throttle
+ self.authoring_enabled = authoring_enabled
+ self.custom_subscription_footer_enabled = custom_subscription_footer_enabled
+ self.custom_subscription_email_enabled = custom_subscription_email_enabled
+ self.custom_subscription_email = custom_subscription_email
+ self.custom_subscription_footer = custom_subscription_footer
+ self.ask_data_mode = ask_data_mode
+ self.named_sharing_enabled = named_sharing_enabled
+ self.mobile_biometrics_enabled = mobile_biometrics_enabled
+ self.sheet_image_enabled = sheet_image_enabled
+ self.derived_permissions_enabled = derived_permissions_enabled
+ self.user_visibility_mode = user_visibility_mode
+ self.use_default_time_zone = use_default_time_zone
+ self.time_zone = time_zone
+ self.auto_suspend_refresh_enabled = auto_suspend_refresh_enabled
+ self.auto_suspend_refresh_inactivity_window = auto_suspend_refresh_inactivity_window
@property
def admin_mode(self):
@@ -147,12 +193,307 @@ def flows_enabled(self):
return self._flows_enabled
@flows_enabled.setter
+ @property_is_boolean
def flows_enabled(self, value):
self._flows_enabled = value
def is_default(self):
return self.name.lower() == 'default'
+ @property
+ def editing_flows_enabled(self):
+ return self._editing_flows_enabled
+
+ @editing_flows_enabled.setter
+ @property_is_boolean
+ def editing_flows_enabled(self, value):
+ self._editing_flows_enabled = value
+
+ @property
+ def scheduling_flows_enabled(self):
+ return self._scheduling_flows_enabled
+
+ @scheduling_flows_enabled.setter
+ @property_is_boolean
+ def scheduling_flows_enabled(self, value):
+ self._scheduling_flows_enabled = value
+
+ @property
+ def allow_subscription_attachments(self):
+ return self._allow_subscription_attachments
+
+ @allow_subscription_attachments.setter
+ @property_is_boolean
+ def allow_subscription_attachments(self, value):
+ self._allow_subscription_attachments = value
+
+ @property
+ def guest_access_enabled(self):
+ return self._guest_access_enabled
+
+ @guest_access_enabled.setter
+ @property_is_boolean
+ def guest_access_enabled(self, value):
+ self._guest_access_enabled = value
+
+ @property
+ def cache_warmup_enabled(self):
+ return self._cache_warmup_enabled
+
+ @cache_warmup_enabled.setter
+ @property_is_boolean
+ def cache_warmup_enabled(self, value):
+ self._cache_warmup_enabled = value
+
+ @property
+ def commenting_enabled(self):
+ return self._commenting_enabled
+
+ @commenting_enabled.setter
+ @property_is_boolean
+ def commenting_enabled(self, value):
+ self._commenting_enabled = value
+
+ @property
+ def extract_encryption_mode(self):
+ return self._extract_encryption_mode
+
+ @extract_encryption_mode.setter
+ def extract_encryption_mode(self, value):
+ self._extract_encryption_mode = value
+
+ @property
+ def request_access_enabled(self):
+ return self._request_access_enabled
+
+ @request_access_enabled.setter
+ @property_is_boolean
+ def request_access_enabled(self, value):
+ self._request_access_enabled = value
+
+ @property
+ def run_now_enabled(self):
+ return self._run_now_enabled
+
+ @run_now_enabled.setter
+ @property_is_boolean
+ def run_now_enabled(self, value):
+ self._run_now_enabled = value
+
+ @property
+ def tier_explorer_capacity(self):
+ return self._tier_explorer_capacity
+
+ @tier_explorer_capacity.setter
+ def tier_explorer_capacity(self, value):
+ self._tier_explorer_capacity = value
+
+ @property
+ def tier_creator_capacity(self):
+ return self._tier_creator_capacity
+
+ @tier_creator_capacity.setter
+ def tier_creator_capacity(self, value):
+ self._tier_creator_capacity = value
+
+ @property
+ def tier_viewer_capacity(self):
+ return self._tier_viewer_capacity
+
+ @tier_viewer_capacity.setter
+ def tier_viewer_capacity(self, value):
+ self._tier_viewer_capacity = value
+
+ @property
+ def data_alerts_enabled(self):
+ return self._data_alerts_enabled
+
+ @data_alerts_enabled.setter
+ @property_is_boolean
+ def data_alerts_enabled(self, value):
+ self._data_alerts_enabled = value
+
+ @property
+ def commenting_mentions_enabled(self):
+ return self._commenting_mentions_enabled
+
+ @commenting_mentions_enabled.setter
+ @property_is_boolean
+ def commenting_mentions_enabled(self, value):
+ self._commenting_mentions_enabled = value
+
+ @property
+ def catalog_obfuscation_enabled(self):
+ return self._catalog_obfuscation_enabled
+
+ @catalog_obfuscation_enabled.setter
+ @property_is_boolean
+ def catalog_obfuscation_enabled(self, value):
+ self._catalog_obfuscation_enabled = value
+
+ @property
+ def flow_auto_save_enabled(self):
+ return self._flow_auto_save_enabled
+
+ @flow_auto_save_enabled.setter
+ @property_is_boolean
+ def flow_auto_save_enabled(self, value):
+ self._flow_auto_save_enabled = value
+
+ @property
+ def web_extraction_enabled(self):
+ return self._web_extraction_enabled
+
+ @web_extraction_enabled.setter
+ @property_is_boolean
+ def web_extraction_enabled(self, value):
+ self._web_extraction_enabled = value
+
+ @property
+ def metrics_content_type_enabled(self):
+ return self._metrics_content_type_enabled
+
+ @metrics_content_type_enabled.setter
+ @property_is_boolean
+ def metrics_content_type_enabled(self, value):
+ self._metrics_content_type_enabled = value
+
+ @property
+ def notify_site_admins_on_throttle(self):
+ return self._notify_site_admins_on_throttle
+
+ @notify_site_admins_on_throttle.setter
+ @property_is_boolean
+ def notify_site_admins_on_throttle(self, value):
+ self._notify_site_admins_on_throttle = value
+
+ @property
+ def authoring_enabled(self):
+ return self._authoring_enabled
+
+ @authoring_enabled.setter
+ @property_is_boolean
+ def authoring_enabled(self, value):
+ self._authoring_enabled = value
+
+ @property
+ def custom_subscription_email_enabled(self):
+ return self._custom_subscription_email_enabled
+
+ @custom_subscription_email_enabled.setter
+ @property_is_boolean
+ def custom_subscription_email_enabled(self, value):
+ self._custom_subscription_email_enabled = value
+
+ @property
+ def custom_subscription_email(self):
+ return self._custom_subscription_email
+
+ @custom_subscription_email.setter
+ def custom_subscription_email(self, value):
+ self._custom_subscription_email = value
+
+ @property
+ def custom_subscription_footer_enabled(self):
+ return self._custom_subscription_footer_enabled
+
+ @custom_subscription_footer_enabled.setter
+ @property_is_boolean
+ def custom_subscription_footer_enabled(self, value):
+ self._custom_subscription_footer_enabled = value
+
+ @property
+ def custom_subscription_footer(self):
+ return self._custom_subscription_footer
+
+ @custom_subscription_footer.setter
+ def custom_subscription_footer(self, value):
+ self._custom_subscription_footer = value
+
+ @property
+ def ask_data_mode(self):
+ return self._ask_data_mode
+
+ @ask_data_mode.setter
+ def ask_data_mode(self, value):
+ self._ask_data_mode = value
+
+ @property
+ def named_sharing_enabled(self):
+ return self._named_sharing_enabled
+
+ @named_sharing_enabled.setter
+ @property_is_boolean
+ def named_sharing_enabled(self, value):
+ self._named_sharing_enabled = value
+
+ @property
+ def mobile_biometrics_enabled(self):
+ return self._mobile_biometrics_enabled
+
+ @mobile_biometrics_enabled.setter
+ @property_is_boolean
+ def mobile_biometrics_enabled(self, value):
+ self._mobile_biometrics_enabled = value
+
+ @property
+ def sheet_image_enabled(self):
+ return self._sheet_image_enabled
+
+ @sheet_image_enabled.setter
+ @property_is_boolean
+ def sheet_image_enabled(self, value):
+ self._sheet_image_enabled = value
+
+ @property
+ def derived_permissions_enabled(self):
+ return self._derived_permissions_enabled
+
+ @derived_permissions_enabled.setter
+ @property_is_boolean
+ def derived_permissions_enabled(self, value):
+ self._derived_permissions_enabled = value
+
+ @property
+ def user_visibility_mode(self):
+ return self._user_visibility_mode
+
+ @user_visibility_mode.setter
+ def user_visibility_mode(self, value):
+ self._user_visibility_mode = value
+
+ @property
+ def use_default_time_zone(self):
+ return self._use_default_time_zone
+
+ @use_default_time_zone.setter
+ def use_default_time_zone(self, value):
+ self._use_default_time_zone = value
+
+ @property
+ def time_zone(self):
+ return self._time_zone
+
+ @time_zone.setter
+ def time_zone(self, value):
+ self._time_zone = value
+
+ @property
+ def auto_suspend_refresh_inactivity_window(self):
+ return self._auto_suspend_refresh_inactivity_window
+
+ @auto_suspend_refresh_inactivity_window.setter
+ def auto_suspend_refresh_inactivity_window(self, value):
+ self._auto_suspend_refresh_inactivity_window = value
+
+ @property
+ def auto_suspend_refresh_enabled(self):
+ return self._auto_suspend_refresh_enabled
+
+ @auto_suspend_refresh_enabled.setter
+ def auto_suspend_refresh_enabled(self, value):
+ self._auto_suspend_refresh_enabled = value
+
def _parse_common_tags(self, site_xml, ns):
if not isinstance(site_xml, ET.Element):
site_xml = ET.fromstring(site_xml).find('.//t:site', namespaces=ns)
@@ -160,18 +501,46 @@ def _parse_common_tags(self, site_xml, ns):
(_, name, content_url, _, admin_mode, state,
subscribe_others_enabled, disable_subscriptions, revision_history_enabled,
user_quota, storage_quota, revision_limit, num_users, storage,
- data_acceleration_mode, cataloging_enabled, flows_enabled) = self._parse_element(site_xml, ns)
+ data_acceleration_mode, flows_enabled, cataloging_enabled, editing_flows_enabled,
+ scheduling_flows_enabled, allow_subscription_attachments, guest_access_enabled,
+ cache_warmup_enabled, commenting_enabled, extract_encryption_mode, request_access_enabled,
+ run_now_enabled, tier_explorer_capacity, tier_creator_capacity, tier_viewer_capacity, data_alerts_enabled,
+ commenting_mentions_enabled, catalog_obfuscation_enabled, flow_auto_save_enabled, web_extraction_enabled,
+ metrics_content_type_enabled, notify_site_admins_on_throttle, authoring_enabled,
+ custom_subscription_email_enabled, custom_subscription_email, custom_subscription_footer_enabled,
+ custom_subscription_footer, ask_data_mode, named_sharing_enabled, mobile_biometrics_enabled,
+ sheet_image_enabled, derived_permissions_enabled, user_visibility_mode, use_default_time_zone, time_zone,
+ auto_suspend_refresh_enabled, auto_suspend_refresh_inactivity_window) = self._parse_element(site_xml, ns)
self._set_values(None, name, content_url, None, admin_mode, state, subscribe_others_enabled,
disable_subscriptions, revision_history_enabled, user_quota, storage_quota,
- revision_limit, num_users, storage, data_acceleration_mode, cataloging_enabled,
- flows_enabled)
+ revision_limit, num_users, storage, data_acceleration_mode, flows_enabled,
+ cataloging_enabled, editing_flows_enabled, scheduling_flows_enabled,
+ allow_subscription_attachments, guest_access_enabled, cache_warmup_enabled,
+ commenting_enabled, extract_encryption_mode, request_access_enabled, run_now_enabled,
+ tier_explorer_capacity, tier_creator_capacity, tier_viewer_capacity, data_alerts_enabled,
+ commenting_mentions_enabled, catalog_obfuscation_enabled, flow_auto_save_enabled,
+ web_extraction_enabled, metrics_content_type_enabled, notify_site_admins_on_throttle,
+ authoring_enabled, custom_subscription_email_enabled, custom_subscription_email,
+ custom_subscription_footer_enabled, custom_subscription_footer, ask_data_mode,
+ named_sharing_enabled, mobile_biometrics_enabled, sheet_image_enabled,
+ derived_permissions_enabled, user_visibility_mode, use_default_time_zone, time_zone,
+ auto_suspend_refresh_enabled, auto_suspend_refresh_inactivity_window)
return self
def _set_values(self, id, name, content_url, status_reason, admin_mode, state,
subscribe_others_enabled, disable_subscriptions, revision_history_enabled,
user_quota, storage_quota, revision_limit, num_users, storage, data_acceleration_mode,
- flows_enabled, cataloging_enabled):
+ flows_enabled, cataloging_enabled, editing_flows_enabled, scheduling_flows_enabled,
+ allow_subscription_attachments, guest_access_enabled, cache_warmup_enabled, commenting_enabled,
+ extract_encryption_mode, request_access_enabled, run_now_enabled, tier_explorer_capacity,
+ tier_creator_capacity, tier_viewer_capacity, data_alerts_enabled, commenting_mentions_enabled,
+ catalog_obfuscation_enabled, flow_auto_save_enabled, web_extraction_enabled,
+ metrics_content_type_enabled, notify_site_admins_on_throttle, authoring_enabled,
+ custom_subscription_email_enabled, custom_subscription_email, custom_subscription_footer_enabled,
+ custom_subscription_footer, ask_data_mode, named_sharing_enabled, mobile_biometrics_enabled,
+ sheet_image_enabled, derived_permissions_enabled, user_visibility_mode, use_default_time_zone,
+ time_zone, auto_suspend_refresh_enabled, auto_suspend_refresh_inactivity_window):
if id is not None:
self._id = id
if name:
@@ -206,6 +575,74 @@ def _set_values(self, id, name, content_url, status_reason, admin_mode, state,
self.flows_enabled = flows_enabled
if cataloging_enabled is not None:
self.cataloging_enabled = cataloging_enabled
+ if editing_flows_enabled is not None:
+ self.editing_flows_enabled = editing_flows_enabled
+ if scheduling_flows_enabled is not None:
+ self.scheduling_flows_enabled = scheduling_flows_enabled
+ if allow_subscription_attachments is not None:
+ self.allow_subscription_attachments = allow_subscription_attachments
+ if guest_access_enabled is not None:
+ self.guest_access_enabled = guest_access_enabled
+ if cache_warmup_enabled is not None:
+ self.cache_warmup_enabled = cache_warmup_enabled
+ if commenting_enabled is not None:
+ self.commenting_enabled = commenting_enabled
+ if extract_encryption_mode is not None:
+ self.extract_encryption_mode = extract_encryption_mode
+ if request_access_enabled is not None:
+ self.request_access_enabled = request_access_enabled
+ if run_now_enabled is not None:
+ self.run_now_enabled = run_now_enabled
+ if tier_explorer_capacity:
+ self.tier_explorer_capacity = tier_explorer_capacity
+ if tier_creator_capacity:
+ self.tier_creator_capacity = tier_creator_capacity
+ if tier_viewer_capacity:
+ self.tier_viewer_capacity = tier_viewer_capacity
+ if data_alerts_enabled is not None:
+ self.data_alerts_enabled = data_alerts_enabled
+ if commenting_mentions_enabled is not None:
+ self.commenting_mentions_enabled = commenting_mentions_enabled
+ if catalog_obfuscation_enabled is not None:
+ self.catalog_obfuscation_enabled = catalog_obfuscation_enabled
+ if flow_auto_save_enabled is not None:
+ self.flow_auto_save_enabled = flow_auto_save_enabled
+ if web_extraction_enabled is not None:
+ self.web_extraction_enabled = web_extraction_enabled
+ if metrics_content_type_enabled is not None:
+ self.metrics_content_type_enabled = metrics_content_type_enabled
+ if notify_site_admins_on_throttle is not None:
+ self.notify_site_admins_on_throttle = notify_site_admins_on_throttle
+ if authoring_enabled is not None:
+ self.authoring_enabled = authoring_enabled
+ if custom_subscription_email_enabled is not None:
+ self.custom_subscription_email_enabled = custom_subscription_email_enabled
+ if custom_subscription_email is not None:
+ self.custom_subscription_email = custom_subscription_email
+ if custom_subscription_footer_enabled is not None:
+ self.custom_subscription_footer_enabled = custom_subscription_footer_enabled
+ if custom_subscription_footer is not None:
+ self.custom_subscription_footer = custom_subscription_footer
+ if ask_data_mode is not None:
+ self.ask_data_mode = ask_data_mode
+ if named_sharing_enabled is not None:
+ self.named_sharing_enabled = named_sharing_enabled
+ if mobile_biometrics_enabled is not None:
+ self.mobile_biometrics_enabled = mobile_biometrics_enabled
+ if sheet_image_enabled is not None:
+ self.sheet_image_enabled = sheet_image_enabled
+ if derived_permissions_enabled is not None:
+ self.derived_permissions_enabled = derived_permissions_enabled
+ if user_visibility_mode is not None:
+ self.user_visibility_mode = user_visibility_mode
+ if use_default_time_zone is not None:
+ self.use_default_time_zone = use_default_time_zone
+ if time_zone is not None:
+ self.time_zone = time_zone
+ if auto_suspend_refresh_enabled is not None:
+ self.auto_suspend_refresh_enabled = auto_suspend_refresh_enabled
+ if auto_suspend_refresh_inactivity_window is not None:
+ self.auto_suspend_refresh_inactivity_window = auto_suspend_refresh_inactivity_window
@classmethod
def from_response(cls, resp, ns):
@@ -215,14 +652,34 @@ def from_response(cls, resp, ns):
for site_xml in all_site_xml:
(id, name, content_url, status_reason, admin_mode, state, subscribe_others_enabled,
disable_subscriptions, revision_history_enabled, user_quota, storage_quota,
- revision_limit, num_users, storage, data_acceleration_mode, flows_enabled,
- cataloging_enabled) = cls._parse_element(site_xml, ns)
+ revision_limit, num_users, storage, data_acceleration_mode, flows_enabled, cataloging_enabled,
+ editing_flows_enabled, scheduling_flows_enabled, allow_subscription_attachments, guest_access_enabled,
+ cache_warmup_enabled, commenting_enabled, extract_encryption_mode, request_access_enabled,
+ run_now_enabled, tier_explorer_capacity, tier_creator_capacity, tier_viewer_capacity,
+ data_alerts_enabled, commenting_mentions_enabled, catalog_obfuscation_enabled, flow_auto_save_enabled,
+ web_extraction_enabled, metrics_content_type_enabled, notify_site_admins_on_throttle,
+ authoring_enabled, custom_subscription_email_enabled, custom_subscription_email,
+ custom_subscription_footer_enabled, custom_subscription_footer, ask_data_mode, named_sharing_enabled,
+ mobile_biometrics_enabled, sheet_image_enabled, derived_permissions_enabled, user_visibility_mode,
+ use_default_time_zone, time_zone, auto_suspend_refresh_enabled,
+ auto_suspend_refresh_inactivity_window) = cls._parse_element(site_xml, ns)
site_item = cls(name, content_url)
- site_item._set_values(id, name, content_url, status_reason, admin_mode, state,
- subscribe_others_enabled, disable_subscriptions, revision_history_enabled,
- user_quota, storage_quota, revision_limit, num_users, storage,
- data_acceleration_mode, flows_enabled, cataloging_enabled)
+ site_item._set_values(id, name, content_url, status_reason, admin_mode, state, subscribe_others_enabled,
+ disable_subscriptions, revision_history_enabled, user_quota, storage_quota,
+ revision_limit, num_users, storage, data_acceleration_mode, flows_enabled,
+ cataloging_enabled, editing_flows_enabled, scheduling_flows_enabled,
+ allow_subscription_attachments, guest_access_enabled, cache_warmup_enabled,
+ commenting_enabled, extract_encryption_mode, request_access_enabled, run_now_enabled,
+ tier_explorer_capacity, tier_creator_capacity, tier_viewer_capacity,
+ data_alerts_enabled, commenting_mentions_enabled, catalog_obfuscation_enabled,
+ flow_auto_save_enabled, web_extraction_enabled, metrics_content_type_enabled,
+ notify_site_admins_on_throttle, authoring_enabled, custom_subscription_email_enabled,
+ custom_subscription_email, custom_subscription_footer_enabled,
+ custom_subscription_footer, ask_data_mode, named_sharing_enabled,
+ mobile_biometrics_enabled, sheet_image_enabled, derived_permissions_enabled,
+ user_visibility_mode, use_default_time_zone, time_zone, auto_suspend_refresh_enabled,
+ auto_suspend_refresh_inactivity_window)
all_site_items.append(site_item)
return all_site_items
@@ -237,6 +694,48 @@ def _parse_element(site_xml, ns):
subscribe_others_enabled = string_to_bool(site_xml.get('subscribeOthersEnabled', ''))
disable_subscriptions = string_to_bool(site_xml.get('disableSubscriptions', ''))
revision_history_enabled = string_to_bool(site_xml.get('revisionHistoryEnabled', ''))
+ editing_flows_enabled = string_to_bool(site_xml.get('editingFlowsEnabled', ''))
+ scheduling_flows_enabled = string_to_bool(site_xml.get('schedulingFlowsEnabled', ''))
+ allow_subscription_attachments = string_to_bool(site_xml.get('allowSubscriptionAttachments', ''))
+ guest_access_enabled = string_to_bool(site_xml.get('guestAccessEnabled', ''))
+ cache_warmup_enabled = string_to_bool(site_xml.get('cacheWarmupEnabled', ''))
+ commenting_enabled = string_to_bool(site_xml.get('commentingEnabled', ''))
+ extract_encryption_mode = site_xml.get('extractEncryptionMode', None)
+ request_access_enabled = string_to_bool(site_xml.get('requestAccessEnabled', ''))
+ run_now_enabled = string_to_bool(site_xml.get('runNowEnabled', ''))
+ tier_explorer_capacity = site_xml.get('tierExplorerCapacity', None)
+ if tier_explorer_capacity:
+ tier_explorer_capacity = int(tier_explorer_capacity)
+ tier_creator_capacity = site_xml.get('tierCreatorCapacity', None)
+ if tier_creator_capacity:
+ tier_creator_capacity = int(tier_creator_capacity)
+ tier_viewer_capacity = site_xml.get('tierViewerCapacity', None)
+ if tier_viewer_capacity:
+ tier_viewer_capacity = int(tier_viewer_capacity)
+ data_alerts_enabled = string_to_bool(site_xml.get('dataAlertsEnabled', ''))
+ commenting_mentions_enabled = string_to_bool(site_xml.get('commentingMentionsEnabled', ''))
+ catalog_obfuscation_enabled = string_to_bool(site_xml.get('catalogObfuscationEnabled', ''))
+ flow_auto_save_enabled = string_to_bool(site_xml.get('flowAutoSaveEnabled', ''))
+ web_extraction_enabled = string_to_bool(site_xml.get('webExtractionEnabled', ''))
+ metrics_content_type_enabled = string_to_bool(site_xml.get('metricsContentTypeEnabled', ''))
+ notify_site_admins_on_throttle = string_to_bool(site_xml.get('notifySiteAdminsOnThrottle', ''))
+ authoring_enabled = string_to_bool(site_xml.get('authoringEnabled', ''))
+ custom_subscription_email_enabled = string_to_bool(site_xml.get('customSubscriptionEmailEnabled', ''))
+ custom_subscription_email = site_xml.get('customSubscriptionEmail', None)
+ custom_subscription_footer_enabled = string_to_bool(site_xml.get('customSubscriptionFooterEnabled', ''))
+ custom_subscription_footer = site_xml.get('customSubscriptionFooter', None)
+ ask_data_mode = site_xml.get('askDataMode', None)
+ named_sharing_enabled = string_to_bool(site_xml.get('namedSharingEnabled', ''))
+ mobile_biometrics_enabled = string_to_bool(site_xml.get('mobileBiometricsEnabled', ''))
+ sheet_image_enabled = string_to_bool(site_xml.get('sheetImageEnabled', ''))
+ derived_permissions_enabled = string_to_bool(site_xml.get('derivedPermissionsEnabled', ''))
+ user_visibility_mode = site_xml.get('userVisibilityMode', '')
+ use_default_time_zone = string_to_bool(site_xml.get('useDefaultTimeZone', ''))
+ time_zone = site_xml.get('timeZone', None)
+ auto_suspend_refresh_enabled = string_to_bool(site_xml.get('autoSuspendRefreshEnabled', ''))
+ auto_suspend_refresh_inactivity_window = site_xml.get('autoSuspendRefreshInactivityWindow', None)
+ if auto_suspend_refresh_inactivity_window:
+ auto_suspend_refresh_inactivity_window = int(auto_suspend_refresh_inactivity_window)
user_quota = site_xml.get('userQuota', None)
if user_quota:
@@ -264,7 +763,16 @@ def _parse_element(site_xml, ns):
return id, name, content_url, status_reason, admin_mode, state, subscribe_others_enabled,\
disable_subscriptions, revision_history_enabled, user_quota, storage_quota,\
- revision_limit, num_users, storage, data_acceleration_mode, flows_enabled, cataloging_enabled
+ revision_limit, num_users, storage, data_acceleration_mode, flows_enabled, cataloging_enabled,\
+ editing_flows_enabled, scheduling_flows_enabled, allow_subscription_attachments, guest_access_enabled,\
+ cache_warmup_enabled, commenting_enabled, extract_encryption_mode, request_access_enabled, run_now_enabled,\
+ tier_explorer_capacity, tier_creator_capacity, tier_viewer_capacity, data_alerts_enabled,\
+ commenting_mentions_enabled, catalog_obfuscation_enabled, flow_auto_save_enabled, web_extraction_enabled,\
+ metrics_content_type_enabled, notify_site_admins_on_throttle, authoring_enabled,\
+ custom_subscription_email_enabled, custom_subscription_email, custom_subscription_footer_enabled,\
+ custom_subscription_footer, ask_data_mode, named_sharing_enabled, mobile_biometrics_enabled,\
+ sheet_image_enabled, derived_permissions_enabled, user_visibility_mode, use_default_time_zone, time_zone,\
+ auto_suspend_refresh_enabled, auto_suspend_refresh_inactivity_window
# Used to convert string represented boolean to a boolean type
diff --git a/tableauserverclient/server/request_factory.py b/tableauserverclient/server/request_factory.py
index 2325a52de..03ede71d3 100644
--- a/tableauserverclient/server/request_factory.py
+++ b/tableauserverclient/server/request_factory.py
@@ -461,7 +461,7 @@ def update_req(self, site_item):
site_element.attrib['subscribeOthersEnabled'] = str(site_item.subscribe_others_enabled).lower()
if site_item.revision_limit:
site_element.attrib['revisionLimit'] = str(site_item.revision_limit)
- if site_item.subscribe_others_enabled is not None:
+ if site_item.revision_history_enabled is not None:
site_element.attrib['revisionHistoryEnabled'] = str(site_item.revision_history_enabled).lower()
if site_item.data_acceleration_mode is not None:
site_element.attrib['dataAccelerationMode'] = str(site_item.data_acceleration_mode).lower()
@@ -469,6 +469,78 @@ def update_req(self, site_item):
site_element.attrib['flowsEnabled'] = str(site_item.flows_enabled).lower()
if site_item.cataloging_enabled is not None:
site_element.attrib['catalogingEnabled'] = str(site_item.cataloging_enabled).lower()
+ if site_item.editing_flows_enabled is not None:
+ site_element.attrib['editingFlowsEnabled'] = str(site_item.editing_flows_enabled).lower()
+ if site_item.scheduling_flows_enabled is not None:
+ site_element.attrib['schedulingFlowsEnabled'] = str(site_item.scheduling_flows_enabled).lower()
+ if site_item.allow_subscription_attachments is not None:
+ site_element.attrib['allowSubscriptionAttachments'] = str(site_item.allow_subscription_attachments).lower()
+ if site_item.guest_access_enabled is not None:
+ site_element.attrib['guestAccessEnabled'] = str(site_item.guest_access_enabled).lower()
+ if site_item.cache_warmup_enabled is not None:
+ site_element.attrib['cacheWarmupEnabled'] = str(site_item.cache_warmup_enabled).lower()
+ if site_item.commenting_enabled is not None:
+ site_element.attrib['commentingEnabled'] = str(site_item.commenting_enabled).lower()
+ if site_item.extract_encryption_mode is not None:
+ site_element.attrib['extractEncryptionMode'] = str(site_item.extract_encryption_mode).lower()
+ if site_item.request_access_enabled is not None:
+ site_element.attrib['requestAccessEnabled'] = str(site_item.request_access_enabled).lower()
+ if site_item.run_now_enabled is not None:
+ site_element.attrib['runNowEnabled'] = str(site_item.run_now_enabled).lower()
+ if site_item.tier_creator_capacity is not None:
+ site_element.attrib['tierCreatorCapacity'] = str(site_item.tier_creator_capacity).lower()
+ if site_item.tier_explorer_capacity is not None:
+ site_element.attrib['tierExplorerCapacity'] = str(site_item.tier_explorer_capacity).lower()
+ if site_item.tier_viewer_capacity is not None:
+ site_element.attrib['tierViewerCapacity'] = str(site_item.tier_viewer_capacity).lower()
+ if site_item.data_alerts_enabled is not None:
+ site_element.attrib['dataAlertsEnabled'] = str(site_item.data_alerts_enabled)
+ if site_item.commenting_mentions_enabled is not None:
+ site_element.attrib['commentingMentionsEnabled'] = str(site_item.commenting_mentions_enabled).lower()
+ if site_item.catalog_obfuscation_enabled is not None:
+ site_element.attrib['catalogObfuscationEnabled'] = str(site_item.catalog_obfuscation_enabled).lower()
+ if site_item.flow_auto_save_enabled is not None:
+ site_element.attrib['flowAutoSaveEnabled'] = str(site_item.flow_auto_save_enabled).lower()
+ if site_item.web_extraction_enabled is not None:
+ site_element.attrib['webExtractionEnabled'] = str(site_item.web_extraction_enabled).lower()
+ if site_item.metrics_content_type_enabled is not None:
+ site_element.attrib['metricsContentTypeEnabled'] = str(site_item.metrics_content_type_enabled).lower()
+ if site_item.notify_site_admins_on_throttle is not None:
+ site_element.attrib['notifySiteAdminsOnThrottle'] = str(site_item.notify_site_admins_on_throttle).lower()
+ if site_item.authoring_enabled is not None:
+ site_element.attrib['authoringEnabled'] = str(site_item.authoring_enabled).lower()
+ if site_item.custom_subscription_email_enabled is not None:
+ site_element.attrib['customSubscriptionEmailEnabled'] = \
+ str(site_item.custom_subscription_email_enabled).lower()
+ if site_item.custom_subscription_email is not None:
+ site_element.attrib['customSubscriptionEmail'] = str(site_item.custom_subscription_email).lower()
+ if site_item.custom_subscription_footer_enabled is not None:
+ site_element.attrib['customSubscriptionFooterEnabled'] =\
+ str(site_item.custom_subscription_footer_enabled).lower()
+ if site_item.custom_subscription_footer is not None:
+ site_element.attrib['customSubscriptionFooter'] = str(site_item.custom_subscription_footer).lower()
+ if site_item.ask_data_mode is not None:
+ site_element.attrib['askDataMode'] = str(site_item.ask_data_mode)
+ if site_item.named_sharing_enabled is not None:
+ site_element.attrib['namedSharingEnabled'] = str(site_item.named_sharing_enabled).lower()
+ if site_item.mobile_biometrics_enabled is not None:
+ site_element.attrib['mobileBiometricsEnabled'] = str(site_item.mobile_biometrics_enabled).lower()
+ if site_item.sheet_image_enabled is not None:
+ site_element.attrib['sheetImageEnabled'] = str(site_item.sheet_image_enabled).lower()
+ if site_item.derived_permissions_enabled is not None:
+ site_element.attrib['derivedPermissionsEnabled'] = str(site_item.derived_permissions_enabled).lower()
+ if site_item.user_visibility_mode is not None:
+ site_element.attrib['userVisibilityMode'] = str(site_item.user_visibility_mode)
+ if site_item.use_default_time_zone is not None:
+ site_element.attrib['useDefaultTimeZone'] = str(site_item.use_default_time_zone).lower()
+ if site_item.time_zone is not None:
+ site_element.attrib['timeZone'] = str(site_item.time_zone)
+ if site_item.auto_suspend_refresh_enabled is not None:
+ site_element.attrib['autoSuspendRefreshEnabled'] = str(site_item.auto_suspend_refresh_enabled).lower()
+ if site_item.auto_suspend_refresh_inactivity_window is not None:
+ site_element.attrib['autoSuspendRefreshInactivityWindow'] =\
+ str(site_item.auto_suspend_refresh_inactivity_window)
+
return ET.tostring(xml_request)
def create_req(self, site_item):
@@ -484,10 +556,90 @@ def create_req(self, site_item):
site_element.attrib['storageQuota'] = str(site_item.storage_quota)
if site_item.disable_subscriptions is not None:
site_element.attrib['disableSubscriptions'] = str(site_item.disable_subscriptions).lower()
+ if site_item.subscribe_others_enabled is not None:
+ site_element.attrib['subscribeOthersEnabled'] = str(site_item.subscribe_others_enabled).lower()
+ if site_item.revision_limit:
+ site_element.attrib['revisionLimit'] = str(site_item.revision_limit)
+ if site_item.data_acceleration_mode is not None:
+ site_element.attrib['dataAccelerationMode'] = str(site_item.data_acceleration_mode).lower()
if site_item.flows_enabled is not None:
site_element.attrib['flowsEnabled'] = str(site_item.flows_enabled).lower()
+ if site_item.editing_flows_enabled is not None:
+ site_element.attrib['editingFlowsEnabled'] = str(site_item.editing_flows_enabled).lower()
+ if site_item.scheduling_flows_enabled is not None:
+ site_element.attrib['schedulingFlowsEnabled'] = str(site_item.scheduling_flows_enabled).lower()
+ if site_item.allow_subscription_attachments is not None:
+ site_element.attrib['allowSubscriptionAttachments'] = str(site_item.allow_subscription_attachments).lower()
+ if site_item.guest_access_enabled is not None:
+ site_element.attrib['guestAccessEnabled'] = str(site_item.guest_access_enabled).lower()
+ if site_item.cache_warmup_enabled is not None:
+ site_element.attrib['cacheWarmupEnabled'] = str(site_item.cache_warmup_enabled).lower()
+ if site_item.commenting_enabled is not None:
+ site_element.attrib['commentingEnabled'] = str(site_item.commenting_enabled).lower()
+ if site_item.revision_history_enabled is not None:
+ site_element.attrib['revisionHistoryEnabled'] = str(site_item.revision_history_enabled).lower()
+ if site_item.extract_encryption_mode is not None:
+ site_element.attrib['extractEncryptionMode'] = str(site_item.extract_encryption_mode).lower()
+ if site_item.request_access_enabled is not None:
+ site_element.attrib['requestAccessEnabled'] = str(site_item.request_access_enabled).lower()
+ if site_item.run_now_enabled is not None:
+ site_element.attrib['runNowEnabled'] = str(site_item.run_now_enabled).lower()
+ if site_item.tier_creator_capacity is not None:
+ site_element.attrib['tierCreatorCapacity'] = str(site_item.tier_creator_capacity).lower()
+ if site_item.tier_explorer_capacity is not None:
+ site_element.attrib['tierExplorerCapacity'] = str(site_item.tier_explorer_capacity).lower()
+ if site_item.tier_viewer_capacity is not None:
+ site_element.attrib['tierViewerCapacity'] = str(site_item.tier_viewer_capacity).lower()
+ if site_item.data_alerts_enabled is not None:
+ site_element.attrib['dataAlertsEnabled'] = str(site_item.data_alerts_enabled).lower()
+ if site_item.commenting_mentions_enabled is not None:
+ site_element.attrib['commentingMentionsEnabled'] = str(site_item.commenting_mentions_enabled).lower()
+ if site_item.catalog_obfuscation_enabled is not None:
+ site_element.attrib['catalogObfuscationEnabled'] = str(site_item.catalog_obfuscation_enabled).lower()
+ if site_item.flow_auto_save_enabled is not None:
+ site_element.attrib['flowAutoSaveEnabled'] = str(site_item.flow_auto_save_enabled).lower()
+ if site_item.web_extraction_enabled is not None:
+ site_element.attrib['webExtractionEnabled'] = str(site_item.web_extraction_enabled).lower()
+ if site_item.metrics_content_type_enabled is not None:
+ site_element.attrib['metricsContentTypeEnabled'] = str(site_item.metrics_content_type_enabled).lower()
+ if site_item.notify_site_admins_on_throttle is not None:
+ site_element.attrib['notifySiteAdminsOnThrottle'] = str(site_item.notify_site_admins_on_throttle).lower()
+ if site_item.authoring_enabled is not None:
+ site_element.attrib['authoringEnabled'] = str(site_item.authoring_enabled).lower()
+ if site_item.custom_subscription_email_enabled is not None:
+ site_element.attrib['customSubscriptionEmailEnabled'] =\
+ str(site_item.custom_subscription_email_enabled).lower()
+ if site_item.custom_subscription_email is not None:
+ site_element.attrib['customSubscriptionEmail'] = str(site_item.custom_subscription_email).lower()
+ if site_item.custom_subscription_footer_enabled is not None:
+ site_element.attrib['customSubscriptionFooterEnabled'] =\
+ str(site_item.custom_subscription_footer_enabled).lower()
+ if site_item.custom_subscription_footer is not None:
+ site_element.attrib['customSubscriptionFooter'] = str(site_item.custom_subscription_footer).lower()
+ if site_item.ask_data_mode is not None:
+ site_element.attrib['askDataMode'] = str(site_item.ask_data_mode)
+ if site_item.named_sharing_enabled is not None:
+ site_element.attrib['namedSharingEnabled'] = str(site_item.named_sharing_enabled).lower()
+ if site_item.mobile_biometrics_enabled is not None:
+ site_element.attrib['mobileBiometricsEnabled'] = str(site_item.mobile_biometrics_enabled).lower()
+ if site_item.sheet_image_enabled is not None:
+ site_element.attrib['sheetImageEnabled'] = str(site_item.sheet_image_enabled).lower()
if site_item.cataloging_enabled is not None:
site_element.attrib['catalogingEnabled'] = str(site_item.cataloging_enabled).lower()
+ if site_item.derived_permissions_enabled is not None:
+ site_element.attrib['derivedPermissionsEnabled'] = str(site_item.derived_permissions_enabled).lower()
+ if site_item.user_visibility_mode is not None:
+ site_element.attrib['userVisibilityMode'] = str(site_item.user_visibility_mode)
+ if site_item.use_default_time_zone is not None:
+ site_element.attrib['useDefaultTimeZone'] = str(site_item.use_default_time_zone).lower()
+ if site_item.time_zone is not None:
+ site_element.attrib['timeZone'] = str(site_item.time_zone)
+ if site_item.auto_suspend_refresh_enabled is not None:
+ site_element.attrib['autoSuspendRefreshEnabled'] = str(site_item.auto_suspend_refresh_enabled).lower()
+ if site_item.auto_suspend_refresh_inactivity_window is not None:
+ site_element.attrib['autoSuspendRefreshInactivityWindow'] =\
+ str(site_item.auto_suspend_refresh_inactivity_window)
+
return ET.tostring(xml_request)
diff --git a/test/assets/site_create.xml b/test/assets/site_create.xml
index 9fafb5f02..9d9c4a009 100644
--- a/test/assets/site_create.xml
+++ b/test/assets/site_create.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/test/assets/site_get.xml b/test/assets/site_get.xml
index e3c7a781c..7ffa91eb7 100644
--- a/test/assets/site_get.xml
+++ b/test/assets/site_get.xml
@@ -2,7 +2,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/test/assets/site_get_by_id.xml b/test/assets/site_get_by_id.xml
index 98bc3e4e6..a47703fb6 100644
--- a/test/assets/site_get_by_id.xml
+++ b/test/assets/site_get_by_id.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/test/assets/site_get_by_name.xml b/test/assets/site_get_by_name.xml
index 5b3042e61..852f9594f 100644
--- a/test/assets/site_get_by_name.xml
+++ b/test/assets/site_get_by_name.xml
@@ -1,5 +1,4 @@
-
+
\ No newline at end of file
diff --git a/test/assets/site_update.xml b/test/assets/site_update.xml
index 30e434373..dbb166de1 100644
--- a/test/assets/site_update.xml
+++ b/test/assets/site_update.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/test/test_site.py b/test/test_site.py
index a06876e2a..8fbb4eda3 100644
--- a/test/test_site.py
+++ b/test/test_site.py
@@ -36,13 +36,30 @@ def test_get(self):
self.assertEqual('ContentOnly', all_sites[0].admin_mode)
self.assertEqual(False, all_sites[0].revision_history_enabled)
self.assertEqual(True, all_sites[0].subscribe_others_enabled)
-
+ self.assertEqual(25, all_sites[0].revision_limit)
+ self.assertEqual(None, all_sites[0].num_users)
+ self.assertEqual(None, all_sites[0].storage)
+ self.assertEqual(True, all_sites[0].cataloging_enabled)
+ self.assertEqual(False, all_sites[0].editing_flows_enabled)
+ self.assertEqual(False, all_sites[0].scheduling_flows_enabled)
+ self.assertEqual(True, all_sites[0].allow_subscription_attachments)
self.assertEqual('6b7179ba-b82b-4f0f-91ed-812074ac5da6', all_sites[1].id)
self.assertEqual('Active', all_sites[1].state)
self.assertEqual('Samples', all_sites[1].name)
self.assertEqual('ContentOnly', all_sites[1].admin_mode)
self.assertEqual(False, all_sites[1].revision_history_enabled)
self.assertEqual(True, all_sites[1].subscribe_others_enabled)
+ self.assertEqual(False, all_sites[1].guest_access_enabled)
+ self.assertEqual(True, all_sites[1].cache_warmup_enabled)
+ self.assertEqual(True, all_sites[1].commenting_enabled)
+ self.assertEqual(True, all_sites[1].cache_warmup_enabled)
+ self.assertEqual(False, all_sites[1].request_access_enabled)
+ self.assertEqual(True, all_sites[1].run_now_enabled)
+ self.assertEqual(1, all_sites[1].tier_explorer_capacity)
+ self.assertEqual(2, all_sites[1].tier_creator_capacity)
+ self.assertEqual(1, all_sites[1].tier_viewer_capacity)
+ self.assertEqual(False, all_sites[1].flows_enabled)
+ self.assertEqual(None, all_sites[1].data_acceleration_mode)
def test_get_before_signin(self):
self.server._auth_token = None
@@ -62,6 +79,9 @@ def test_get_by_id(self):
self.assertEqual(False, single_site.revision_history_enabled)
self.assertEqual(True, single_site.subscribe_others_enabled)
self.assertEqual(False, single_site.disable_subscriptions)
+ self.assertEqual(False, single_site.data_alerts_enabled)
+ self.assertEqual(False, single_site.commenting_mentions_enabled)
+ self.assertEqual(True, single_site.catalog_obfuscation_enabled)
def test_get_by_id_missing_id(self):
self.assertRaises(ValueError, self.server.sites.get_by_id, '')
@@ -93,7 +113,18 @@ def test_update(self):
admin_mode=TSC.SiteItem.AdminMode.ContentAndUsers,
user_quota=15, storage_quota=1000,
disable_subscriptions=True, revision_history_enabled=False,
- data_acceleration_mode='disable')
+ data_acceleration_mode='disable', flow_auto_save_enabled=True,
+ web_extraction_enabled=False, metrics_content_type_enabled=True,
+ notify_site_admins_on_throttle=False, authoring_enabled=True,
+ custom_subscription_email_enabled=True,
+ custom_subscription_email='test@test.com',
+ custom_subscription_footer_enabled=True,
+ custom_subscription_footer='example_footer', ask_data_mode='EnabledByDefault',
+ named_sharing_enabled=False, mobile_biometrics_enabled=True,
+ sheet_image_enabled=False, derived_permissions_enabled=True,
+ user_visibility_mode='FULL', use_default_time_zone=False,
+ time_zone='America/Los_Angeles', auto_suspend_refresh_enabled=True,
+ auto_suspend_refresh_inactivity_window=55)
single_site._id = '6b7179ba-b82b-4f0f-91ed-812074ac5da6'
single_site = self.server.sites.update(single_site)
@@ -109,6 +140,25 @@ def test_update(self):
self.assertEqual('disable', single_site.data_acceleration_mode)
self.assertEqual(True, single_site.flows_enabled)
self.assertEqual(True, single_site.cataloging_enabled)
+ self.assertEqual(True, single_site.flow_auto_save_enabled)
+ self.assertEqual(False, single_site.web_extraction_enabled)
+ self.assertEqual(True, single_site.metrics_content_type_enabled)
+ self.assertEqual(False, single_site.notify_site_admins_on_throttle)
+ self.assertEqual(True, single_site.authoring_enabled)
+ self.assertEqual(True, single_site.custom_subscription_email_enabled)
+ self.assertEqual('test@test.com', single_site.custom_subscription_email)
+ self.assertEqual(True, single_site.custom_subscription_footer_enabled)
+ self.assertEqual('example_footer', single_site.custom_subscription_footer)
+ self.assertEqual('EnabledByDefault', single_site.ask_data_mode)
+ self.assertEqual(False, single_site.named_sharing_enabled)
+ self.assertEqual(True, single_site.mobile_biometrics_enabled)
+ self.assertEqual(False, single_site.sheet_image_enabled)
+ self.assertEqual(True, single_site.derived_permissions_enabled)
+ self.assertEqual('FULL', single_site.user_visibility_mode)
+ self.assertEqual(False, single_site.use_default_time_zone)
+ self.assertEqual('America/Los_Angeles', single_site.time_zone)
+ self.assertEqual(True, single_site.auto_suspend_refresh_enabled)
+ self.assertEqual(55, single_site.auto_suspend_refresh_inactivity_window)
def test_update_missing_id(self):
single_site = TSC.SiteItem('test', 'test')