def _generate_provider_fixtures(): """ Generate provider setup and clear fixtures based on what classes are available This will make fixtures like "cloud_provider" and "has_no_cloud_providers" available to tests. """ for prov_type, prov_class in all_types().iteritems(): def gen_setup_provider(prov_class): @pytest.fixture(scope='function') def _setup_provider(request): """ Sets up one of the matching providers """ return setup_one_by_class_or_skip(request, prov_class) return _setup_provider fn_name = '{}_provider'.format(prov_type) globals()[fn_name] = gen_setup_provider(prov_class) def gen_has_no_providers(prov_class): @pytest.fixture(scope='function') def _has_no_providers(): """ Clears all providers of given class from the appliance """ prov_class.clear_providers() return _has_no_providers fn_name = 'has_no_{}_providers'.format(prov_type) globals()[fn_name] = gen_has_no_providers(prov_class)
def _generate_provider_fixtures(): """ Generate provider setup and clear fixtures based on what classes are available This will make fixtures like "cloud_provider" and "has_no_cloud_providers" available to tests. """ for prov_type, prov_class in all_types().items(): def gen_setup_provider(prov_class): @pytest.fixture(scope='function') def _setup_provider(request): """ Sets up one of the matching providers """ return setup_one_by_class_or_skip(request, prov_class) return _setup_provider fn_name = '{}_provider'.format(prov_type) globals()[fn_name] = gen_setup_provider(prov_class) def gen_has_no_providers(prov_class): @pytest.fixture(scope='function') def _has_no_providers(): """ Clears all providers of given class from the appliance """ prov_class.clear_providers() return _has_no_providers fn_name = 'has_no_{}_providers'.format(prov_type) globals()[fn_name] = gen_has_no_providers(prov_class)
def get_class_from_type(prov_type): try: return all_types()[prov_type] except KeyError: raise UnknownProviderType( "Unknown provider type: {}!".format(prov_type))
def get_class_from_type(prov_type): try: return all_types()[prov_type] except KeyError: raise UnknownProviderType("Unknown provider type: {}!".format(prov_type))