samba.getopt: Add some basic tests.
[Samba/gebeck_regimport.git] / source4 / scripting / python / samba / tests / getopt.py
blob9d7264609131c825a2e8dfa578362a62e7e705a3
1 #!/usr/bin/env python
3 # Unix SMB/CIFS implementation.
4 # Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2011
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 """Tests for option parsing.
22 """
24 import optparse
25 from samba.getopt import (
26 AUTO_USE_KERBEROS,
27 DONT_USE_KERBEROS,
28 MUST_USE_KERBEROS,
29 parse_kerberos_arg,
31 import samba.tests
33 class KerberosOptionTests(samba.tests.TestCase):
35 def test_parse_true(self):
36 self.assertEquals(
37 MUST_USE_KERBEROS, parse_kerberos_arg("yes", "--kerberos"))
38 self.assertEquals(
39 MUST_USE_KERBEROS, parse_kerberos_arg("true", "--kerberos"))
40 self.assertEquals(
41 MUST_USE_KERBEROS, parse_kerberos_arg("1", "--kerberos"))
43 def test_parse_false(self):
44 self.assertEquals(
45 DONT_USE_KERBEROS, parse_kerberos_arg("no", "--kerberos"))
46 self.assertEquals(
47 DONT_USE_KERBEROS, parse_kerberos_arg("false", "--kerberos"))
48 self.assertEquals(
49 DONT_USE_KERBEROS, parse_kerberos_arg("0", "--kerberos"))
51 def test_parse_auto(self):
52 self.assertEquals(
53 AUTO_USE_KERBEROS, parse_kerberos_arg("auto", "--kerberos"))
55 def test_parse_invalid(self):
56 self.assertRaises(optparse.OptionValueError,
57 parse_kerberos_arg, "blah?", "--kerberos")