summaryrefslogtreecommitdiff
path: root/tests/settings/manager_test.py
blob: 937c24d78da8bf17f2c688aec0b086defe546243 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Copyright (C) 2017  Lucas Hoffmann
# This file is released under the GNU GPL, version 3 or a later revision.
# For further details see the COPYING file

"""Test suite for alot.settings.manager module."""

from __future__ import absolute_import

import unittest

from alot.settings.manager import SettingsManager
from alot.settings.errors import ConfigError


class TestSettingsManager(unittest.TestCase):

    def test_reading_synchronize_flags_from_notmuch_config(self):
        config = [
            '[maildir]',
            'synchronize_flags = true',
        ]
        manager = SettingsManager()
        manager.read_notmuch_config(config)
        actual = manager.get_notmuch_setting('maildir', 'synchronize_flags')
        self.assertTrue(actual)

    def test_parsing_notmuch_config_with_non_bool_synchronize_flag_fails(self):
        config = [
            '[maildir]',
            'synchronize_flags = not bool'
        ]
        manager = SettingsManager()
        with self.assertRaises(ConfigError):
            manager.read_notmuch_config(config)