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()