def test_config_handles_malformed_yaml(self, mock_stdin, mock_stderr): mock_stdin.read.side_effect = ['-\nmalformed yaml', ''] mock_stdin.name = 'oops' with self.assertRaises(SystemExit) as e: leadbutt.get_config('-') self.assertEqual(e.exception.code, 1) self.assertTrue(mock_stderr.write.called)
def test_config_handles_missing_file(self, mock_stderr): with self.assertRaises(SystemExit) as e: leadbutt.get_config('whatever_the_default_config_is') self.assertEqual(e.exception.code, 2) self.assertTrue(mock_stderr.write.called)
def test_config_can_be_stdin(self, mock_stdin): # simulate reading stdin mock_stdin.read.side_effect = ['test: "123"\n', ''] # mock_stdin.name = 'oops' config = leadbutt.get_config('-') self.assertIn('test', config)
def test_example_config_loads(self): config = leadbutt.get_config('config.yaml.example') self.assertIn('Metrics', config)