示例#1
0
 def test_lifecycle_config_storage_uri(self):
     """Test setting and getting of lifecycle config with storage_uri."""
     # create a new bucket
     bucket = self._MakeBucket()
     bucket_name = bucket.name
     uri = storage_uri('gs://' + bucket_name)
     # get lifecycle config and make sure it's empty
     xml = uri.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_EMPTY)
     # set lifecycle config
     lifecycle_config = LifecycleConfig()
     lifecycle_config.add_rule('Delete', None, LIFECYCLE_CONDITIONS)
     uri.configure_lifecycle(lifecycle_config)
     xml = uri.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_DOC)
示例#2
0
文件: test_basic.py 项目: 10sr/hue
 def test_lifecycle_config_storage_uri(self):
     """Test setting and getting of lifecycle config with storage_uri."""
     # create a new bucket
     bucket = self._MakeBucket()
     bucket_name = bucket.name
     uri = storage_uri('gs://' + bucket_name)
     # get lifecycle config and make sure it's empty
     xml = uri.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_EMPTY)
     # set lifecycle config
     lifecycle_config = LifecycleConfig()
     lifecycle_config.add_rule('Delete', None, LIFECYCLE_CONDITIONS)
     uri.configure_lifecycle(lifecycle_config)
     xml = uri.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_DOC)
示例#3
0
 def test_lifecycle_config_bucket(self):
     """Test setting and getting of lifecycle config on Bucket."""
     # create a new bucket
     bucket = self._MakeBucket()
     bucket_name = bucket.name
     # now call get_bucket to see if it's really there
     bucket = self._GetConnection().get_bucket(bucket_name)
     # get lifecycle config and make sure it's empty
     xml = bucket.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_EMPTY)
     # set lifecycle config
     lifecycle_config = LifecycleConfig()
     lifecycle_config.add_rule('Delete', None, LIFECYCLE_CONDITIONS)
     bucket.configure_lifecycle(lifecycle_config)
     xml = bucket.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_DOC)
示例#4
0
文件: test_basic.py 项目: 10sr/hue
 def test_lifecycle_config_bucket(self):
     """Test setting and getting of lifecycle config on Bucket."""
     # create a new bucket
     bucket = self._MakeBucket()
     bucket_name = bucket.name
     # now call get_bucket to see if it's really there
     bucket = self._GetConnection().get_bucket(bucket_name)
     # get lifecycle config and make sure it's empty
     xml = bucket.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_EMPTY)
     # set lifecycle config
     lifecycle_config = LifecycleConfig()
     lifecycle_config.add_rule('Delete', None, LIFECYCLE_CONDITIONS)
     bucket.configure_lifecycle(lifecycle_config)
     xml = bucket.get_lifecycle_config().to_xml()
     self.assertEqual(xml, LIFECYCLE_DOC)
示例#5
0
    def get_lifecycle_config(self, headers=None):
        """
        Returns the current lifecycle configuration on the bucket.

        :rtype: :class:`boto.gs.lifecycle.LifecycleConfig`
        :returns: A LifecycleConfig object that describes all current
            lifecycle rules in effect for the bucket.
        """
        response = self.connection.make_request('GET', self.name,
                query_args=LIFECYCLE_ARG, headers=headers)
        body = response.read()
        boto.log.debug(body)
        if response.status == 200:
            lifecycle_config = LifecycleConfig()
            h = handler.XmlHandler(lifecycle_config, self)
            xml.sax.parseString(body, h)
            return lifecycle_config
        else:
            raise self.connection.provider.storage_response_error(
                response.status, response.reason, body)
示例#6
0
文件: lifecycle.py 项目: jkff/gsutil
    def _SetLifecycleConfig(self):
        lifecycle_arg = self.args[0]
        uri_args = self.args[1:]
        # Disallow multi-provider setlifecycle requests.
        storage_uri = self.UrisAreForSingleProvider(uri_args)
        if not storage_uri:
            raise CommandException(
                '"%s" command spanning providers not allowed.' %
                self.command_name)

        # Open, read and parse file containing XML document.
        lifecycle_file = open(lifecycle_arg, 'r')
        lifecycle_txt = lifecycle_file.read()
        lifecycle_file.close()
        lifecycle_config = LifecycleConfig()

        # Parse XML document and convert into LifecycleConfig object.
        h = handler.XmlHandler(lifecycle_config, None)
        try:
            xml.sax.parseString(lifecycle_txt, h)
        except xml.sax._exceptions.SAXParseException, e:
            raise CommandException(
                'Requested lifecycle config is invalid: %s at line %s, column %s'
                % (e.getMessage(), e.getLineNumber(), e.getColumnNumber()))