From 8ceb87c911fbfa010e4a9bf1ad098f4b632724d1 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 16 Aug 2017 11:05:06 -0700 Subject: tests/settings/manager: Add tests for Null config files Which fail, per #1094 --- tests/settings/manager_test.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'tests/settings') diff --git a/tests/settings/manager_test.py b/tests/settings/manager_test.py index 3201ad41..04f35504 100644 --- a/tests/settings/manager_test.py +++ b/tests/settings/manager_test.py @@ -63,6 +63,39 @@ class TestSettingsManager(unittest.TestCase): actual = manager.get_notmuch_setting('maildir', 'synchronize_flags') self.assertTrue(actual) + @unittest.expectedFailure + def test_read_config_doesnt_exist(self): + """If there is not an alot config things don't break. + + This specifically tests for issue #1094, which is caused by the + defaults not being loaded if there isn't an alot config files, and thus + calls like `get_theming_attribute` fail with strange exceptions. + """ + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(textwrap.dedent("""\ + [maildir] + synchronize_flags = true + """)) + self.addCleanup(os.unlink, f.name) + manager = SettingsManager(notmuch_rc=f.name) + + manager.get_theming_attribute('global', 'body') + + @unittest.expectedFailure + def test_read_notmuch_config_doesnt_exist(self): + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(textwrap.dedent("""\ + [accounts] + [[default]] + realname = That Guy + address = thatguy@example.com + """)) + self.addCleanup(os.unlink, f.name) + manager = SettingsManager(alot_rc=f.name) + + setting = manager.get_notmuch_setting('foo', 'bar') + self.assertIsNone(setting) + class TestSettingsManagerGetAccountByAddress(utilities.TestCaseClassCleanup): """Test the get_account_by_address helper.""" -- cgit v1.2.3