import pytest from tadas.platform import config @pytest.mark.parametrize( "name, env_value, expected_result", [ ('TRENDING_DAYS_UPPER_LIMIT', None, 30), ('TRENDING_DAYS_UPPER_LIMIT', '1', 1), ('TRENDING_DAYS_UPPER_LIMIT', '2', 2), ('TRENDING_DAYS_UPPER_LIMIT', 'str', ValueError), ('REQUIRED_DSPS', None, []), ('REQUIRED_DSPS', 'spotify,apple', ['spotify', 'apple']), ('SAVE_DAYS_TRENDING', None, False), ('SAVE_DAYS_TRENDING', 'TRUE', True), ('SAVE_DAYS_TRENDING', 'True', True), ('SAVE_DAYS_TRENDING', 'true', True), ('SAVE_DAYS_TRENDING', 'yes', True), ('SAVE_DAYS_TRENDING', 'no', False), ('SAVE_DAYS_TRENDING', '1', ValueError), ('SAVE_DAYS_TRENDING', '0', ValueError), ('SAVE_DAYS_TRENDING', 'none', ValueError), ('TADAS_TRIGGER_JENKINS', None, False), ('TADAS_TRIGGER_JENKINS', 'No', False), ('TADAS_TRIGGER_JENKINS', 'N', False), ('TADAS_TRIGGER_JENKINS', 'n', False), ('TADAS_TRIGGER_JENKINS', 'false', False), ('TADAS_TRIGGER_JENKINS', 'False', False), ('TADAS_TRIGGER_JENKINS', 'FALSE', False), ('TADAS_TRIGGER_JENKINS', 'true', True), ('TADAS_TRIGGER_JENKINS', 'True', True), ('TADAS_TRIGGER_JENKINS', 'TRUE', True), ('TADAS_TRIGGER_JENKINS', 'Y', True), ('TADAS_TRIGGER_JENKINS', 'y', True), ('TADAS_TRIGGER_JENKINS', 'yes', True), ('TADAS_TRIGGER_JENKINS', 'nope', ValueError), ('TADAS_TRIGGER_JENKINS', 'yeah', ValueError), ] ) def test_get(name, env_value, expected_result, monkeypatch): if env_value: monkeypatch.setenv(name, env_value) if expected_result == ValueError: with pytest.raises(expected_result): config.get(name) else: result = config.get(name) assert result == expected_result