Exemple #1
0
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'},
    }
Exemple #2
0
    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))
Exemple #3
0
    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))
Exemple #4
0
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'
        },
    }
Exemple #5
0
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'},
    }
Exemple #6
0
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'
        },
    }