summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien Di Mascio <adim@logilab.fr>2006-05-15 15:57:46 +0200
committerAdrien Di Mascio <adim@logilab.fr>2006-05-15 15:57:46 +0200
commit4763b396f7f68988087b5e27f308d3856b9f8885 (patch)
treed1f88cc5b42ec839b2a17c0e0e3afc96229b0533
parentd5eccd938adafa6b8ae0fabf017cfc220527ee08 (diff)
downloadlogilab-common-4763b396f7f68988087b5e27f308d3856b9f8885.tar.gz
simple function to create an arbitrary mock object
-rw-r--r--test/unittest_testlib.py7
-rw-r--r--testlib.py10
2 files changed, 17 insertions, 0 deletions
diff --git a/test/unittest_testlib.py b/test/unittest_testlib.py
index 09c50e2..a4b68a7 100644
--- a/test/unittest_testlib.py
+++ b/test/unittest_testlib.py
@@ -20,6 +20,13 @@ class MockTestCase(testlib.TestCase):
def fail(self, msg):
raise AssertionError(msg)
+class UtilTC(testlib.TestCase):
+
+ def test_mockobject(self):
+ obj = testlib.mock_object(foo='bar', baz='bam')
+ self.assertEquals(obj.foo, 'bar')
+ self.assertEquals(obj.baz, 'bam')
+
class TestlibTC(testlib.TestCase):
def setUp(self):
diff --git a/testlib.py b/testlib.py
index 40a345b..2f6bf7d 100644
--- a/testlib.py
+++ b/testlib.py
@@ -626,3 +626,13 @@ class MockConnection:
MockConnexion = class_renamed('MockConnexion', MockConnection)
+def mock_object(**params):
+ """creates an object using params to set attributes
+ >>> option = mock_object(verbose=False, index=range(5))
+ >>> option.verbose
+ False
+ >>> option.index
+ [0, 1, 2, 3, 4]
+ """
+ return type('Mock', (), params)()
+