def test_config_checks(metavdirs): path = metavdirs config = {'calendars': {'default': {'path': path, 'type': 'discover'}}, 'sqlite': {'path': '/tmp'}, 'locale': {'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin'}, 'default': {'default_calendar': None}, } config_checks(config) for cal in ['home', 'my calendar', 'my private calendar', 'work', 'public1', 'public']: config['calendars'][cal]['path'] = config['calendars'][cal]['path'][len(metavdirs):] assert config == { 'calendars': { 'home': { 'color': None, 'path': '/dir/cal3/home', 'readonly': False, 'type': 'calendar', }, 'my calendar': { 'color': 'red', 'path': '/cal1/public', 'readonly': False, 'type': 'calendar', }, 'my private calendar': { 'color': '#FF00FF', 'path': '/cal1/private', 'readonly': False, 'type': 'calendar', }, 'public': { 'color': None, 'path': '/cal2/public', 'readonly': False, 'type': 'calendar', }, 'public1': { 'color': None, 'path': '/dir/cal3/public', 'readonly': False, 'type': 'calendar', }, 'work': { 'color': None, 'path': '/dir/cal3/work', 'readonly': False, 'type': 'calendar', }, }, 'default': {'default_calendar': None}, 'locale': {'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin'}, 'sqlite': {'path': '/tmp'}, }
def test_default_calendar_readonly(self, tmpdir): config = """ [calendars] [[home]] path = ~/.khal/calendars/home/ color = dark blue readonly = True [default] default_calendar = home """ conf_path = str(tmpdir.join('old.conf')) with open(conf_path, 'w+') as conf: conf.write(config) with pytest.raises(InvalidSettingsError): config_checks(get_config(conf_path))
def test_config_checks(metavdirs): path = metavdirs config = { 'calendars': { 'default': { 'path': path + '/cal[1-3]/*', 'type': 'discover' }, 'calendars_color': { 'path': path + '/cal4/*', 'type': 'discover', 'color': 'dark blue' }, }, 'sqlite': { 'path': '/tmp' }, 'locale': { 'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin' }, 'default': { 'default_calendar': None }, } config_checks(config) # cut off the part of the path that changes on each run for cal in config['calendars']: config['calendars'][cal]['path'] = config['calendars'][cal]['path'][ len(metavdirs):] assert config == { 'calendars': { 'home': { 'color': None, 'path': '/cal3/home', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'my calendar': { 'color': 'dark blue', 'path': '/cal1/public', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'my private calendar': { 'color': '#FF00FF', 'path': '/cal1/private', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'public': { 'color': None, 'path': '/cal2/public', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'public1': { 'color': None, 'path': '/cal3/public', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'work': { 'color': None, 'path': '/cal3/work', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'cfgcolor': { 'color': 'dark blue', 'path': '/cal4/cfgcolor', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'dircolor': { 'color': 'dark blue', 'path': '/cal4/dircolor', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'cfgcolor_again': { 'color': 'dark blue', 'path': '/cal4/cfgcolor_again', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'cfgcolor_once_more': { 'color': 'dark blue', 'path': '/cal4/cfgcolor_once_more', 'readonly': False, 'type': 'calendar', 'priority': 10, }, }, 'default': { 'default_calendar': None }, 'locale': { 'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin' }, 'sqlite': { 'path': '/tmp' }, }
def test_config_checks(metavdirs): path = metavdirs config = { 'calendars': { 'default': {'path': path + '/cal[1-3]/*', 'type': 'discover'}, 'calendars_color': {'path': path + '/cal4/*', 'type': 'discover', 'color': 'dark blue'}, }, 'sqlite': {'path': '/tmp'}, 'locale': {'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin'}, 'default': {'default_calendar': None}, } config_checks(config) # cut off the part of the path that changes on each run for cal in config['calendars']: config['calendars'][cal]['path'] = config['calendars'][cal]['path'][len(metavdirs):] assert config == { 'calendars': { 'home': { 'color': None, 'path': '/cal3/home', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'my calendar': { 'color': 'dark blue', 'path': '/cal1/public', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'my private calendar': { 'color': '#FF00FF', 'path': '/cal1/private', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'public': { 'color': None, 'path': '/cal2/public', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'public1': { 'color': None, 'path': '/cal3/public', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'work': { 'color': None, 'path': '/cal3/work', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'cfgcolor': { 'color': 'dark blue', 'path': '/cal4/cfgcolor', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'dircolor': { 'color': 'dark blue', 'path': '/cal4/dircolor', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'cfgcolor_again': { 'color': 'dark blue', 'path': '/cal4/cfgcolor_again', 'readonly': False, 'type': 'calendar', 'priority': 10, }, 'cfgcolor_once_more': { 'color': 'dark blue', 'path': '/cal4/cfgcolor_once_more', 'readonly': False, 'type': 'calendar', 'priority': 10, }, }, 'default': {'default_calendar': None}, 'locale': {'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin'}, 'sqlite': {'path': '/tmp'}, }
def test_config_checks(metavdirs): path = metavdirs config = { 'calendars': { 'default': { 'path': path + '/cal[1-3]/*', 'type': 'discover' }, 'discover_with_cfgcolor': { 'path': path + '/cal4/cfgcolor', 'type': 'discover', 'color': 'dark blue' }, 'discover_with_dircolor': { 'path': path + '/cal4/dircolor', 'type': 'discover', 'color': 'dark blue' }, }, 'sqlite': { 'path': '/tmp' }, 'locale': { 'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin' }, 'default': { 'default_calendar': None }, } config_checks(config) for cal in [ 'home', 'my calendar', 'my private calendar', 'work', 'public1', 'public', 'cfgcolor', 'dircolor' ]: config['calendars'][cal]['path'] = config['calendars'][cal]['path'][ len(metavdirs):] assert config == { 'calendars': { 'home': { 'color': None, 'path': '/cal3/home', 'readonly': False, 'type': 'calendar', }, 'my calendar': { 'color': 'red', 'path': '/cal1/public', 'readonly': False, 'type': 'calendar', }, 'my private calendar': { 'color': '#FF00FF', 'path': '/cal1/private', 'readonly': False, 'type': 'calendar', }, 'public': { 'color': None, 'path': '/cal2/public', 'readonly': False, 'type': 'calendar', }, 'public1': { 'color': None, 'path': '/cal3/public', 'readonly': False, 'type': 'calendar', }, 'work': { 'color': None, 'path': '/cal3/work', 'readonly': False, 'type': 'calendar', }, 'cfgcolor': { 'color': 'dark blue', 'path': '/cal4/cfgcolor', 'readonly': False, 'type': 'calendar', }, 'dircolor': { 'color': 'red', 'path': '/cal4/dircolor', 'readonly': False, 'type': 'calendar', } }, 'default': { 'default_calendar': None }, 'locale': { 'default_timezone': 'Europe/Berlin', 'local_timezone': 'Europe/Berlin' }, 'sqlite': { 'path': '/tmp' }, }