def test_empty_on_missing(self): class FNFE_raiser(): def __call__(self, *args): raise FileNotFoundError() with patch('builtins.open', new_callable=FNFE_raiser, create=True): result = get_configuration_set() self.assertEqual(result, dict())
def test_comments_ignored(self): DATA = """ # comment FOO=bar # indented comment BAZ=Biz """ with patch('builtins.open', mock_open(read_data=DATA)): result = get_configuration_set() self.assertEqual(result, {'foo': 'bar', 'baz': 'Biz'})
def test_inline_comments_is_val(self): DATA = 'FOO=bar # inline comment' with patch('builtins.open', mock_open(read_data=DATA)): result = get_configuration_set() self.assertEqual(result, {'foo': 'bar # inline comment'})
def test_correct_values(self): with patch('builtins.open', mock_open(read_data='FOO=bar\nBAZ=Biz')): result = get_configuration_set() self.assertEqual(result, {'foo': 'bar', 'baz': 'Biz'})
def test_empty_on_empty_file(self): with patch('builtins.open', mock_open(read_data='')): self.assertEqual(get_configuration_set(), dict())
def test_lowercase_key_raises(self): DATA = 'foo=bar' with patch('builtins.open', mock_open(read_data=DATA)): expected_msg = 'foo is not a valid configuration key' with self.assertRaisesRegex(ValueError, expected_msg): get_configuration_set()