def test_blob_service_properties(self): # Instantiate a BlobServiceClient using a connection string from azure.storage.blob import BlobServiceClient blob_service_client = BlobServiceClient.from_connection_string(self.connection_string) # [START set_blob_service_properties] # Create service properties from azure.storage.blob import Logging, Metrics, CorsRule, RetentionPolicy # Create logging settings logging = Logging(read=True, write=True, delete=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Create metrics for requests statistics hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Create CORS rules cors_rule = CorsRule(['www.xyz.com'], ['GET']) cors = [cors_rule] # Set the service properties blob_service_client.set_service_properties(logging, hour_metrics, minute_metrics, cors) # [END set_blob_service_properties] # [START get_blob_service_properties] properties = blob_service_client.get_service_properties() # [END get_blob_service_properties] assert properties is not None
def _assert_properties_default(self, prop): self.assertIsNotNone(prop) self._assert_logging_equal(prop.logging, BlobAnalyticsLogging()) self._assert_metrics_equal(prop.hour_metrics, Metrics()) self._assert_metrics_equal(prop.minute_metrics, Metrics()) self._assert_cors_equal(prop.cors, list())
def _assert_properties_default(self, prop): self.assertIsNotNone(prop) self._assert_logging_equal(prop['analytics_logging'], BlobAnalyticsLogging()) self._assert_metrics_equal(prop['hour_metrics'], Metrics()) self._assert_metrics_equal(prop['minute_metrics'], Metrics()) self._assert_cors_equal(prop['cors'], list())
def test_blob_service_properties(self): # Arrange # Act resp = self.bsc.set_service_properties( analytics_logging=BlobAnalyticsLogging(), hour_metrics=Metrics(), minute_metrics=Metrics(), cors=list(), target_version='2014-02-14') # Assert self.assertIsNone(resp) props = self.bsc.get_service_properties() self._assert_properties_default(props) self.assertEqual('2014-02-14', props.default_service_version)
async def test_retention_too_long(self, storage_account_name, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account_name, "blob"), credential=storage_account_key, transport=AiohttpTestTransport()) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=366)) # Assert with self.assertRaises(HttpResponseError): await bsc.set_service_properties(None, None, minute_metrics)
async def test_blob_service_properties(self, storage_account_name, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account_name, "blob"), credential=storage_account_key, transport=AiohttpTestTransport()) # Act resp = await bsc.set_service_properties( analytics_logging=BlobAnalyticsLogging(), hour_metrics=Metrics(), minute_metrics=Metrics(), cors=list(), target_version='2014-02-14' ) # Assert self.assertIsNone(resp) props = await bsc.get_service_properties() self._assert_properties_default(props) self.assertEqual('2014-02-14', props['target_version'])
def test_blob_service_properties(self, resource_group, location, storage_account, storage_account_key): # Arrange bsc = BlobServiceClient(self.account_url(storage_account.name, "blob"), credential=storage_account_key) # Act resp = bsc.set_service_properties( analytics_logging=BlobAnalyticsLogging(), hour_metrics=Metrics(), minute_metrics=Metrics(), cors=list(), target_version='2014-02-14' ) # Assert self.assertIsNone(resp) props = bsc.get_service_properties() self._assert_properties_default(props) self.assertEqual('2014-02-14', props['target_version'])
def test_retention_too_long(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account.name, "blob"), credential=storage_account_key) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=366)) # Assert self.assertRaises(HttpResponseError, bsc.set_service_properties, None, None, minute_metrics)
def test_retention_too_long(self): # Arrange minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=366)) # Assert self.assertRaises(HttpResponseError, self.bsc.set_service_properties, None, None, minute_metrics)
async def test_set_hour_metrics(self, storage_account_name, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account_name, "blob"), credential=storage_account_key, transport=AiohttpTestTransport()) hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act await bsc.set_service_properties(hour_metrics=hour_metrics) # Assert received_props = await bsc.get_service_properties() self._assert_metrics_equal(received_props['hour_metrics'], hour_metrics)
def test_set_hour_metrics(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account.name, "blob"), credential=storage_account_key) hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act bsc.set_service_properties(hour_metrics=hour_metrics) # Assert received_props = bsc.get_service_properties() self._assert_metrics_equal(received_props['hour_metrics'], hour_metrics)
def test_set_hour_metrics(self): # Arrange hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act self.bsc.set_service_properties(hour_metrics=hour_metrics) # Assert received_props = self.bsc.get_service_properties() self._assert_metrics_equal(received_props.hour_metrics, hour_metrics)
async def test_set_minute_metrics(self, resource_group, location, storage_account, storage_account_key): bsc = BlobServiceClient(self._account_url(storage_account.name), credential=storage_account_key, transport=AiohttpTestTransport()) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act await bsc.set_service_properties(minute_metrics=minute_metrics) # Assert received_props = await bsc.get_service_properties() self._assert_metrics_equal(received_props['minute_metrics'], minute_metrics)
def test_set_minute_metrics(self, storage_account_name, storage_account_key): bsc = BlobServiceClient(self.account_url(storage_account_name, "blob"), credential=storage_account_key) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act bsc.set_service_properties(minute_metrics=minute_metrics) # Assert received_props = bsc.get_service_properties() self._assert_metrics_equal(received_props['minute_metrics'], minute_metrics)
async def _test_set_minute_metrics_async(self): # Arrange minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act await self.bsc.set_service_properties(minute_metrics=minute_metrics) # Assert received_props = await self.bsc.get_service_properties() self._assert_metrics_equal(received_props.minute_metrics, minute_metrics)