示例#1
0
        def decorator(func):
            objectstorage_api_config = ObjectStorageComposite().config
            behaviors = ObjectStorageComposite().behaviors

            features = behaviors.get_configured_features()

            if features == objectstorage_api_config.ALL_FEATURES:
                return func

            if features == objectstorage_api_config.NO_FEATURES:
                setattr(func, '__unittest_skip__', True)
                setattr(func, '__unittest_skip_why__', 'Skipping All Features')

            features = features.split()
            missing_reqs = False
            for req in required_features:
                if req not in features:
                    missing_reqs = True
                    break

            if missing_reqs:
                setattr(func, '__unittest_skip__', True)
                setattr(
                    func, '__unittest_skip_why__',
                    'requires features: {0}'.format(
                        ', '.join(required_features)))

            return func
示例#2
0
        def decorator(func):
            objectstorage_api_config = ObjectStorageComposite().config
            behaviors = ObjectStorageComposite().behaviors

            features = behaviors.get_configured_features()

            if features == objectstorage_api_config.ALL_FEATURES:
                return func

            if features == objectstorage_api_config.NO_FEATURES:
                setattr(func, '__unittest_skip__', True)
                setattr(func, '__unittest_skip_why__', 'Skipping All Features')

            features = features.split()
            missing_reqs = False
            for req in required_features:
                if req not in features:
                    missing_reqs = True
                    break

            if missing_reqs:
                setattr(func, '__unittest_skip__', True)
                setattr(
                    func, '__unittest_skip_why__',
                    'requires features: {0}'.format(
                        ', '.join(required_features)))

            return func
示例#3
0
    def __init__(self, exclude=None):
        object_storage_api = ObjectStorageComposite()

        api_config = object_storage_api.config
        client = object_storage_api.client
        behaviors = object_storage_api.behaviors
        features = behaviors.get_configured_features()

        if features == api_config.ALL_FEATURES:
            features = ['dlo', 'slo']

        generator = ObjectStorageGenerator(client)

        if exclude is None:
            exclude = []

        if 'standard' not in exclude:
            self.append_new_dataset(
                'standard',
                {'object_type': 'standard',
                 'generate_object': generator.generate_object})

        if 'dlo' in features and 'dlo' not in exclude:
            self.append_new_dataset(
                'dlo',
                {'object_type': 'dlo',
                 'generate_object': generator.generate_dynamic_large_object})

        if 'slo' in features and 'slo' not in exclude:
            self.append_new_dataset(
                'slo',
                {'object_type': 'slo',
                 'generate_object': generator.generate_static_large_object})
示例#4
0
    def setUpClass(cls):
        super(ObjectStorageFixture, cls).setUpClass()
        object_storage_api = ObjectStorageComposite()

        cls.auth_info = object_storage_api.auth_info
        cls.objectstorage_api_config = object_storage_api.config
        cls.storage_url = object_storage_api.storage_url
        cls.auth_token = object_storage_api.auth_token
        cls.base_container_name = (
            cls.objectstorage_api_config.base_container_name)
        cls.client = object_storage_api.client
        cls.behaviors = object_storage_api.behaviors
示例#5
0
        def decorator(func):
            # TODO: This is not ideal, should change this to support
            # multiple versions
            required_version = required_versions[0]
            objectstorage_api_config = ObjectStorageComposite().config
            behaviors = ObjectStorageComposite().behaviors

            swift_version = objectstorage_api_config.version
            if not swift_version and objectstorage_api_config.use_swift_info:
                info = behaviors.get_swift_info()
                swift_version = info.get('swift', {
                    'version': None
                }).get('version', None)

            if not swift_version:
                return func

            if required_version.startswith('<'):
                required_version = required_version.lstrip('<')
                compare_func = lambda sv, tv: sv < tv
                extra_message = ' less than'
            elif required_version.startswith('>'):
                required_version = required_version.lstrip('>')
                compare_func = lambda sv, tv: sv > tv
                extra_message = ' greater than'
            else:
                required_version = required_version.lstrip('=')
                compare_func = lambda sv, tv: sv.startswith(tv)
                extra_message = ''

            if compare_func(swift_version, required_version):
                func

            setattr(func, '__unittest_skip__', True)
            setattr(
                func, '__unittest_skip_why__',
                'swift running version {0}, requires version{1}: {2}'.format(
                    swift_version, extra_message, required_version))
            return func
示例#6
0
        def decorator(func):
            # TODO: This is not ideal, should change this to support
            # multiple versions
            required_version = required_versions[0]
            objectstorage_api_config = ObjectStorageComposite().config
            behaviors = ObjectStorageComposite().behaviors

            swift_version = objectstorage_api_config.version
            if not swift_version and objectstorage_api_config.use_swift_info:
                info = behaviors.get_swift_info()
                swift_version = info.get(
                    'swift', {'version': None}).get('version', None)

            if not swift_version:
                return func

            if required_version.startswith('<'):
                required_version = required_version.lstrip('<')
                compare_func = lambda sv, tv: sv < tv
                extra_message = ' less than'
            elif required_version.startswith('>'):
                required_version = required_version.lstrip('>')
                compare_func = lambda sv, tv: sv > tv
                extra_message = ' greater than'
            else:
                required_version = required_version.lstrip('=')
                compare_func = lambda sv, tv: sv.startswith(tv)
                extra_message = ''

            if compare_func(swift_version, required_version):
                func

            setattr(func, '__unittest_skip__', True)
            setattr(
                func, '__unittest_skip_why__',
                'swift running version {0}, requires version{1}: {2}'.format(
                    swift_version, extra_message, required_version))
            return func
示例#7
0
 def setUpClass(cls):
     super(ObjectstorageIntegrationFixture, cls).setUpClass()
     cls.object_storage_api = ObjectStorageComposite()
     cls.object_storage_client = cls.object_storage_api.client
     cls.object_storage_behaviors = cls.object_storage_api.behaviors