import pytest from slz_config.utils import get_param @pytest.mark.parametrize( 'param, sources, default, expected', [ ('1', [ { '1': 2 }, { '1': 3 }, ], 4, 2), ('1', [ { '2': 2 }, { '1': 3 }, ], 4, 3), ('3', [ { '1': 2 }, { '1': 3 }, ], None, None), ('3', [ { '1': 2 }, { '1': 3 }, ], 4, 4), ('3', [ {}, {}, {}, {}, {}, ], 4, 4), ('3', [], 4, 4), ] ) def test_get_param(param, sources, default, expected): actual = get_param(param, *sources, default=default) assert actual == expected