summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-08-01 07:00:08 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-08-01 07:00:08 +0000
commit4fe8e52ecb61088bcff2a7c91db454621d6755f1 (patch)
treebd855943301a70430f739c1788a3674f6bdf5d72 /ipalib
parent8881e4a543e9f1f1edda2d1cc935c020950214e6 (diff)
downloadfreeipa-4fe8e52ecb61088bcff2a7c91db454621d6755f1.tar.gz
freeipa-4fe8e52ecb61088bcff2a7c91db454621d6755f1.tar.xz
freeipa-4fe8e52ecb61088bcff2a7c91db454621d6755f1.zip
39: Added unit tests for Registrar.__iter__()
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/tests/test_plugable.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/ipalib/tests/test_plugable.py b/ipalib/tests/test_plugable.py
index a24bddfd6..99c9a4f6f 100644
--- a/ipalib/tests/test_plugable.py
+++ b/ipalib/tests/test_plugable.py
@@ -198,3 +198,41 @@ def test_Registrar():
sub_d = r['Base2']
assert len(sub_d) == 1
assert sub_d['plugin2'] is plugin2
+
+
+ # Setup to test __iter__:
+ class plugin1a(Base1):
+ pass
+ r(plugin1a)
+
+ class plugin1b(Base1):
+ pass
+ r(plugin1b)
+
+ class plugin2a(Base2):
+ pass
+ r(plugin2a)
+
+ class plugin2b(Base2):
+ pass
+ r(plugin2b)
+
+ m = {
+ 'Base1': set([plugin1, plugin1a, plugin1b]),
+ 'Base2': set([plugin2, plugin2a, plugin2b]),
+ }
+
+ # Now test __iter__:
+ for (base, plugins) in r:
+ assert base in [Base1, Base2]
+ assert set(plugins) == m[base.__name__]
+ assert len(list(r)) == 2
+
+ # Again test __hasitem__, __getitem__:
+ for base in [Base1, Base2]:
+ assert base in r
+ assert base.__name__ in r
+ d = dict((p.__name__, p) for p in m[base.__name__])
+ assert len(d) == 3
+ assert r[base] == d
+ assert r[base.__name__] == d