def test_load_nothing(self): self.assertEqual({}, config._load([], [], []))
def test_load_missing_file(self): file0 = path_to_data_dir('file0.conf') result = config._load([file0], [], []) self.assertEqual({}, result)
def test_load_nonreadable_file(self, access_mock): access_mock.return_value = False file1 = path_to_data_dir('file1.conf') result = config._load([file1], [], []) self.assertEqual({}, result)
def test_load_files(self): file1 = path_to_data_dir('file1.conf') file2 = path_to_data_dir('file2.conf') expected = {'foo': {'bar': 'baz'}, 'foo2': {'bar': 'baz'}} result = config._load([file1, file2], [], []) self.assertEqual(expected, result)
def test_load_file_with_utf8(self): expected = {'foo': {'bar': 'æøå'.encode('utf-8')}} result = config._load([path_to_data_dir('file3.conf')], [], []) self.assertEqual(expected, result)
def test_load_defaults(self): default1 = b'[foo]\nbar = baz' default2 = b'[foo2]\n' expected = {'foo': {'bar': 'baz'}, 'foo2': {}} result = config._load([], [default1, default2], []) self.assertEqual(expected, result)
def test_load_overrides(self): override1 = ('foo', 'bar', 'baz') override2 = ('foo2', 'bar', 'baz') expected = {'foo': {'bar': 'baz'}, 'foo2': {'bar': 'baz'}} result = config._load([], [], [override1, override2]) self.assertEqual(expected, result)
def test_load_single_file(self): file1 = path_to_data_dir('file1.conf') expected = {'foo': {'bar': 'baz'}} result = config._load([file1], [], []) self.assertEqual(expected, result)
def test_load_single_override(self): override = ('foo', 'bar', 'baz') expected = {'foo': {'bar': 'baz'}} result = config._load([], [], [override]) self.assertEqual(expected, result)
def test_unicode_default(self): default = '[foo]\nbar = æøå' expected = {'foo': {'bar': 'æøå'.encode('utf-8')}} result = config._load([], [default], []) self.assertEqual(expected, result)
def test_load_single_default(self): default = b'[foo]\nbar = baz' expected = {'foo': {'bar': 'baz'}} result = config._load([], [default], []) self.assertEqual(expected, result)
def test_load_directory_only_conf_files(self): directory = path_to_data_dir('conf2.d') expected = {'foo': {'bar': 'baz'}} result = config._load([directory], [], []) self.assertEqual(expected, result)
def test_load_file_with_error(self): expected = {'foo': {'bar': 'baz'}} result = config._load([path_to_data_dir('file4.conf')], [], []) self.assertEqual(expected, result)