summaryrefslogtreecommitdiffstats
path: root/ipatests/test_ipalib/test_output.py
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2013-05-21 13:40:27 +0200
committerMartin Kosek <mkosek@redhat.com>2013-06-17 19:22:50 +0200
commitc60142efda817f030a7495cd6fe4a19953e55afa (patch)
tree31a840ceddd4381311bbc879f9851bb71a8e2ffa /ipatests/test_ipalib/test_output.py
parent6d66e826c1c248dffc80056b20c1e4b74b04d46f (diff)
downloadfreeipa-c60142efda817f030a7495cd6fe4a19953e55afa.tar.gz
freeipa-c60142efda817f030a7495cd6fe4a19953e55afa.tar.xz
freeipa-c60142efda817f030a7495cd6fe4a19953e55afa.zip
Make an ipa-tests package
Rename the 'tests' directory to 'ipa-tests', and create an ipa-tests RPM containing the test suite Part of the work for: https://fedorahosted.org/freeipa/ticket/3654
Diffstat (limited to 'ipatests/test_ipalib/test_output.py')
-rw-r--r--ipatests/test_ipalib/test_output.py89
1 files changed, 89 insertions, 0 deletions
diff --git a/ipatests/test_ipalib/test_output.py b/ipatests/test_ipalib/test_output.py
new file mode 100644
index 000000000..15ef11e10
--- /dev/null
+++ b/ipatests/test_ipalib/test_output.py
@@ -0,0 +1,89 @@
+# Authors:
+# Jason Gerard DeRose <jderose@redhat.com>
+#
+# Copyright (C) 2009 Red Hat
+# see file 'COPYING' for use and warranty information
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+"""
+Test the `ipalib.output` module.
+"""
+
+from ipatests.util import raises, ClassChecker
+from ipalib import output
+from ipalib.frontend import Command
+from ipalib import _
+
+class test_Output(ClassChecker):
+ """
+ Test the `ipalib.output.Output` class.
+ """
+
+ _cls = output.Output
+
+ def test_init(self):
+ """
+ Test the `ipalib.output.Output.__init__` method.
+ """
+ o = self.cls('result')
+ assert o.name == 'result'
+ assert o.type is None
+ assert o.doc is None
+
+ def test_repr(self):
+ """
+ Test the `ipalib.output.Output.__repr__` method.
+ """
+ o = self.cls('aye')
+ assert repr(o) == "Output('aye', None, None)"
+ o = self.cls('aye', type=int, doc='An A, aye?')
+ assert repr(o) == "Output('aye', %r, 'An A, aye?')" % int
+
+ class Entry(self.cls):
+ pass
+ o = Entry('aye')
+ assert repr(o) == "Entry('aye', None, None)"
+ o = Entry('aye', type=int, doc='An A, aye?')
+ assert repr(o) == "Entry('aye', %r, 'An A, aye?')" % int
+
+
+class test_ListOfEntries(ClassChecker):
+ """
+ Test the `ipalib.output.ListOfEntries` class.
+ """
+
+ _cls = output.ListOfEntries
+
+ def test_validate(self):
+ """
+ Test the `ipalib.output.ListOfEntries.validate` method.
+ """
+ class example(Command):
+ pass
+ cmd = example()
+ inst = self.cls('stuff')
+
+ okay = dict(foo='bar')
+ nope = ('aye', 'bee')
+
+ e = raises(TypeError, inst.validate, cmd, [okay, okay, nope])
+ assert str(e) == output.emsg % (
+ 'example', 'ListOfEntries', 'stuff', 2, dict, tuple, nope
+ )
+
+ e = raises(TypeError, inst.validate, cmd, [nope, okay, nope])
+ assert str(e) == output.emsg % (
+ 'example', 'ListOfEntries', 'stuff', 0, dict, tuple, nope
+ )