示例#1
0
def test_empty_registry():

    EmptyModuleRegistry = create_registry_metaclass(  # NOSONAR
        "EmptyModuleRegistry",
        __package__,
        decorate_as_module=True)

    if EmptyModuleRegistry._registry is not None:
        return "Registry was supposed to be None"

    if EmptyModuleRegistry._initialized is not False:
        return "Registry initialized flag should be false"
示例#2
0
def test_create_base_class():
    RegistryWithBaseClass = create_registry_metaclass(  # NOSONAR
        'RegistryWithBaseClass',
        __package__,
        decorate_as_module=False)

    @six.add_metaclass(RegistryWithBaseClass)
    class TestBase(object):
        pass

    registry = RegistryWithBaseClass._registry

    if registry is None or len(registry) != 0:
        return "Registry was not supposed to be None, and empty"

    if RegistryWithBaseClass._initialized is False:
        return "Registry initialized flag should not be true"
示例#3
0
#######################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2021, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
import six
from pgadmin.utils.dynamic_registry import create_registry_metaclass


TestModuleRegistry = create_registry_metaclass(
    'TestModuleRegistry', __package__, decorate_as_module=True
)


TestNamedRegistry = create_registry_metaclass(
    'TestRegistry', __package__, decorate_as_module=False
)


@six.add_metaclass(TestModuleRegistry)
class TestModuleBase(object):
    pass


@six.add_metaclass(TestNamedRegistry)
class TestNameBase(object):
    pass
示例#4
0
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2021, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################

from abc import ABCMeta

from pgadmin.utils.dynamic_registry import create_registry_metaclass

DriverRegistry = create_registry_metaclass("DriverRegistry",
                                           __package__,
                                           decorate_as_module=True)
示例#5
0
@classmethod
def load_modules(cls, app=None):
    submodules = []
    from . import internal as module
    submodules.append(module)

    from . import kerberos as module
    submodules.append(module)

    from . import ldap as module
    submodules.append(module)

    from . import mfa as module
    submodules.append(module)

    from . import oauth2 as module
    submodules.append(module)

    from . import webserver as module
    submodules.append(module)

    for module in submodules:
        if "init_app" in module.__dict__.keys():
            module.__dict__["init_app"](app)


AuthSourceRegistry = create_registry_metaclass("AuthSourceRegistry",
                                               __package__,
                                               load_modules=load_modules,
                                               decorate_as_module=True)
示例#6
0
    from . import email as module
    submodules.append(module)

    from . import utils as module
    submodules.append(module)

    from . import views as module
    submodules.append(module)

    for module in submodules:
        if "init_app" in module.__dict__.keys():
            module.__dict__["init_app"](app)


MultiFactorAuthRegistry = create_registry_metaclass('MultiFactorAuthRegistry',
                                                    __package__,
                                                    load_modules=load_modules,
                                                    decorate_as_module=True)


@six.add_metaclass(MultiFactorAuthRegistry)
class BaseMFAuth():
    """
    Base Multi-Factor Authentication (MFA) class

    A Class implements this class will be registered with
    the registry class 'MultiFactorAuthRegistry', and it will be automatically
    available as a MFA method.
    """
    @abstractproperty
    def name(self) -> str:
        """