Skip to content

Commit 8b63e5d

Browse files
committed
argument parser need to ignore options passed None as string
1 parent 45260c1 commit 8b63e5d

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

source/confParser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def merge_defaults_and_args(defaults, args):
6767
brConfig = {}
6868
brConfig = dict(defaults)
6969
args = vars(args)
70-
brConfig.update({k: v for k, v in args.items() if v is not None})
70+
brConfig.update({k: v for k, v in args.items() if v is not None and not (v == str(None))})
7171
return brConfig
7272

7373

tests/test_params.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33

44

55
def my_setup():
6-
global a, b, c, d, e
6+
global a, b, c, d, e, f, g
77
a = ConfigManager().defaults
88
b, c = parse_cmd_args([])
99
d, e = parse_cmd_args(['-p', '8443', '-t', '/etc/my_tls'])
10+
f, g = parse_cmd_args(['-p', '8443', '-t', None, '-k', 'None', '-m', "None"])
1011

1112

1213
@with_setup(my_setup)
@@ -32,3 +33,13 @@ def test_case03():
3233
assert len(result.keys()) > 0
3334
assert 'port' in result.keys()
3435
assert result.get('port') == 8443
36+
37+
38+
@with_setup(my_setup)
39+
def test_case04():
40+
result = merge_defaults_and_args(a, f)
41+
assert len(result.keys()) > 0
42+
assert 'tlsKeyPath' not in result.keys()
43+
assert 'tlsKeyFile' not in result.keys()
44+
assert 'tlsCertFile' not in result.keys()
45+
assert result.get('port') == 8443

0 commit comments

Comments
 (0)