1 # Unix SMB/CIFS implementation.
2 # Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2011
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 """Tests for option parsing.
23 from samba
.getopt
import (
27 parse_kerberos_arg_legacy
,
33 class KerberosOptionTests(samba
.tests
.TestCase
):
35 def test_legacy_parse_true(self
):
37 MUST_USE_KERBEROS
, parse_kerberos_arg_legacy("yes", "--kerberos"))
39 MUST_USE_KERBEROS
, parse_kerberos_arg_legacy("true", "--kerberos"))
41 MUST_USE_KERBEROS
, parse_kerberos_arg_legacy("1", "--kerberos"))
43 def test_legacy_parse_false(self
):
45 DONT_USE_KERBEROS
, parse_kerberos_arg_legacy("no", "--kerberos"))
47 DONT_USE_KERBEROS
, parse_kerberos_arg_legacy("false", "--kerberos"))
49 DONT_USE_KERBEROS
, parse_kerberos_arg_legacy("0", "--kerberos"))
51 def test_legacy_parse_auto(self
):
53 AUTO_USE_KERBEROS
, parse_kerberos_arg_legacy("auto", "--kerberos"))
55 def test_legacy_parse_invalid(self
):
56 self
.assertRaises(optparse
.OptionValueError
,
57 parse_kerberos_arg_legacy
, "blah?", "--kerberos")
59 def test_parse_valid(self
):
61 MUST_USE_KERBEROS
, parse_kerberos_arg("required", "--use-kerberos"))
63 AUTO_USE_KERBEROS
, parse_kerberos_arg("desired", "--use-kerberos"))
65 DONT_USE_KERBEROS
, parse_kerberos_arg("off", "--use-kerberos"))
67 def test_parse_invalid(self
):
68 self
.assertRaises(optparse
.OptionValueError
,
69 parse_kerberos_arg
, "wurst", "--use-kerberos")