59 lines
1.5 KiB
Python
59 lines
1.5 KiB
Python
"""Test the config file is loading parameters correctly
|
|
"""
|
|
from fediblockhole import setup_argparse, augment_args
|
|
|
|
def shim_argparse(testargv: list=[], tomldata: str=None):
|
|
"""Helper function to parse test args
|
|
"""
|
|
ap = setup_argparse()
|
|
args = ap.parse_args(testargv)
|
|
args = augment_args(args, tomldata)
|
|
return args
|
|
|
|
def test_parse_tomldata():
|
|
tomldata = """
|
|
# Test TOML config for FediBlockHole
|
|
|
|
blocklist_instance_sources = []
|
|
|
|
blocklist_url_sources = []
|
|
|
|
save_intermediate = true
|
|
|
|
import_fields = ['public_comment']
|
|
"""
|
|
ap = setup_argparse()
|
|
args = ap.parse_args([])
|
|
args = augment_args(args, tomldata)
|
|
|
|
assert args.blocklist_instance_sources == []
|
|
assert args.blocklist_url_sources == []
|
|
assert args.save_intermediate == True
|
|
assert args.import_fields == ['public_comment']
|
|
|
|
def test_set_mergeplan_max():
|
|
tomldata = """mergeplan = 'max'
|
|
"""
|
|
args = shim_argparse([], tomldata)
|
|
|
|
assert args.mergeplan == 'max'
|
|
|
|
def test_set_mergeplan_min():
|
|
tomldata = """mergeplan = 'min'
|
|
"""
|
|
args = shim_argparse([], tomldata)
|
|
|
|
assert args.mergeplan == 'min'
|
|
|
|
def test_set_allowlists():
|
|
tomldata = """# Comment on config
|
|
allowlist_url_sources = [ { url='file:///path/to/allowlist', format='csv'} ]
|
|
"""
|
|
args = shim_argparse([], tomldata)
|
|
|
|
assert args.mergeplan == 'max'
|
|
assert args.allowlist_url_sources == [{
|
|
'url': 'file:///path/to/allowlist',
|
|
'format': 'csv',
|
|
}]
|