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
示例#8
0
 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)