From adf8b9b2d8ac4d5a73ed453fb1c05c28b3efc7b3 Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Tue, 2 Sep 2008 19:29:00 +0000 Subject: [PATCH] 232: Added Option2.get_values() method; added corresponding unit tests --- ipalib/public.py | 5 +++++ ipalib/tests/test_public.py | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/ipalib/public.py b/ipalib/public.py index cf95af7cd..c01a88d91 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -152,6 +152,11 @@ class Option2(plugable.ReadOnly): return self.convert(default) return self.convert(self.default) + def get_values(self): + if self.type.name in ('Enum', 'CallbackEnum'): + return self.type.values + return tuple() + class Option(plugable.Plugin): """ diff --git a/ipalib/tests/test_public.py b/ipalib/tests/test_public.py index 56da573ad..be1b9158b 100644 --- a/ipalib/tests/test_public.py +++ b/ipalib/tests/test_public.py @@ -291,6 +291,18 @@ class test_Option2(ClassChecker): assert o.get_default() == (default,) assert o.get_default(first='John', last='Doe') == ('Hello, John Doe!',) + def test_get_default(self): + """ + Tests the `public.Option2.get_values` method. + """ + name = 'status' + doc = 'Account status' + values = (u'Active', u'Inactive') + o = self.cls(name, doc, ipa_types.Unicode()) + assert o.get_values() == tuple() + o = self.cls(name, doc, ipa_types.Enum(*values)) + assert o.get_values() == values + class test_Option(ClassChecker): """