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
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})
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
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
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
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