diff --git a/sdk/tables/azure-data-tables/azure/data/tables/_models.py b/sdk/tables/azure-data-tables/azure/data/tables/_models.py index a5835fea79ee..0953182fc4a1 100644 --- a/sdk/tables/azure-data-tables/azure/data/tables/_models.py +++ b/sdk/tables/azure-data-tables/azure/data/tables/_models.py @@ -78,6 +78,12 @@ def __init__(self, **kwargs): # pylint: disable=super-init-not-called self.expiry = kwargs.get('expiry') self.permission = kwargs.get('permission') + def __repr__(self): + # type: () -> str + return "TableAccessPolicy(start={}, expiry={}, permission={})".format( + self.start, self.expiry, self.permission + )[1024:] + class TableAnalyticsLogging(GeneratedLogging): """Azure Analytics Logging settings. @@ -114,6 +120,12 @@ def _from_generated(cls, generated): ) ) + def __repr__(self): + # type: () -> str + return "TableAnalyticsLogging(version={}, delete={}, read={}, write={}, retention_policy={})".format( + self.version, self.delete, self.read, self.write, self.retention_policy + )[1024:] + class TableMetrics(GeneratedMetrics): """A summary of request statistics grouped by API in hour or minute aggregates. @@ -153,6 +165,12 @@ def _from_generated(cls, generated): ) ) + def __repr__(self): + # type: () -> str + return "TableMetrics(version={}, enabled={}, include_apis={}, retention_policy={})".format( + self.version, self.enabled, self.include_apis, self.retention_policy + )[1024:] + class TableRetentionPolicy(GeneratedRetentionPolicy): def __init__(self, **kwargs): # pylint: disable=super-init-not-called @@ -190,6 +208,9 @@ def _from_generated(cls, generated, **kwargs): # pylint: disable=unused-argumen enabled=generated.enabled, days=generated.days, ) + def __repr__(self): + # type; () -> str + return "TableRetentionPolicy(enabled={}, days={})".format(self.enabled, self.days)[1024:] class TableCorsRule(object): @@ -256,6 +277,12 @@ def _from_generated(cls, generated): max_age_in_seconds=generated.max_age_in_seconds, ) + def __repr__(self): + # type: () -> str + return "TableCorsRules(allowed_origins={}, allowed_methods={}, allowed_headers={}, exposed_headers={}, max_age_in_seconds={})".format( # pylint: disable=line-too-long + self.allowed_origins, self.allowed_methods, self.allowed_headers, self.exposed_headers, self.max_age_in_seconds # pylint: disable=line-too-long + )[1024:] + class TablePropertiesPaged(PageIterator): """An iterable of Table properties. @@ -400,6 +427,12 @@ def __str__(self): + ("d" if self.delete else "") ) + def __repr__(self): + # type: () -> str + return "TableSasPermissions(read={}, add={}, update={}, delete={})".format( + self.read, self.add, self.update, self.delete + )[1024:] + @classmethod def from_string( cls, @@ -481,6 +514,10 @@ def _from_generated(cls, generated, **kwargs): # pylint: disable=unused-argumen # type: (TableQueryResponse, Any) -> TableItem return cls(generated.table_name) # type: ignore + def __repr__(self): + # type: () -> str + return "TableItem(name={})".format(self.name)[1024:] + class TablePayloadFormat(object): """ @@ -545,8 +582,9 @@ def __init__(self, **kwargs): self.object = kwargs.get('object', False) self._str = ("s" if self.service else "") + ("o" if self.object else "") - def __str__(self): - return self._str + def __repr__(self): + # type: () -> str + return "ResourceTypes(service={}, object={})".format(self.service, self.object)[1024:] @classmethod def from_string(cls, string): @@ -616,8 +654,11 @@ def __init__(self, **kwargs): + ("p" if self.process else "") ) - def __str__(self): - return self._str + def __repr__(self): + # type: () -> str + return "AccountSasPermissions(read={}, write={}, delete={}, list={}, add={}, create={}, update={}, process={})".format( # pylint: disable=line-too-long + self.read, self.write, self.delete, self.list, self.add, self.create, self.update, self.process + )[1024:] @classmethod def from_string(cls, permission, **kwargs): diff --git a/sdk/tables/azure-data-tables/tests/test_table.py b/sdk/tables/azure-data-tables/tests/test_table.py index 5bdca6ae32d6..6685791104ad 100644 --- a/sdk/tables/azure-data-tables/tests/test_table.py +++ b/sdk/tables/azure-data-tables/tests/test_table.py @@ -334,7 +334,7 @@ def test_set_table_acl_with_empty_signed_identifier(self, tables_storage_account self._assert_policy_datetime(dt, acl['full'].start) signed_identifiers.pop('empty') - signed_identifiers['partial'] = None + signed_identifiers['partial'] = None table.set_table_access_policy(signed_identifiers) acl = table.get_table_access_policy() @@ -397,6 +397,7 @@ def test_set_table_acl_too_many_ids(self, tables_storage_account_name, tables_pr finally: ts.delete_table(table.table_name) + @pytest.mark.live_test_only @tables_decorator def test_account_sas(self, tables_storage_account_name, tables_primary_storage_account_key): account_url = self.account_url(tables_storage_account_name, "table") diff --git a/sdk/tables/azure-data-tables/tests/test_table_async.py b/sdk/tables/azure-data-tables/tests/test_table_async.py index f8f53c4b600f..f91f8fa9347d 100644 --- a/sdk/tables/azure-data-tables/tests/test_table_async.py +++ b/sdk/tables/azure-data-tables/tests/test_table_async.py @@ -278,7 +278,7 @@ async def test_set_table_acl_with_empty_signed_identifier(self, tables_storage_a self._assert_policy_datetime(dt, acl['full'].start) signed_identifiers.pop('empty') - signed_identifiers['partial'] = None + signed_identifiers['partial'] = None await table.set_table_access_policy(signed_identifiers) acl = await table.get_table_access_policy() @@ -338,6 +338,7 @@ async def test_set_table_acl_too_many_ids(self, tables_storage_account_name, tab finally: await ts.delete_table(table.table_name) + @pytest.mark.live_test_only @tables_decorator_async async def test_account_sas(self, tables_storage_account_name, tables_primary_storage_account_key): account_url = self.account_url(tables_storage_account_name, "table")