예제 #1
0
    def test_instance_call(self):
        def invoke(ext, *args, **kwds):
            return ext.name, args, kwds

        em = DriverManager.make_test_instance(a_driver)
        result = em(invoke, 'a', b='C')
        self.assertEqual(result, ('test_driver', ('a',), {'b': 'C'}))
예제 #2
0
    def test_instance_call(self):
        def invoke(ext, *args, **kwds):
            return ext.name, args, kwds

        em = DriverManager.make_test_instance(a_driver)
        result = em(invoke, 'a', b='C')
        self.assertEqual(result, ('test_driver', ('a', ), {'b': 'C'}))
예제 #3
0
 def __init__(self, backend, dependencies):
     manager = DriverManager(
         namespace='wazo_dird.backends',
         name=backend,
         invoke_on_load=True,
     )
     self._source = manager.driver
     self._source.load(dependencies)
예제 #4
0
    def __init__(self, config: Config, invoke_on_load=False):
        self._logger = logging.getLogger(__name__)

        self.failed_plugins = list()
        self._disabled_plugins = config.plugins.disabled

        self._settings_initialized = False

        def check(ext: Extension):
            return self._check_extension(config, ext)

        self.weather = DriverManager(
            "blueweather.plugins.weather",
            config.plugins.weather_driver,
            on_load_failure_callback=self._on_load_fail
        )
        self.plugins = ExtensionManager(
            "blueweather.plugins.plugin",
            on_load_failure_callback=self._on_load_fail
        )
        self.api = EnabledExtensionManager(
            "blueweather.plugins.api",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )
        self.startup = EnabledExtensionManager(
            "blueweather.plugins.startup",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )
        self.settings = EnabledExtensionManager(
            "blueweather.plugins.settings",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )
        self.unitConversion = DispatchExtensionManager(
            "blueweather.plugins.unitconv",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )

        if self._logger.isEnabledFor(logging.INFO):
            extensions = self.getAllExtensions()
            for k, v in extensions.items():
                extensions[k] = '\n\t'.join(v.keys())

            extensions = '\n'.join(
                ["%s: \n\t%s" % (k, v) for k, v in extensions.items()]
            )

            self._logger.info("Discovered Extensions: \n%s", extensions)

        if invoke_on_load:
            self.invoke()
예제 #5
0
def load_backend(type, backend):
    """Load secret backend.

    Parameters:
        type (str): The backend type
        backend (str): The backend init variables
    """
    mgr = DriverManager(
        namespace='aiovault.auth.backend',
        name=type,
        invoke_on_load=True,
        invoke_kwds=backend
    )
    return mgr.driver
예제 #6
0
 def test_driver_manager_should_use_supplied_namespace(self):
     namespace = 'testing.1.2.3'
     em = DriverManager.make_test_instance(a_driver, namespace=namespace)
     self.assertEqual(namespace, em.namespace)
예제 #7
0
 def test_driver_manager_should_use_supplied_extension(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual([a_driver], em.extensions)
예제 #8
0
 def test_driver_manager_should_have_default_namespace(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual(em.namespace, 'TESTING')
예제 #9
0
 def test_instance_driver_property(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual(sentinel.driver_obj, em.driver)
예제 #10
0
def test_driver_manager_should_use_supplied_namespace():
    namespace = 'testing.1.2.3'
    em = DriverManager.make_test_instance(a_driver, namespace=namespace)

    assert namespace == em.namespace
예제 #11
0
 def test_instance_driver_property(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual(sentinel.driver_obj, em.driver)
def test_driver_manager_should_use_supplied_extension():
    em = DriverManager.make_test_instance(a_driver)

    assert [a_driver] == em.extensions
예제 #13
0
def test_driver_manager_should_use_supplied_extension():
    em = DriverManager.make_test_instance(a_driver)

    assert [a_driver] == em.extensions
예제 #14
0
 def test_driver_manager_should_use_supplied_namespace(self):
     namespace = 'testing.1.2.3'
     em = DriverManager.make_test_instance(a_driver, namespace=namespace)
     self.assertEqual(namespace, em.namespace)
def test_instance_driver_property():
    em = DriverManager.make_test_instance(a_driver)

    assert sentinel.driver_obj == em.driver
예제 #16
0
 def test_driver_manager_should_use_supplied_extension(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual([a_driver], em.extensions)
def test_instance_should_use_driver_name():
    em = DriverManager.make_test_instance(a_driver)

    assert ['test_driver'] == em.names()
def test_driver_manager_should_use_supplied_namespace():
    namespace = 'testing.1.2.3'
    em = DriverManager.make_test_instance(a_driver, namespace=namespace)

    assert namespace == em.namespace
def test_driver_manager_should_have_default_namespace():
    em = DriverManager.make_test_instance(a_driver)

    assert em.namespace
예제 #20
0
 def test_instance_should_use_driver_name(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual(['test_driver'], em.names())
예제 #21
0
 def test_instance_should_use_driver_name(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual(['test_driver'], em.names())
예제 #22
0
def test_driver_manager_should_have_default_namespace():
    em = DriverManager.make_test_instance(a_driver)

    assert em.namespace
예제 #23
0
def test_instance_should_use_driver_name():
    em = DriverManager.make_test_instance(a_driver)

    assert ['test_driver'] == em.names()
예제 #24
0
 def test_driver_manager_should_have_default_namespace(self):
     em = DriverManager.make_test_instance(a_driver)
     self.assertEqual(em.namespace, 'TESTING')
예제 #25
0
def test_instance_driver_property():
    em = DriverManager.make_test_instance(a_driver)

    assert sentinel.driver_obj == em.driver