Esempio n. 1
0
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)
Esempio n. 2
0
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))
Esempio n. 4
0
def get_class_from_type(prov_type):
    try:
        return all_types()[prov_type]
    except KeyError:
        raise UnknownProviderType("Unknown provider type: {}!".format(prov_type))