def _assert_properties_default(self, prop): self.assertIsNotNone(prop) self._assert_logging_equal(prop.logging, Logging()) 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_table_service_properties(self): # Arrange # Act resp = self.ts.set_table_service_properties(logging=Logging(), hour_metrics=Metrics(), minute_metrics=Metrics(), cors=list()) # Assert self.assertIsNone(resp) self._assert_properties_default(self.ts.get_table_service_properties())
def test_file_service_properties(self): # Arrange # Act resp = self.fs.set_file_service_properties(hour_metrics=Metrics(), minute_metrics=Metrics(), cors=list()) # Assert self.assertIsNone(resp) props = self.fs.get_file_service_properties() self._assert_metrics_equal(props.hour_metrics, Metrics()) self._assert_metrics_equal(props.minute_metrics, Metrics()) self._assert_cors_equal(props.cors, list())
def test_blob_service_properties(self): # Arrange # Act resp = self.bs.set_blob_service_properties(logging=Logging(), hour_metrics=Metrics(), minute_metrics=Metrics(), cors=list(), target_version='2014-02-14') # Assert self.assertIsNone(resp) props = self.bs.get_blob_service_properties() self._assert_properties_default(props) self.assertEqual('2014-02-14', props.target_version)
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(AzureHttpError, self.bs.set_blob_service_properties, None, None, minute_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.bs.set_blob_service_properties(hour_metrics=hour_metrics) # Assert received_props = self.bs.get_blob_service_properties() self._assert_metrics_equal(received_props.hour_metrics, hour_metrics)
def service_properties(self): # Basic self.service.set_file_service_properties( hour_metrics=Metrics(enabled=True, include_apis=True), minute_metrics=Metrics(enabled=True, include_apis=False), cors=[CorsRule(allowed_origins=['*'], allowed_methods=['GET'])]) # Wait 30 seconds for settings to propagate time.sleep(30) props = self.service.get_file_service_properties( ) # props = ServiceProperties() w/ all properties specified above # Omitted properties will not overwrite what's already on the self.service # Empty properties will clear self.service.set_file_service_properties(cors=[]) # Wait 30 seconds for settings to propagate time.sleep(30) props = self.service.get_file_service_properties( ) # props = ServiceProperties() w/ CORS rules cleared
def _turn_on_minute_metrics(self, name, key, metric_table_retention_period): account = CloudStorageAccount(account_name=name, account_key=key, sas_token=None) retention_policy = RetentionPolicy(enabled=True, days=metric_table_retention_period) metrics = Metrics(enabled=True, include_apis=True, retention_policy=retention_policy) table_service = account.create_table_service() table_service.set_table_service_properties(minute_metrics=metrics) blob_service = account.create_page_blob_service() blob_service.set_blob_service_properties(minute_metrics=metrics) file_service = account.create_file_service() file_service.set_file_service_properties(minute_metrics=metrics) queue_service = account.create_queue_service() queue_service.set_queue_service_properties(minute_metrics=metrics)