summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-10-26 23:53:44 -0600
committerJason Gerard DeRose <jderose@redhat.com>2008-10-26 23:53:44 -0600
commit4fe03f5e17dfe9d4478a75dfada2282535c989fe (patch)
tree65fd4b6961172b92e5ecd7d15100a866a9623a8c
parent6b8abb0d78a8d86d7ca52083a267fe226bf74656 (diff)
downloadfreeipa-4fe03f5e17dfe9d4478a75dfada2282535c989fe.tar.gz
freeipa-4fe03f5e17dfe9d4478a75dfada2282535c989fe.tar.xz
freeipa-4fe03f5e17dfe9d4478a75dfada2282535c989fe.zip
Added API.load_plugins() place-holder, which cascades call to API.bootstrap()
-rw-r--r--ipalib/plugable.py13
-rw-r--r--tests/test_ipalib/test_plugable.py13
2 files changed, 26 insertions, 0 deletions
diff --git a/ipalib/plugable.py b/ipalib/plugable.py
index f01214332..4c0b175f5 100644
--- a/ipalib/plugable.py
+++ b/ipalib/plugable.py
@@ -735,9 +735,22 @@ class API(DictProxy):
"""
self.__doing('bootstrap')
+ def load_plugins(self, dry_run=False):
+ """
+ Load plugins from all standard locations.
+
+ `API.bootstrap` will automatically be called if it hasn't been
+ already.
+ """
+ self.__doing('load_plugins')
+ self.__do_if_not_done('bootstrap')
+
def finalize(self):
"""
Finalize the registration, instantiate the plugins.
+
+ `API.bootstrap` will automatically be called if it hasn't been
+ already.
"""
self.__doing('finalize')
self.__do_if_not_done('bootstrap')
diff --git a/tests/test_ipalib/test_plugable.py b/tests/test_ipalib/test_plugable.py
index bdbadae59..ba98e752a 100644
--- a/tests/test_ipalib/test_plugable.py
+++ b/tests/test_ipalib/test_plugable.py
@@ -883,3 +883,16 @@ class test_API(ClassChecker):
assert o.isdone('bootstrap') is True
e = raises(StandardError, o.bootstrap)
assert str(e) == 'API.bootstrap() already called'
+
+ def test_load_plugins(self):
+ """
+ Test the `ipalib.plugable.API.load_plugins` method.
+ """
+ o = self.cls()
+ assert o.isdone('bootstrap') is False
+ assert o.isdone('load_plugins') is False
+ o.load_plugins(dry_run=True)
+ assert o.isdone('bootstrap') is True
+ assert o.isdone('load_plugins') is True
+ e = raises(StandardError, o.load_plugins)
+ assert str(e) == 'API.load_plugins() already called'